soly2006 发表于 2013-5-25 15:00:27

怎么判断两多段线相交?接触不算,叠合不算,并标出相交处。

本帖最后由 soly2006 于 2013-6-7 13:20 编辑


如图,1、2种是真正的相交,3、4只是搭在一起,怎么能够判断出多段线如1、2 类似相交?
并在相交处标出位置?
vla-intersectwith连3、4种情况也包括在内,怎么剔除掉?

soly2006 发表于 2013-5-26 15:36:50

本帖最后由 soly2006 于 2013-8-26 20:41 编辑

高人指点一下啊,帮顶顶也不会怀孕。

xujinhua 发表于 2014-1-22 11:56:37

我帮顶..我也想找

xujinhua 发表于 2014-1-23 07:55:01

不会....找了好久也找不到... 倒是可以转到ArcGis里面做拓扑

llsheng_73 发表于 2014-1-31 20:49:03

第一和第二两种情况应该都可以通过是否有节点在另一多线段内进行判断

xyp1964 发表于 2014-2-1 19:51:38

本帖最后由 xyp1964 于 2014-2-2 10:40 编辑

;; 怎么判断两多段线相交?接触不算,叠合不算,并标出相交处。http://bbs.mjtd.com/thread-101614-1-1.html;; 需要e派工具箱(XCAD)的支持:http://yunpan.cn/QXQKsW9gAPmpF 2014-02-01
(defun c:test1500 ()
(setq s1 (car (entsel "\n选择曲线1: "))
        s2 (car (entsel "\n选择曲线2: "))
)
(if (setq ptn (xyp-get-Inters s1 s2 0)
          ptn (mapcar '(lambda (x) (xyp-3d2d x)) ptn)
      )
    (progn
      (setq ptn1 (xyp-get-Vertexs s1 0)
          ptn2 (xyp-get-Vertexs s2 0)
          mode t
      )
      (foreach pt ptn
        (if (or (member pt ptn1) (member pt ptn2))
          (setq mode nil)
        )
      )
      (if mode
        (mapcar '(lambda (x) (xyp-circle x 100)) ptn)
        (progn
          (alert "不相交")
          (if (> (length ptn) 1)
          (xyp-Pline ptn nil)
          )
        )
      )
    )
    (alert "不相交")
)
(princ)
)

荒野孤行 发表于 2014-2-2 10:01:42

我写过判断曲线是否相交的,但是标识出相交点的没写,你可以修改下。

我来看MM的 发表于 2014-2-5 22:34:23

xyp1964 发表于 2014-2-1 19:51


实现原理是什么?能说说看,让小弟学习下。

soly2006 发表于 2014-2-9 10:39:32

本帖最后由 soly2006 于 2014-2-9 11:17 编辑

xyp1964 发表于 2014-2-1 19:51 static/image/common/back.gif

如果交点在两线的各自节点处,能出来么?

soly2006 发表于 2014-2-9 10:40:25

xyp1964 发表于 2014-2-1 19:51 static/image/common/back.gif


院长厉害,不过看不懂啊,怎么搞的?
页: [1] 2 3
查看完整版本: 怎么判断两多段线相交?接触不算,叠合不算,并标出相交处。