自贡黄明儒 发表于 2024-9-24 09:27:15

624777395 发表于 2024-9-23 16:46
大佬,这个怎么实现的?

主要代码如下

统一网名 发表于 2024-9-24 16:46:59

moranyuyan 发表于 2024-9-24 07:02
经测试,不起作用。


[*](defun c:tt6 (/ a b dx ename jd n pt ss ss1 zx1 zx2)
[*](vl-load-com)
[*](setq dx (entsel "\n请选择圆角:")
[*]    pt (cadr dx)
[*]    ename (car dx)
[*])
[*](setq n (fix (vlax-curve-getparamatpoint ename(vlax-curve-getclosestpointto ename pt))))
[*](setq a (vlax-curve-getpointatparamename n))
[*](setq b (vlax-curve-getpointatparamename (1+ n)))
[*](command "_.copy" ename "" "0,0" "@")
[*](command "explode" (entlast))
[*](setq ss1 (ssget "p"))
[*](setq ss (ssget "c" a b '((0 . "LINe"))))
[*](setq zx1 (ssname ss 0))
[*](setq zx2 (ssname ss 1))
[*](setq jd(vlax-invoke (vlax-ename->vla-object zx2) 'IntersectWith (vlax-ename->vla-object zx1) acExtendBoth))
[*](command "line" a jd b "")
[*](command "ERASE" ss1 "")
[*](princ)
[*])

moranyuyan 发表于 2024-9-24 17:45:12

统一网名 发表于 2024-9-24 16:46
[*](defun c:tt6 (/ a b dx ename jd n pt ss ss1 zx1 zx2)
[*](vl-load-com)
[*](setq dx (ents ...

有效

xzd716 发表于 2024-9-24 21:19:03

在Autocad2021版上试用,12#程序对多段线有效,对普通线无效;最前面程序对对普通线有效,对多段线无效。能整合下就更好

统一网名 发表于 2024-9-25 16:02:44

xzd716 发表于 2024-9-24 21:19
在Autocad2021版上试用,12#程序对多段线有效,对普通线无效;最前面程序对对普通线有效,对多段线无效。能 ...

加一个对象类型判断,类型是 "ARC"就用第一个,类型是 "LWPOLYLINE" 就用后一个

624777395 发表于 2024-9-26 10:10:09

自贡黄明儒 发表于 2024-9-24 09:27
主要代码如下

大佬,插件可以发出来吗?不给源代码也可以的

自贡黄明儒 发表于 2024-9-26 13:13:51

624777395 发表于 2024-9-26 10:10
大佬,插件可以发出来吗?不给源代码也可以的

大部分源代码已经贴出来了,后面还有几句,自己补充上去。
页: 1 [2]
查看完整版本: 圆角倒直角