(defun c:TesT (/ p1 p2 pcs d ang b c pt1 pt2)
;; Tharwat 14. Oct. 2011 ;;
(if
(and
(setq p1 (getpoint "\n Specify start point of line :"))
(setq p2 (getpoint p1 "\n Specify end point of line :"))
(setq pcs (getint "\n Specify number of part :"))
)
(progn
(setq d (distance p1 p2))
(setq ang (angle p1 p2))
(setq b (* (/ (/ d pcs) 15.) 12.))
(setq c (* (/ (/ d pcs) 15.) 3.))
(setq pt1 (polar p1 ang b))
(setq pt2 (polar pt1 ang c))
(repeat pcs
(command "_.arc" "_non" p1 "_e" "_non" pt1 "_angle" 180.)
(command "_.arc" "_non" pt1 "_e" "_non" pt2 "_angle" -180.)
(setq p1pt2
pt1 (polar p1 ang b)
pt2 (polar pt1 ang c)
)
)
)
(princ)
)
(princ)
)
塔瓦特 我没有看到第二页的一个变化,我有5个在一个Lisp程序不同的风格大提示OP“绝缘打击” 塔尔瓦特,
谢谢你的帮助。
这是一个很大的帮助。我添加了元素来定义拱门之间的比例关系。
这是我想要的一个很好的解决方案,尽管我更喜欢根据每个元素的半径而不是零件的数量来定义控件。
但感谢所有帮助我的人。
(defun c:teste1 (/ p1 p2 pcs d ang b c pt1 pt2)
;; Tharwat 14. Oct. 2011 ;;
(setq s1 (getreal "\n size 1 :"))
(setq s2 (getreal "\n size 2 :"))
(if
(and
(setq p1 (getpoint "\n Specify start point of line :"))
(setq p2 (getpoint p1 "\n Specify end point of line :"))
(setq pcs (getint "\n Specify number of part :"))
)
(progn
(setq d (distance p1 p2))
(setq ang (angle p1 p2))
(setq b (* (/ (/ d pcs) 15.) s1))
(setq c (* (/ (/ d pcs) 15.) s2))
(setq pt1 (polar p1 ang b))
(setq pt2 (polar pt1 ang c))
(repeat pcs
(command "_.arc" "_non" p1 "_e" "_non" pt1 "_angle" 180.)
(command "_.arc" "_non" pt1 "_e" "_non" pt2 "_angle" -180.)
(setq p1pt2
pt1 (polar p1 ang b)
pt2 (polar pt1 ang c)
)
)
)
(princ)
)
(princ)
)
不客气,我真的很高兴你喜欢这个主意。
塔瓦特
页:
1
[2]