圆需要LSP
嗨,LSP大师,我需要你的帮助。我想创建一系列圆,但这个圆的直径大小不同,每个圆的距离为___(用户输入)。圆的起点是_uu(用户输入),坐标为(x,y,z)用户输入。有了这个lsp,我可以创建多个电气沟槽布局的dwg。希望你能帮忙。提前谢谢。 举个例子? 例如
我需要20圈,所以
第一个圆的起点位于坐标(x,y,z)100,50,0(用户输入)。中心点。
第一个圆直径为150(用户输入)
第二个圆直径为100(用户输入),第一个圆心到圆心的距离为725(用户输入)
第三个圆直径为75(用户输入),第二个圆中心到中心的距离为287.50(用户输入)
等等
所有这些圆都是水平排列的。
谢谢Tharwat的快速回复。。。 像这样的?
(defun c:test (/ _c num cnt dia dis)
(defun _c (c d)
(entmake (list '(0 . "CIRCLE") (cons 10 (trans c 1 0)) (cons 40 (/ d 2.))))
)
(if (and (setq num (getint "\nNumber of Circles :"))
(setq cnt (getpoint "\nSpecify the Base point :"))
(setq dia (getdist "\nSpecify Diameter of circle :"))
(_c cnt dia)
)
(repeat (1- num)
(if (and (setq dia (getdist "\nSpecify Diameter of Next circle :"))
(setq dis (getdist "\nSpecify Distance from base point :"))
)
(_c (setq cnt (polar cnt 0. dis)) dia)
)
)
)
(princ)
)
几乎是塔瓦爵士,这是一个无限的圆圈
圆圈的数量取决于用户输入。例如,我希望最多5个圆,然后该过程将在第五个圆结束
圆之间的距离是基于之前的圆心。 好的,上面修改的代码,试试,让我知道 是的是的谢谢你Tharwat先生这就是我要找的
不客气。 我添加了“IF”函数以避免可能发生的任何错误,因此只需考虑新代码。
页:
[1]