土木在线
资料
论坛
课程
AI规范
成套资料包
APP
下载手机客户端
产品
兑换商城
直播
软件
会议
土木君有礼!免费低价薅不停
工程师进阶必备,全套项目资料包来袭!
/
注册
登录
消息
动态
0
正在加载...
查看全部消息
消息设置
正在加载...
查看全部动态
消息设置
土木在线论坛
\
建筑设计
\
CAD下载及教程
\
如何以闭合多段线为边界选择其中的图元?菜鸟求教!
如何以闭合多段线为边界选择其中的图元?菜鸟求教!
RT,以已有的闭合多段线为边界选择其中被包围的图元,请各位高手指教。有什么插件或是LISP可以实现吗?
发布于
2010-09-20 17:10:20
我来答
分享
复制链接
新浪微博
微信扫一扫
举报
全部回答
(4 )
jjyf0208
很好用,谢谢!
2010-11-19 01:28:19
来自 PC
评论
举报
feng582304
(defun c:asdf ( / ss li n li1 )
(princ "请输入多段线:")
(setq ss (ssget '((0 . "LWPOLYLINE"))));只认第一个你选的多段线对象
(if ss
(progn
(setq li (vlax-safearray->list (vlax-variant-value (vla-get-coordinates (vlax-ename->vla-object (ssname ss 0))))))
(setq n 0)
(repeat (/ (length li) 2)
(setq li1 (append li1 (list (list (nth n li) (nth (1+ n) li)))))
(setq n (+ 2 n))
)
)
)
(setq ss (ssdel (ssname ss 0) (ssget "cp" li1)))
(sssetfirst ss ss)
(princ)
)
[
本帖最后由 feng582304 于 2010-9-29 21:32 编辑
]
2010-09-29 21:31:29
来自 PC
评论
举报
加载更多
相关推荐
zzx385000
这个家伙什么也没有留下。。。
主题
1
回复
15
粉丝
0
+ 关注
私信
CAD下载及教程
返回版块
52.08 万条内容 · 657 人订阅
猜你喜欢
遇到了一点小问题
内容不能包含下列词语
返回修改
回帖成功
经验值 +
10
全部回答(4 )
(princ "请输入多段线:")
(setq ss (ssget '((0 . "LWPOLYLINE"))));只认第一个你选的多段线对象
(if ss
(progn
(setq li (vlax-safearray->list (vlax-variant-value (vla-get-coordinates (vlax-ename->vla-object (ssname ss 0))))))
(setq n 0)
(repeat (/ (length li) 2)
(setq li1 (append li1 (list (list (nth n li) (nth (1+ n) li)))))
(setq n (+ 2 n))
)
)
)
(setq ss (ssdel (ssname ss 0) (ssget "cp" li1)))
(sssetfirst ss ss)
(princ)
)
[ 本帖最后由 feng582304 于 2010-9-29 21:32 编辑 ]