gcho 发表于 2012-3-29 22:50:11

1如何按图层统计交点个数

本帖最后由 gcho 于 2012-3-31 19:30 编辑

如截图所描述,能到到按图层直线来统计交点个数吗?

gcho 发表于 2012-3-31 19:31:00

大家帮帮忙或者提供个好的思路,感激不尽!

flytoday 发表于 2012-4-3 13:57:05

应该统计某个层的线与某个层图元交点个数更好

【KAIXIN】 发表于 2012-4-17 19:28:19

;;交点列表
(defun yad_inters(ss / n n1 obj1 n2 obj2 ipt l_pt)
(setq      n (sslength ss)
      n1 0
)
(while (< n1 (1- n))
    (setq obj1 (vlax-ename->vla-object (ssname ss n1))
          n2 (1+ n1)
    )
    (while (< n2 n)
      (setq obj2 (vlax-ename->vla-object (ssname ss n2))
            ipt(vlax-variant-value (vla-intersectwith obj1 obj2 0))
      )
      (if (> (vlax-safearray-get-u-bound ipt 1) 0)
      (progn
          (setq ipt (vlax-safearray->list ipt))
          (while (> (length ipt) 0)
            (setq l_pt (cons (list (car ipt) (cadr ipt) (caddr ipt)) l_pt) ipt (cdddr ipt))
          )
      )
      )
      (setq n2 (1+ n2))
    )
    (setq n1 (1+ n1))
)
l_pt
)

【KAIXIN】 发表于 2012-4-17 19:29:00

;计算曲线交点功能:返回两个对象的所有交点
;(KX-get-e1e2jiao en1 en2)参数: ent1、ent2 均为ename对象
(defun KX-get-jiaodian (en1 en2 / pl pts)
(setq pl(vlax-invoke (vlax-ename->vla-object en2) 'IntersectWith (vlax-ename->vla-object en1) acExtendNone))
(while pl
    (setq pts (append pts (list (list (car pl) (cadr pl) (caddr pl))))
   pl (cdr (cdr (cdr pl)))
   )
    )
pts
)

qq229918602 发表于 2012-5-10 22:51:47

【KAIXIN】 发表于 2012-4-17 19:28 static/image/common/back.gif


交点坐标集请问是不是1_pt???
页: [1]
查看完整版本: 1如何按图层统计交点个数