展开全部
(defun C:tes ( / &dis1 &dis2 &dis3 &p1 &p2 &p3 &p4 &p5 &p6 &p7 &p8 &ss1 tc1 tc2 x)
(if (and (setq tc1 (entsel "\n请选择中心线参考图层"))
(setq tc2 (entsel "\n请选择圆的参考图层"))
(setq &p1 (getpoint "\n请输入第一点"))
(> (setq &dis1 (getdist &p1 "\n请输入长度")) 4)
(> (setq &dis2 (getdist &p1 "\n请输入高度")) 4)
(> (setq &dis3 (getdist &p1 "\n请输入圆半径")) 0)
)
(progn
(setq &ss1 '() tc1 (assoc 8 (entget (car tc1))) tc2 (assoc 8 (entget (car tc2))))
(setq &p2 (polar &p1 0 2) &ss1 (cons &p2 &ss1) &p2 (polar &p2 0 (- &dis1 4)) &ss1 (cons &p2 &ss1)
&p2 (polar &p2 (* pi 0.25) (* 2 (expt 2 0.5))) &ss1 (cons &p2 &ss1)
&p2 (polar &p2 (* pi 0.5) (- &dis2 4)) &s