meflying 发表于 2003-6-11 14:00:00

应该没有问题的,看看你拷代码时有没有漏的或多的,

slljs 发表于 2003-6-11 17:01:00

确实不行,你能不能帮我调试一下。

meflying 发表于 2003-6-11 17:16:00

我没仔细看,不过调过了,可以用。不过要把那些变量设成局部变量就可以了。

龙龙仔 发表于 2003-6-12 08:08:00

设成局部变量,並去除重覆交點

;;求所有线的交点
(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
)

slljs 发表于 2003-6-12 11:13:00

谢谢你的鼓励。

yxh1202 发表于 2013-1-7 20:31:24

meflying 发表于 2003-6-11 17:16 static/image/common/back.gif


你好,看了你的文章。我遇到的问题是,需要找出图层A和图层B的交点坐标列表,请不吝赐教

yxh1202 发表于 2013-1-15 17:12:26

龙龙仔 发表于 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]
查看完整版本: [求助]在LISP中,怎样编程求所有线的交点,并且输出到一个文本文件中。