chpmould 发表于 2011-6-18 13:16 http://bbs.mjtd.com/static/image/common/back.gif
Andyhon的方法就是你需要的按交点插入块,你可以直接就这样用
就这方法,再找个交点集的子函数就ok了!
七七0707的交点集
http://bbs.mjtd.com/forum.php?mod=redirect&goto=findpost&ptid=87639&pid=469538&fromuid=38464
;;选择集求交点子程序
(defun interss (ss / n1 ssl aobj1 aobj2 n2 ipts pts)
(setq n10
ssl (sslength ss)
)
(while (< n1 (1- ssl))
(setq aobj1 (ssname ss n1)
aobj1 (vlax-ename->vla-object aobj1)
n2 (1+ n1)
)
(while (< n2 ssl)
(setq aobj2 (ssname ss n2)
aobj2 (vlax-ename->vla-object aobj2)
ipts(vla-intersectwith
aobj1
aobj2
0
)
ipts(vlax-variant-value ipts)
)
(if (> (vlax-safearray-get-u-bound ipts 1) 0) ;是否有交点
(progn
(setq ipts
(vlax-safearray->list ipts)
)
(while (> (length ipts) 0)
(setq pts (cons (list (car ipts)
(cadr ipts)
(caddr ipts)
)
pts
) ;此处可以在添加时判断是否有重合点
)
(setq ipts (cdddr ipts))
)
)
)
(setq n2 (1+ n2))
)
(setq n1 (1+ n1))
)
pts
)
【KAIXIN】 发表于 2011-12-15 15:37 static/image/common/back.gif
有时候会出错,块的插入点已经是圆心了,但最后生成的插入点会偏移交点位置,有些地方根本就无法生成,个人觉得可能是与ucs有关 asd19400 发表于 2013-4-3 22:19 static/image/common/back.gif
有时候会出错,块的插入点已经是圆心了,但最后生成的插入点会偏移交点位置,有些地方根本就无法生成,个 ...
把交点捕捉给关掉 (setvar "osmode" 0) 呵呵 学习了 谢谢zyhandw已经收藏了 谢谢楼主分享 谢谢分享,很牛X
页:
1
[2]