明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1200|回复: 1

[求助]求自动区分圆的大小并标识的LISP程序!

[复制链接]
发表于 2009-6-26 21:54:00 | 显示全部楼层 |阅读模式
各位好,大家有没有这样一个LISP程序,就是模板上有很多孔,然后框选模板,模板上一样的孔就会自己标出字母来区分不同的孔,如直径5的用A表示,直径8的用B来表示等,谢谢!
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2009-7-17 15:45:00 | 显示全部楼层

转发:::

;;钻孔圆分类标注.
(defun c:ttt(/ ALIST CENPT ENTDATA1 ENTNAME1 FUZ I J N R SS1)
 (setq aList '((5.0 "A") (8.0 "B") (12.0 "C")));用户自己根据需要定义半径.
 (setq fuz 0.00001)

 (prompt "\n【提示】选择圆对象....")
 (while (not (setq SS1 (ssget '((0 . "CIRCLE"))))))
 (ayOSMode nil);关闭捕捉.
 
 (setq i 0)
 (while (< i (sslength SS1))
  (setq entName1 (ssname SS1 i))
  (setq entData1 (entget entName1))
  (setq cenPt (cdr (assoc 10 entData1)))
  (setq R (cdr (assoc 40 entData1)))
  (setq j 0)
  (while (< j (length aList))
   (setq n (nth j aList))
   (if (equal R (car n) fuz)
    (progn
     (vl-cmdf "-Text" "J" "MC" cenPt "" 0.0 (cadr n))
     (setq j (length aList))
    );end_progn
   );end_if
   (setq j (+ j 1))
  );end_while j
  (setq i (+ i 1))
 );end_while i
 (ayOSMode T);打开捕捉.
 (princ)
);end_defun

;;;**************************
;;; No.0 对象捕捉开关 函数  
;;;**************************
(defun ayOSMode (isOpenSnap)
 (if isOpenSnap
  (setvar "osmode" (rem (getvar "osmode") 16384));打开捕捉.
  (setvar "osmode" (+ (rem (getvar "osmode") 16384) 16384));关闭捕捉.
 );end_if
);end_defun

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 07:38 , Processed in 0.150974 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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