根据一个封闭图形选取该图形内所有元素
本帖最后由 tryhi 于 2011-8-2 12:32 编辑(defun c:xq(/ dengf ssd i lss point1 xuanze)
(setq dengf(entsel))
(command "measure" dengf "2" "");每两个单位分一个点,可根据具体情况修改大小
(setq ssd(ssget "p"))
(setq i 0)
(setq lss nil)
(repeat (sslength ssd)
(setq point1(cdr(assoc 10 (entget(ssname ssd i)))))
(setq lss (cons point1 lss))
(setq i (+ 1 i))
;;; (prompt (strcat (rtos i 2 2) "\n"))
)
(command "erase" ssd "")
(setq ssd nil)
(command "zoom" "o" dengf "")
(Setq xuanze (ssget "XP" lss))
(sssetfirst xuanze xuanze)
)
(prompt
"******* 加载图形内选元素xq命令完成!*******------大海制作"
)
(prin1)源码在上面,发附件是为了求赞助
原理是用Andyhon的指点的方法 measure曲线 取出 Points 串成 PtList
(Setq xuanze (ssget "XP" lss))
改成(Setq xuanze (ssget "WP" lss))
ljpnb 发表于 2011-7-29 06:27 static/image/common/back.gif
(Setq xuanze (ssget "XP" lss))
改成(Setq xuanze (ssget "WP" lss))
找到原因了,不是这个。原因是屏幕要完全显示多边形才能正常选择,不知有什么办法解决 加一句(command "zoom" "o" dengf "") ljpnb 发表于 2011-7-29 13:32 static/image/common/back.gif
加一句(command "zoom" "o" dengf "")
非常感谢ljpnb的指点。居然忘了这个命令。
刚来学习autolisp,刚来这个论坛,好像评分加的金钱没有用是不? 不错的东西啊 挺不错的,这个 ............................ 送上赞助....我一直想写。。可不会
如果封闭实体为不规则网线如spline等呢?
页:
[1]