hhaoma 发表于 2014-9-6 16:56:10

如何编写代码判断两点之间是否存在一条实体的直线相连接呢?

本帖最后由 hhaoma 于 2014-9-6 20:36 编辑

如何编写代码判断两点之间是否存在一条实体的直线相连接呢?谢谢大神们!

(if (> (sslength (ssget "W" p1 p2 '((0 . "LINE")))) 0)
(princ "有直线")
(princ "无直线")
)
用高手弄得公式检查如图两个点 一直显示 "有直线"",但是现实却是没有直线连接的 请教下如何解决呢?

duotu007 发表于 2014-9-6 17:40:15

思路:
1,(ssget "w" pt1 pt2 '((0 . "line")))
2,判断选择的直线 两端点,是否都在pt1 pt2对应的直线上,且没超过 pt1 pt2 范围。

ZZXXQQ 发表于 2014-9-6 18:47:28

(if (> (sslength (ssget "W" p1 p2 '((0 . "LINE")))) 0)
(princ "有直线")
(princ "无直线")
)

hhaoma 发表于 2014-9-6 20:35:45

ZZXXQQ 发表于 2014-9-6 18:47 static/image/common/back.gif
(if (> (sslength (ssget "W" p1 p2 '((0 . "LINE")))) 0)
(princ "有直线")
(princ "无直线")


大神,再过来帮我看看 我试了不行啊

雪山飞狐_lzh 发表于 2014-9-6 20:49:27

过滤器:
                  {0, "line"},
                  {-4, "<or"},
                  {-4, "<and"},
                  {10, pt1},
                  {11, pt2},
                  {-4, "and>"},
                  {-4, "<and"},
                  {10, pt2},
                  {11, pt1},
                  {-4, "and>"},
                  {-4, "or>"},

hhaoma 发表于 2014-9-6 21:25:04

雪山飞狐_lzh 发表于 2014-9-6 20:49 static/image/common/back.gif
过滤器:
                  {0, "line"},
                  {-4, ""},

能写一个吗?新手看不懂

ZZXXQQ 发表于 2014-9-7 08:21:49

(if (> (sslength(ssget
       (list '(0 . "LINE")
      '(-4 . "<or")
      '(-4 . "<and") (cons 10 pt1) (cons 11 pt2) '(-4 . "and>")
      '(-4 . "<and") (cons 10 pt2) (cons 11 pt1) '(-4 . "and>")
      '(-4 . "or>")
       ))) 0)
(princ "有直线")
(princ "无直线")
)
页: [1]
查看完整版本: 如何编写代码判断两点之间是否存在一条实体的直线相连接呢?