vlisp中用ssget获取通过某一点的多条线段时,只返回一条线段
AutoCAD 2010 -English version 3版本, win7旗舰版想选取通过p0点(100,100)的线段a和b, 并放入选择集ss1中, 使用(setq ss1 (ssget p0))时, 选择集ss1中只有线段b, 而没有线段a.
所用语句如下:
(setq p0 (getpoint "\n选取交点:"))
(setq ss1 (ssget p0))
(setq ssnum (sslength ss1))
(setq e1 (entget (ssname ss1 0)))
返回结果为:((-1 . <Entity name: 7ffffb05830>) (0 . "LINE") (330 . <Entity name: 7ffffb039f0>) (5 . "1F3") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbLine") (10 100.0 100.0 0.0) (11 100.0 0.0 0.0) (210 0.0 0.0 1.0))
(setq ss1 (ssget "C" p0 p0))
为什么不直接 setq ss1 ssget
为什么要用点选呢???? ysq101 发表于 2014-2-11 17:46
为什么不直接 setq ss1 ssget
为什么要用点选呢????
存在即合理 你的ssnum=2,你只取了(ssname ssl 0),還有(ssname ssl 1)呢! lsjj 发表于 2014-2-11 21:30 static/image/common/back.gif
你的ssnum=2,你只取了(ssname ssl 0),還有(ssname ssl 1)呢!
上一步(setq ssnum (sslength ss1))中得到的结果中只有一个 ysq101 发表于 2014-2-11 17:46 static/image/common/back.gif
为什么不直接 setq ss1 ssget
为什么要用点选呢????
只是举一个简单的例子, 实际中需要的更复杂 自贡黄明儒 发表于 2014-2-11 13:09 static/image/common/back.gif
(setq ss1 (ssget "C" p0 p0))
谢谢! 用你的方法就可以了.
页:
[1]