cxs259 发表于 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)
;;返回选集
)                                                   

cxs259 发表于 2013-7-1 16:08:11

(Princ points)
   (princ (strcat "\n共有交点" (itoa (highlight points)) "个"))
   (princ)
)
新增上述,还是无反应,请教是什么原因?待解答

zhb236623 发表于 2013-7-1 23:09:25

还是用ARCGIS做,比较简单。

cxs259 发表于 2013-7-1 23:34:00

请详细些好吗?

清风明月名字 发表于 2013-7-2 08:03:06

谢谢分享,学习一下

大大的熊熊猫猫 发表于 2015-6-4 11:45:50

可以添加图吗?看起来更方便

此昵称没人关注 发表于 2015-11-24 21:29:41

又一个好程序~感谢楼主分享!正是我需要的功能~
页: [1]
查看完整版本: 求助完善下列程序,批量打断交点后,能否把亮显交点的数量一起统计出来,谢谢!