明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2657|回复: 11

[求助]自动区分圆孔大小的LISP程序

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

 楼主| 发表于 2009-6-27 22:16:00 | 显示全部楼层
试了下,选择对象后就没反应啊,楼上的求救啊!
发表于 2009-6-27 23:22:00 | 显示全部楼层
选择对象后就没反应啊
发表于 2009-6-28 14:37:00 | 显示全部楼层
游客,本帖隐藏的内容需要发帖数高于 5 才可浏览,你当前发帖数只有 0
发表于 2009-6-28 16:03:00 | 显示全部楼层

样还是有点不方便,我有看到统达的PressCAD有过这么一个功能,它的对象图元有加上注解文字,当输入命令并选中对象后就标出了该对象的编号和注解。比如模板孔要钻通或者线割的都可以编辑到图元中去,不知道这样的功能如何实现呀

发表于 2009-6-28 16:07:00 | 显示全部楼层
选择对象后就没反应啊
发表于 2009-6-28 17:56:00 | 显示全部楼层

不会吧,怎么会没有反应呢?

上面我的函数(c:ttt),中不是有一句:

(setq aList '((5.0 "A") (8.0 "B") (12.0 "C")));用户自己根据需要定义.

这句就要求用户按照半径,自定义编号的嘛!就如上面的:把半径为5.0的编号定义为"A",8.0的定义为"B"...

ZZXXQQ的则为自动编号,都可以实现的,怎么会没反应呢?

 楼主| 发表于 2009-6-28 22:02:00 | 显示全部楼层

哦,我以为是直径呢,原来是半径啊,我试试

发表于 2009-6-29 12:41:00 | 显示全部楼层
应改做成同心圆只可以标最大或最小
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-24 17:48 , Processed in 0.197253 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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