669423907 发表于 2011-5-27 13:21:01

求智能圆标注(已解决!谢谢ZZXXQQ 版主热情帮助!)

本帖最后由 669423907 于 2011-5-30 23:23 编辑

1:选择的对象大于或等于 4份之3圆时为螺纹;
2:小于4份之3时为半径;
3:整圆时为直径;
4:可以输入数量,默认不输入;
5:标注完一个后可以继续下一个;
6:空格或esc退出。

不知是否能达到这样的效果?
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/UG9`@AH2%L{}S0N6}3E~FO2.gif

xiaobailou 发表于 2023-12-9 08:26:24

好棒的程序

ZZXXQQ 发表于 2011-5-27 14:55:38

编程步骤:
1、程序循环提示选择对象(坐标点);
2、根据1所得坐标点,取得最近点;未取得最近点程序退出,转第10步
3、由最近点用(ssget "C" pt pt)取得实体;
4、提示输入:个数(前缀)“N-”;
5、获得实体数据表;
6、如果实体是圆弧,读取实体数据,计算并判断是否为四分之三圆;不是弧转第9步
7、如果是四分之三圆;前缀尾部加字母M,并计算直径,用直径标注进行螺纹标注;转第1步
8、用半径标注标注圆弧;转第1步
9、用直径标注标圆;转第1步

ZZXXQQ 发表于 2011-5-27 15:22:17

本帖最后由 ZZXXQQ 于 2011-5-30 09:04 编辑

试下看

;圆,圆弧智能标注 明经 ZZXXQQ 2011.5.28
(defun c:tt ()
(while (and (setq s1 (entsel "\n选择圆或圆弧 :"))
             (setq ent (entget (car s1)))
             (wcmatch (setq tn (cdr(assoc 0 ent))) "ARC,CIRCLE"))
(setq pt1 (cadr s1))
(setq qztxt (if (setq qz (getint "\n个数 :")) (strcat (itoa qz) "-") ""))
(if (= tn "ARC") (progn
   (setq r (cdr(assoc 40 ent)))
   (command ".LENGTHEN" (car s1) "")
   (if (>= (/ (getvar "PERIMETER") r) (* 1.5 pi)) (progn
    (setq qztxt (strcat qztxt "M" (rtos (+ r r) 2)))
    (command "DIMDIAMETER" pt1 "T" qztxt PAUSE)
   )
    (command "DIMRADIUS" pt1 "T" (strcat qztxt "<>") PAUSE)
   )
)
   (command "DIMDIAMETER" pt1 "T" (strcat qztxt "<>") PAUSE)
)
)
(princ)
)

669423907 发表于 2011-5-27 21:53:40

回复 ZZXXQQ 的帖子

非常感谢版主热情帮助!只不过还有两个小问题没解决:
1:选择的对象大于或等于 4份之3圆时为螺纹(尺寸前加 M ,CAD画的螺纹为4份之3圆,
      也就是270度,Pro/E画的螺纹为大于4份之3圆为300度);
2:小于4份之3时为半径;

ZZXXQQ 发表于 2011-5-27 22:24:13

那就把第14行的判断自行改下吧

669423907 发表于 2011-5-27 22:30:44

回复 ZZXXQQ 的帖子

谢谢,我试试看!

669423907 发表于 2011-5-27 22:51:35

回复 ZZXXQQ 的帖子

小生愚笨,看不懂啊!还望版主明点!

ZZXXQQ 发表于 2011-5-27 23:12:49

(if (equal (abs (- ed st)) (* 1.5 pi) 0.01) (progn
改成
(if (or (equal (abs (- ed st)) (* 1.5 pi) 0.01) (equal (abs (- ed st)) (/ (* pi 5) 6) 0.01)) (progn

669423907 发表于 2011-5-27 23:41:07

本帖最后由 669423907 于 2011-5-28 00:26 编辑

回复 ZZXXQQ 的帖子

还是标不出 M 啊!不知哪里有问题?

669423907 发表于 2011-5-28 12:57:17

版主帮帮忙啦,问题尚未解决啊!
页: [1] 2 3 4 5
查看完整版本: 求智能圆标注(已解决!谢谢ZZXXQQ 版主热情帮助!)