本帖最后由 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
|