明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1564|回复: 5

这样选择实体集有什么不同?

[复制链接]
发表于 2004-11-7 09:44:00 | 显示全部楼层 |阅读模式
这样选择实体集有什么不同? 测试:画三个同心圆。运行程序时一个一个选择这三个圆产生的结果为什么和一下框选起这三个圆产生的结果不一样。 ;;过滤“同心圆/圆弧”中半径较小最大的圆/圆弧
(defun c:test (/ ss i j k x ent entl ptc r ent1 entl1 ptc1 r1)
(setvar "cmdecho" 0)
(command "undo" "be")
(setq ss (ssget '(
(-4 . "<or")
(0 . "Circle")
(0 . "arc")
(-4 . "or>")
)))
(setq i t)
(setq x 0)
(while (ssname ss x)
(setq ent (ssname ss x))
(setq entl (entget ent))
(setq ptc (cdr (assoc 10 entl)))
(setq r (cdr (assoc 40 entl)))
(setq j x)
(setq k (sslength ss))
(repeat (- k x 1)
(setq j (1+ j))
(setq ent1 (ssname ss j))
(setq entl1 (entget ent1))
(setq ptc1 (cdr (assoc 10 entl1)))
(if (equal ptc1 ptc)
(progn
(setq j (1- j))
(setq r1 (cdr (assoc 40 entl1)))
(if (> r1 r) (progn (setq r r1)(ssdel ent ss)) (ssdel ent1 ss))
)
);if
);repeat
(setq x (1+ x))
)
(command "erase" ss "")
(command "undo" "e")
(princ)
)
发表于 2004-11-7 10:12:00 | 显示全部楼层
这个刚写的, 不知合不合你用. (defun c:test (/ ss ss-list i ss-Name radius ss-list )
(setq ss (ssget '(
(-4 . "<or")
(0 . "Circle")
(0 . "arc")
(-4 . "or>")
)))
(setq ss-list nil i 0)
(repeat (sslength ss)
(setq ss-Name (ssname ss i))
(setq radius (vla-get-radius (vlax-ename->vla-object ss-Name)))
(setq ss-list (append ss-list (list (list radius ss-Name))))
(setq i (1+ i)))
(SETQ Small-List (vl-sort ss-list '(lambda(e1 e2) (< (car e1) (car e2)))))
(setq Small-Radius-Ca(cadar Small-List)); 半径最小的圆
(setq Big-Radius-Ca(cadar (reverse Small-List))); 半径最大的圆
(princ)
)
 楼主| 发表于 2004-11-7 11:13:00 | 显示全部楼层
我机器出现没有定义VLAX-ENAME-&gt;VLA-OBJECT函数错误
发表于 2004-11-7 14:24:00 | 显示全部楼层
先(vl-load-com)


都N遍了。
 楼主| 发表于 2004-11-7 18:56:00 | 显示全部楼层
2楼程序对于一大堆圆不起作用,只是过滤出一组同心圆中最大或最小的圆
发表于 2004-11-7 19:37:00 | 显示全部楼层
不会啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 07:45 , Processed in 0.205940 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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