明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: slljs

[求助]在LISP中,怎样编程求所有线的交点,并且输出到一个文本文件中。

  [复制链接]
发表于 2003-6-11 14:00:00 | 显示全部楼层

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

 楼主| 发表于 2003-6-11 17:01:00 | 显示全部楼层

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

发表于 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")))
        M  0
  )
  (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
)

点评

输出的点集,存在哪个变量?还是需要构建个?  发表于 2019-6-19 11:33
 楼主| 发表于 2003-6-12 11:13:00 | 显示全部楼层

谢谢你的鼓励。

发表于 2013-1-7 20:31:24 | 显示全部楼层
meflying 发表于 2003-6-11 17:16

你好,看了你的文章。我遇到的问题是,需要找出图层A和图层B的交点坐标列表,请不吝赐教
发表于 2013-1-15 17:12:26 | 显示全部楼层
龙龙仔 发表于 2003-6-12 08:08
;;求所有线的交点
(defun C:TT (/ SS M E1 N E2 PTS PL PT1)
  (vl-load-com)

请问能设置精度吗,比如设置为小数点后3位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-1 23:47 , Processed in 0.178256 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表