几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   数据库ObjectDBX (http://www.dimcax.com/hust/forumdisplay.php?f=177)
-   -   【转帖】请问在lisp中怎样写这个判断圆直径是否相等的表达式? (http://www.dimcax.com/hust/showthread.php?t=13937)

yang686526 2009-04-28 04:42 PM

【转帖】请问在lisp中怎样写这个判断圆直径是否相等的表达式?
 
请问在lisp中怎样写这个判断圆直径是否相等的表达式?
www.dimcax.com
请问在lisp中怎样写这个判断圆直径是否相等的表达式?
我已经创建了一个圆的选择集,我要判断所选择的圆中直径是否相同,怎样写呢?
还请各位朋友帮帮我这个菜鸟!
选择了就不要放弃!

判定两个圆的半径是否相等,数值精确到小数点后第四位:
(setq ss (ssget))
(setq n (sslength ss))
(setq n (- n 1))
(setq index 0)
(repeat n
(setq en (ssname ss index))
(setq c (entget en))
(setq en1 (ssname ss (+ index 1)))
(setq c1 (entget en1))
(setq index ( + index 1))
(if (and (= "circle" (cdr (assoc 0 en)))
(= "circle" (cdr (assoc 0 en1)))
(= (rtos (cdr (assoc 40 c)) 2 4)(rtos (cdr (assoc 40 c1)) 2 4))
)
;;两个圆的直径相等
(......)
);end of if
);end of repeat

谢谢楼上的朋友!
让我慢慢地回味一下!
选择了就不要放弃!

ljm68
你的程序有一些问题,你选的圆中有相等的圆,但用你的程序有可能查出无.你再回味一下.
另将查出相等的圆放到一个表中,你可记录它的聚柄号在dxf中5后的符号.最后我再来给你讨论.
gbg

我给你编了一个程序:把相同圆和直径放到一个yyu的表中,例:
(("10.0306" (508.906 449.482 0.0) (463.626 536.035 0.0) (331.724 532.1 0.0)
(369.129 447.515 0.0)) ("8.3491" (562.06 439.647 0.0) (516.78 526.199 0.0)
(384.878 522.265 0.0) (422.283 437.68 0.0)) ("5.9013" (575.841 496.693 0.0)
(530.561 583.245 0.0) (398.659 579.311 0.0) (436.064 494.725 0.0)))
你可用用(length yyu) 求出有相同圆的个数,可求出相同圆的圆心.
5
gbg

谢谢顾老师!
已经下载了,下在学习中!
选择了就不要放弃!


所有的时间均为北京时间。 现在的时间是 02:32 AM.