edata 发表于 2014-7-4 18:23:19

77077 发表于 2014-7-4 17:49 static/image/common/back.gif
edata版的,完全能满足要求,用起来也很方便.不过我还是没看懂一部分~
      (while(and loop (setq a(car h ...

如你的图纸,多个矩形靠在一起,选择的时候,会选择到其他的闭合线,我才用组码5的值来比较,如果是一样的组码5值,表示是同一个物体,只要有一组是相同就终止计算,相当于分离点不在矩形内的实体。

77077 发表于 2014-7-5 10:35:17

edata 发表于 2014-7-4 18:23 static/image/common/back.gif
如你的图纸,多个矩形靠在一起,选择的时候,会选择到其他的闭合线,我才用组码5的值来比较,如果是一样的 ...

没错,我这个行业画地块的时候,每个地块都要求紧密相邻且不能重叠,要不然就出现飞地或一块地两个主主了。
所以用entsel经常出现难选或选错。

edata 发表于 2014-7-5 18:39:10

如果真是这样的,用ssget窗选也应该可以了。
两点框选方式,不需要计算。
(defun c:tt(/ p1 p3 ss)
(if(and(setq p1 (getpoint "\n指定第一点:"))
       (setq p3 (getcorner p1 "\n指定对角点:"))
       )
(if(setq ss(ssget "_w" p1 p3 '((0 . "lwpolyline")(70 . 1)(62 . 1))))(sssetfirst nil ss))
    )
(princ)
)

77077 发表于 2014-7-5 19:25:38

两点框选还是没点选方便,嘿嘿~
就是浪费点电脑计算时间,不过这几毫秒也算不上什么~~

1993063 发表于 2014-7-7 14:50:16

(SSGET '((-4 . "=")
       (70 . 1)
       (-4 . "<or")
       (8 . "图层A")
       (-4 . "or>")
       (-4 . "<or")
       (0 . "LWPOLYLINE")
       (-4 . "or>")
        )
)

潍坊嘎拉 发表于 2014-7-7 15:16:40

haogaoduan a
页: 1 2 [3]
查看完整版本: 点选多段线