明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1386|回复: 4

[讨论] 求助,完善下列交点统计程序中,谢谢!

[复制链接]
发表于 2013-5-22 23:04:26 | 显示全部楼层 |阅读模式
求助,下列交点统计程序中,能否再完善,未相交点的一起统计出来并在端部用圆圈标示出来,谢谢!详见附图
(defun C:tt();;求框選交點
  (setq ss(ssget '((0 . "line"))))
  (setq ptlist '() )
  (setq i 0)
  (repeat(sslength ss)
    (setq en(ssname ss i))
    (setq j 0)
    (setq p10(cdr(assoc 10 (entget en))))
    (setq p11(cdr(assoc 11 (entget en))))
    (setq ss_2(ssget "F"  (list p10 p11)))
    (setq ss_2(ssdel en ss_2))
    (repeat (sslength ss_2)
      (setq en_x(ssname ss_2 j))
      (if(ssmemb en_x ss)
(progn
  (setq pa(cdr(assoc 10 (entget en_x))))
  (setq pb(cdr(assoc 11 (entget en_x))))
  (setq p0(inters p10 p11 pa pb))
  (setq pt(osnap p0 "int"))
  (if(= (member pt ptlist) nil)
    (setq ptlist(cons pt ptlist))
  );if
);p
      );if
      (setq j(+ j 1))
    );r
    (setq i(+ i 1))
  );r
  ;(foreach pt ptlist(command"circle" pt 10))
  (alert(strcat "交點共" (itoa (length ptlist)) "個"))
(prin1)
)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-5-23 00:55:48 | 显示全部楼层
建议贴个图。详细说明下!
这样别人也可直观的看到。
人都是懒惰的,要是下了你的图才发现帮不到!多浪费时间!

建议而已
 楼主| 发表于 2013-5-23 10:39:40 | 显示全部楼层
wowan1314 发表于 2013-5-23 00:55
建议贴个图。详细说明下!
这样别人也可直观的看到。
人都是懒惰的,要是下了你的图才发现帮不到!多浪费 ...

接受建议,贴个图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-5-24 15:36:00 | 显示全部楼层

(IF (= B "LINE")
          (PROGN
          (SETQ PTA (CDR (ASSOC 10 (ENTGET A))) PTB (CDR (ASSOC 11 (ENTGET A))))
          (IF (equal (CAR PTA) (CAR PTB) 0.001);x坐标相等
              (SETQ VL (CONS (LIST PTA PTB) VL));点坐标放入垂直表VL中
              (SETQ HL (CONS (LIST PTA PTB) HL));点坐标放入水平表VH中
          )
      ))
      (SETQ I (1+ I))
    )
    ;--------------- 求水平线与垂直线的交点 --------------
    (SETQ N_L 0)
    (REPEAT (LENGTH HL)
       (SETQ PPL (NTH N_L HL))
       (SETQ P1 (CAR PPL) P2 (CADR PPL))
       (SETQ N_V 0)
       (REPEAT (LENGTH VL)
           (SETQ PPL (NTH N_V VL))
           (SETQ P3 (CAR PPL) P4 (CADR PPL))
           (IF (AND (NOT (EQUAL P1 P3)) (NOT (EQUAL P1 P4))
                    (NOT (EQUAL P2 P3)) (NOT (EQUAL P2 P4))
                    (SETQ PJD (INTERS P1 P2 P3 P4)))
               (SETQ JDB (CONS PJD JDB))
           )
           (SETQ N_V (1+ N_V))
       )
       (SETQ N_L (1+ N_L))
    )

发表于 2020-3-7 11:26:26 | 显示全部楼层
下来试一试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 10:56 , Processed in 0.212460 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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