Cheezee 发表于 2022-7-5 18:54:35

圆需要LSP

嗨,LSP大师,我需要你的帮助。我想创建一系列圆,但这个圆的直径大小不同,每个圆的距离为___(用户输入)。圆的起点是_uu(用户输入),坐标为(x,y,z)用户输入。有了这个lsp,我可以创建多个电气沟槽布局的dwg。希望你能帮忙。
 
 
提前谢谢。

Tharwat 发表于 2022-7-5 19:06:20

举个例子?

Cheezee 发表于 2022-7-5 19:14:42

例如
我需要20圈,所以
第一个圆的起点位于坐标(x,y,z)100,50,0(用户输入)。中心点。
第一个圆直径为150(用户输入)
第二个圆直径为100(用户输入),第一个圆心到圆心的距离为725(用户输入)
第三个圆直径为75(用户输入),第二个圆中心到中心的距离为287.50(用户输入)
等等
所有这些圆都是水平排列的。
 
 
谢谢Tharwat的快速回复。。。

Tharwat 发表于 2022-7-5 19:18:26

像这样的?
 

(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)
)

Cheezee 发表于 2022-7-5 19:28:07

几乎是塔瓦爵士,这是一个无限的圆圈
 
 
圆圈的数量取决于用户输入。例如,我希望最多5个圆,然后该过程将在第五个圆结束
圆之间的距离是基于之前的圆心。

Tharwat 发表于 2022-7-5 19:36:19

好的,上面修改的代码,试试,让我知道

Cheezee 发表于 2022-7-5 19:41:47

是的是的谢谢你Tharwat先生这就是我要找的

Tharwat 发表于 2022-7-5 19:49:22

 
不客气。

Tharwat 发表于 2022-7-5 19:55:23

我添加了“IF”函数以避免可能发生的任何错误,因此只需考虑新代码。
页: [1]
查看完整版本: 圆需要LSP