viviancarvalho 发表于 2022-7-5 17:34:37

绘制支管的Lisp

给Cadtutor上所有的暖通空调人员
 
有人用lisp绘制支管吗。
 
 
提前感谢
维维安

fixo 发表于 2022-7-5 17:41:35

试试这个

(defun C:BDUCT (/ ang1 ang2 ent1 ent2 ent3 ep1 ep3 ipt1 ipt2 ipt21
   mp1 mp3 obj1 obj2 obj3 pt1 pt2 pt3 sp1 sp3)
(setq ent1 (entsel "\nSelect first line >>")
   ent2 (entsel "\nSelect second line >>")
   ent3 (entsel "\nSelect third line >>")
   obj1 (vlax-ename->vla-object (car ent1))
   obj2 (vlax-ename->vla-object (car ent2))
   obj3 (vlax-ename->vla-object (car ent3))
   )
(setq sp1(vlax-curve-getstartpoint obj1)
   ep1(vlax-curve-getendpoint obj1)
   mp1(mapcar (function (lambda (a b) (/ (+ a b) 2))) sp1 ep1)
   sp3(vlax-curve-getstartpoint obj3)
   ep3(vlax-curve-getendpoint obj3)
   mp3(mapcar (function (lambda (a b) (/ (+ a b) 2))) sp3 ep3)
   ipt1 (vlax-invoke obj1 'intersectwith obj3 0)
   ipt2 (vlax-invoke obj2 'intersectwith obj3 0)
   ang1 (angle ipt1 mp1)
   ang2 (angle ipt2 ipt1)
   pt1(polar ipt1 ang1 100)
   pt2(polar ipt2 ang1 100)
   pt3(polar ipt1 ang2 100)
   )
    (command "_.break" ent1 "f" "_non" pt1 "_non" ipt1)
    (command "line" "_non" pt1 "_non" pt2 "")
    (command "line" "_non" pt1 "_non" pt3 "")
(princ)
)

 
~'J'~

viviancarvalho 发表于 2022-7-5 17:44:30

谢谢Fixo
它工作得很好。

fixo 发表于 2022-7-5 17:46:49

如果这有帮助的话,我很高兴
干杯
 
~'J'~

stevesfr 发表于 2022-7-5 17:50:09

 
 
不适合我。。。
使用vanilla acad2008
你的设置、单位、比例等是什么。
“圆角”过大
谢谢
s

viviancarvalho 发表于 2022-7-5 17:53:44

 
史蒂夫
很抱歉回复太晚。
我正在使用AutoCad 2010。公制(mm)单位
它对我来说很好,但对我正在使用2008的同事不起作用。
你也喜欢暖通空调吗??

stevesfr 发表于 2022-7-5 17:58:32

 
我对暖通空调不感兴趣,我想如果我能理解并让它发挥作用,我会把它传给我的一些在几张桌子上用lisp挑战暖通空调的同事。我使用的是ac2008,我想这就是它“倾斜”的原因。
问候,S

Lee Mac 发表于 2022-7-5 18:04:33

也许这会有所帮助?

Lee Mac 发表于 2022-7-5 18:08:03

还是这个?还是这个?

fixo 发表于 2022-7-5 18:09:08

 
我在A2008(eng)上仅用公制测试了它-
我的机器运行良好,仅供参考
 
~'J'~
页: [1] 2
查看完整版本: 绘制支管的Lisp