如何得到2DPOLYLINE的选择集?
我想用(setq ss (ssget "X" '((0 . "POLYLINE") (100 . "AcDb2dPolyline"))))取得2DPOLYLINE的选择集,请问怎么修改? (setq ss (ssget "X" '((0 . "LWPOLYLINE")))) 不是要的轻量多段线哟 矇了Select object:
((0 . "LWPOLYLINE") ...)
Select object:
((0 . "POLYLINE") ...) 本帖最后由 wangph 于 2014-9-17 20:51 编辑
图是测量单位提供的,好像是用南方CASS生成的,线条类型是AcDb2dPolyline,我用(setq ssssget "X" '((0 . "POLYLINE") (100 . "AcDb2dPolyline"))))会把AcDb3dPolyline的多段线也选到,不知道如何修改。 直接用:
(setq ss (ssget "X" '((100 . "AcDb2dPolyline"))))
试试。要注意大小写一致。 楼主应该贴图上来,让大家猜得很辛苦 呵呵,发贴时找不到如何上传附图,回复就可以上传了 wangph 发表于 2014-9-17 20:50 static/image/common/back.gif
图是测量单位提供的,好像是用南方CASS生成的,线条类型是AcDb2dPolyline,我用(setq ssssget "X" '((0 . ...
过滤表不能过滤(100 . "AcDb3dPolyline"),选完后再将ss选择集中的AcDb3dPolyline逐个剔除! 本帖最后由 xyp1964 于 2014-9-18 13:52 编辑
wangph 发表于 2014-9-18 08:28 static/image/common/back.gif
呵呵,发贴时找不到如何上传附图,回复就可以上传了(defun c:tt ()
(if (setq ss (ssget "X" '((0 . "POLYLINE"))))
(progn
(setq ss1 (ssadd)
i -1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(if (= (vla-get-objectname (vlax-ename->vla-object s1)) "AcDb2dPolyline")
(setq ss1 (ssadd s1 ss1))
)
)
(sssetfirst nil ss1)
)
)
(princ)
)(defun c:tt ()
(if (setq ss (ssget "X" '((0 . "POLYLINE"))))
(progn
(setq ss1(ssadd)
i -1
)
(while (setq s1 (ssname ss (setq i (1+ i))))
(if (member '(100 . "AcDb2dPolyline") (entget s1))
(setq ss1 (ssadd s1 ss1))
)
)
(sssetfirst nil ss1)
)
)
(princ)
)
		页: 
[1]