iCAx开思网
标题:
【求助】关于公差代号
[打印本页]
作者:
xdgsjsb
时间:
2002-12-11 16:10
标题:
【求助】关于公差代号
在国标里,公差代号如H7和公差是可以同时用的,在cad2000里能否将公差代号及公差同时标上,并且对于相同的公差是可以用刷子刷的。
在清华二次开发的软件里可以同时标上,但不可以刷。
作者:
xdgsjsb
时间:
2002-12-12 13:31
这么长时间都没人回答,难道真的没有办法吗?
作者:
zgmzjddzxx
时间:
2002-12-12 16:55
给你一个别人的原代码(如果原作者有任何问题,可以PM给我)
一个修改尺寸文本的源代码:
(defun B_TOLERANCE_READ_TXT;读出尺寸的大小
(
/
B_dim_name;和所选尺寸相对应的块名
B_dim_txt;尺寸文本(CHR)
B_dim_sset;和所选尺寸相对应的块的子实体名
B_dim_length;尺寸文本的长度
B_dim_txt_str;中间字符串变量
B_dim_txt_no;中间计数变量
B_dim_txt_chr;中间字符变量
)
(if (/= (cdr (assoc 0 B_dim_ent)) "DIMENSION")
(progn
(prompt "\n这不是个尺寸标注")
(setq B_dim_choose -1)
);end-progn当不是尺寸标注时由B_dim_choose判断
(progn
(setq B_dim_or (cdr (assoc 1 B_dim_ent)));当是自动生成的尺寸文本时为空
(setq B_dim_name (cdr (assoc 2 B_dim_ent)));读出同名的块名
(setq B_dim_sset (cdr (assoc -2 (tblsearch "BLOCK" B_dim_name))));找块的实体名
(while (/= (cdr (assoc 0 (entget B_dim_sset))) "MTEXT")
(setq B_dim_sset (entnext B_dim_sset))
);end-while寻找写有尺寸大小文本的子实体
(setq B_dim_txt (cdr (assoc 1 (entget B_dim_sset))));读出尺寸大小文本
(setq B_dim_height (cdr (assoc 40 (entget B_dim_sset))))
(setq B_dim_length (strlen B_dim_txt));读出尺寸大小文本的长度
(if (= (substr B_dim_txt 4 1) ";")
(progn
(setq B_dim_length (- B_dim_length 4))
(setq B_dim_txt (substr B_dim_txt 5 B_dim_length))
);end-progn
);end-if去掉读出的尺寸文本的前缀
(cond
((= (substr B_dim_txt 1 1) "r")
(setq B_dim_length (- B_dim_length 1))
(setq B_dim_txt (substr B_dim_txt 2 B_dim_length))
);end-1
((= (substr B_dim_txt 1 1) "R")
(setq B_dim_length (- B_dim_length 1))
(setq B_dim_txt (substr B_dim_txt 2 B_dim_length))
);end-1
((= (substr B_dim_txt 1 1) "m")
(setq B_dim_length (- B_dim_length 1))
(setq B_dim_txt (substr B_dim_txt 2 B_dim_length))
);end-1
((= (substr B_dim_txt 1 1) "M")
(setq B_dim_length (- B_dim_length 1))
(setq B_dim_txt (substr B_dim_txt 2 B_dim_length))
);end-1
((= (substr B_dim_txt 2 6) "U+2205")
(setq B_dim_length (- B_dim_length 7))
(setq B_dim_txt (substr B_dim_txt 8 B_dim_length))
);end-1
);end-cond
(setq B_dim_txt_str "")
(setq B_dim_txt_no B_dim_length)
(while (> B_dim_txt_no 0)
(setq B_dim_txt_no (1- B_dim_txt_no))
(setq B_dim_txt_chr (substr B_dim_txt (- B_dim_length B_dim_txt_no) 1))
(if (/= B_dim_txt_chr ",")
(setq B_dim_txt_str (strcat B_dim_txt_str B_dim_txt_chr))
);end-if
);end-while
(setq B_dim_txt B_dim_txt_str);去掉尺寸文本里的","
(setq B_dim_size (atof B_dim_txt))
(if (> B_dim_size 3150.0)
(progn
(if (null B_ERROR) (load "B_ERROR"))
(B_ERROR "超出程序设计范围,本程序无法计算,请查标准公差手册标注")
(setq B_dim_choose -2)
);end-progn
);end-if
);end-progn
);end-if
);B_TOLERANCE_READ_TXT
作者:
xdgsjsb
时间:
2002-12-12 17:11
晕!
斑竹,怎么用呀!
作者:
gxh881
时间:
2007-6-24 10:38
是啊,不会用啊
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3