明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3385|回复: 6

[讨论] 求助完善下列程序,批量打断交点后,能否把亮显交点的数量一起统计出来,谢谢!

[复制链接]
发表于 2013-7-1 11:22:22 | 显示全部楼层 |阅读模式
求助完善下列程序,批量打断交点后,能否把亮显交点的数量一起统计出来,谢谢!
;;;批量打断交点
(defun c:tt(/ i j en iss)
  (setq cmd (getvar 'cmdecho))
  (setvar 'cmdecho 0)
  (while (setq ss (ssget ":S"))
    (setq pts nil)
    ;(setq t0 (vtime))
    (command "undo" "g")
    (ss->lst ss)
    ;;先将选择集转表
    (setq sslst1 (reverse (cdr (reverse sslst)))
   sslst2 (cdr sslst)
    )
    (interss sslst1 sslst2)
    ;;再求交点
    (foreach n pts
      (if
(setq iss (ssget "c"
    (mapcar '+ n '(1e-13 1e-13 0))
    (mapcar '- n '(1e-13 1e-13 0))
    )
)
  (progn
    (setq j 0)
    (repeat (sslength iss)
      (setq en (ssname iss j))
      (command "break" en n "@")
      ;;打断
      (setq j (1+ j))
    )
  )
      )
    )
     
   
     
     
  )  
  (setvar 'cmdecho cmd)(princ)
)
;;;;选择集转表   
(defun ss->lst (ss / e i)
  (setq i 0 sslst '())
  (while (setq e (ssname ss i))
    (setq sslst (cons (vlax-ename->vla-object e) sslst))
    (setq i (1+ i))
  )
  sslst
)
;;所有的交点表
(defun interss (s1 s2 / newpts ipts)
  (foreach x sslst1
    (foreach y sslst2
      (setq ipts (vla-intersectwith x y 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 newpts (list (car ipts)
          (cadr ipts)
          (caddr ipts)
    )
     )
     (if (not (member newpts pts))
       (setq pts (cons newpts pts))
     )
     (setq ipts (cdddr ipts))
   )
)
      )
    )
  )
  pts
)
;;;;;;获得ssget的点坐标
(defun ss->po (ss)
  (setq plpr (last (ssnamex ss 0)))
  ;;获得ssget选择集的一个信息表。
  (setq p1 (last (cadr plpr))
p3 (last (cadddr plpr))
  )
  ;;提取刚才的窗选对角坐标。
  (setq p1 (trans p1 0 1)
p3 (trans p3 0 1)
  )
  (ssget "w" p1 p3)
  ;;返回选集
)                                                     

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2013-7-1 16:08:11 | 显示全部楼层
(Princ points)
   (princ (strcat "\n共有交点" (itoa (highlight points)) "个"))
   (princ)
)
新增上述,还是无反应,请教是什么原因?待解答
发表于 2013-7-1 23:09:25 | 显示全部楼层
还是用ARCGIS做,比较简单。
 楼主| 发表于 2013-7-1 23:34:00 | 显示全部楼层
请详细些好吗?
发表于 2013-7-2 08:03:06 | 显示全部楼层
谢谢分享,学习一下
发表于 2015-6-4 11:45:50 | 显示全部楼层
可以添加图吗?看起来更方便
发表于 2015-11-24 21:29:41 | 显示全部楼层
又一个好程序~感谢楼主分享!正是我需要的功能~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-21 01:22 , Processed in 0.165518 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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