 - ;; 非源码
- (defun abc1 (p0 r1 d1 d2 / p01 p1 p11 pm pt1 pt1a pt2 pt2a s1 s2 s3 s4 s5 s6)
- ;; 4段圆弧
- ;; (abc1 (getpoint) 125 127 133)
- (setq p0 (xyp-Pt2X p0 (* d1 -0.5))
- s1 (xyp-CircleCr p0 r1)
- p1 (xyp-Pt2X p0 d1)
- s2 (xyp-CircleCr p1 r1)
- p01 (xyp-Pt2Y p0 r1)
- p11 (xyp-Pt2Y p1 r1)
- s3 (xyp-Line (xyp-Pt2Y p0 d2) (xyp-Pt2Y p1 d2))
- pm (xyp-CurveMidPoint s3)
- )
- (command "circle" "3p" "tan" p01 "tan" p11 "tan" pm)
- (setq s4 (entlast)
- pt1 (car (xyp-Inters s1 s4 0))
- pt2 (car (xyp-Inters s2 s4 0))
- s5 (xyp-Arc-3Pt pt1 pm pt2)
- )
- (xyp-Mirror s5 p0 p1 Nil)
- (setq s6 (entlast)
- pt1a (xyp-Pt2X p0 (- r1))
- pt2a (xyp-Pt2X p1 r1)
- s7 (xyp-Arc-3Pt pt1 pt1a (vlax-curve-getStartPoint s6))
- s8 (xyp-Arc-3Pt pt2 pt2a (vlax-curve-getEndPoint s6))
- )
- (command "erase" s1 s2 s3 s4 "")
- (princ)
- )
|