应该没有问题的,看看你拷代码时有没有漏的或多的,
确实不行,你能不能帮我调试一下。
我没仔细看,不过调过了,可以用。不过要把那些变量设成局部变量就可以了。
设成局部变量,並去除重覆交點
;;求所有线的交点(defun C:TT (/ SS M E1 N E2 PTS PL PT1)
(vl-load-com)
(setq SS (ssget '((0 . "*LINE,ARC,CIRCLE,ELLIPSE")))
M0
)
(while (< M (1- (sslength SS)))
(setq E1 (vlax-ename->vla-object (ssname SS M))
N(1+ M)
)
(while (< N (sslength SS))
(setq E2 (vlax-ename->vla-object (ssname SS N))
PTS (vlax-variant-value (vla-intersectwith E1 E2 0))
)
(if (> (vlax-safearray-get-u-bound PTS 1) 0)
(progn
(setq PTS (vlax-safearray->list PTS))
(while (> (length PTS) 0)
(setq PT1 (list (car PTS) (cadr PTS) (caddr PTS)))
(if (not (member PT1 PL))
(setq PL (cons PT1 PL))
(setq PTS (cdddr PTS))
)
)
)
)
(setq N (1+ N))
)
(setq M (1+ M))
)
PL
)
谢谢你的鼓励。
meflying 发表于 2003-6-11 17:16 static/image/common/back.gif你好,看了你的文章。我遇到的问题是,需要找出图层A和图层B的交点坐标列表,请不吝赐教 龙龙仔 发表于 2003-6-12 08:08 static/image/common/back.gif
;;求所有线的交点
(defun C:TT (/ SS M E1 N E2 PTS PL PT1)
(vl-load-com)
请问能设置精度吗,比如设置为小数点后3位
页:
1
[2]