明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1456|回复: 7

[已解答] vlisp中用ssget获取通过某一点的多条线段时,只返回一条线段

[复制链接]
发表于 2014-2-11 12:50 | 显示全部楼层 |阅读模式
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))

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-2-11 13:09 | 显示全部楼层
(setq ss1 (ssget "C" p0 p0))
发表于 2014-2-11 17:46 | 显示全部楼层
为什么不直接   setq ss1 ssget  
为什么要用点选呢????
发表于 2014-2-11 21:10 来自手机 | 显示全部楼层
ysq101 发表于 2014-2-11 17:46
为什么不直接   setq ss1 ssget  
为什么要用点选呢????

存在即合理
发表于 2014-2-11 21:30 | 显示全部楼层
你的ssnum=2,你只取了(ssname ssl 0),還有(ssname ssl 1)呢!
 楼主| 发表于 2014-2-12 17:05 | 显示全部楼层
lsjj 发表于 2014-2-11 21:30
你的ssnum=2,你只取了(ssname ssl 0),還有(ssname ssl 1)呢!

上一步(setq ssnum (sslength ss1))中得到的结果中只有一个
 楼主| 发表于 2014-2-12 17:05 | 显示全部楼层
ysq101 发表于 2014-2-11 17:46
为什么不直接   setq ss1 ssget  
为什么要用点选呢????

只是举一个简单的例子, 实际中需要的更复杂
 楼主| 发表于 2014-2-12 17:23 | 显示全部楼层
自贡黄明儒 发表于 2014-2-11 13:09
(setq ss1 (ssget "C" p0 p0))

谢谢! 用你的方法就可以了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-20 03:11 , Processed in 0.167570 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表