本帖最后由 作者 于 2008-4-19 0:16:44 编辑
这是我这两天自己编的,因为我在画模具图时,模具大小可能相差好几倍,但出图通常只用A3和A4.所以我想能用一个命令就把所选尺寸都改变字高,以使每张图都能看清尺寸.但其它设置都不变.以前我是建几个不同高度的的样式来解决,但现在这个厂里不允许这样做.只能在属性里改了,再用格式刷刷,不方便.多谢无痕的回话.发上来好几天,根本没人理我.真的非常感谢!但群码里没有字高这一项.我只有用这个办法了.不过现在这个有个问题,标Y轴时,不能调,它只能删掉它,目前我只发现了这个问题.让我再想想,现在太晚了,明天还要上班呢.也请大家瞧瞧,有什么办法来解决这个问题.咋传不上去.我只有用这个办法了.... (DEFUN C:CCZG (/ 10A 11A 13A 14A 15A 1A 2A 3A 50A 53A 70A 8A CMD DIMZG ENT ENT1 LEN N NAME SS ZG) ;修改尺寸中文字的高度 (setq cmd (getvar "cmdecho")) (setvar "cmdecho" 0) (setq dimzg (getvar "dimtxt")) (setq zg nil) (while (= zg nil) (setq zg (getreal "\n 请输入你需要的字高<6>:")) (if (= zg nil) (setq zg 6) ) (if (<= zg 0) (setq zg nil) ) ) (setvar "dimtxt" zg) (princ "\n 请选出需改变字高的尺寸标注!") (setq ss (ssget '((0 . "DIMENSION")))) (setq os (getvar "osmode")) (setvar "osmode" 0) (setq len (sslength ss)) (setq n 0) (while (> len n) (setq name (ssname ss n)) (setq ent (entget name)) (setq 1a (cdr (assoc 1 ent))) (setq 2a (cdr (assoc 2 ent))) (setq 3a (cdr (assoc 3 ent))) (setq 8a (cdr (assoc 8 ent))) (setq 10a (cdr (assoc 10 ent))) (setq 11a (cdr (assoc 11 ent))) (setq 13a (cdr (assoc 13 ent))) (setq 14a (cdr (assoc 14 ent))) (setq 15a (cdr (assoc 15 ent))) (setq 50a (cdr (assoc 50 ent))) (setq 53a (cdr (assoc 53 ent))) (setq 70a (cdr (assoc 70 ent))) (cond ((= 70a 32) (command "_.dimlinear" 13a 14a 10a ) (setq ent1 (entget (entlast)))) ((= 70a 33) (command "_.dimaligned" 13a 14a 10a ) (setq ent1 (entget (entlast)))) ((= 70a 102) (command "_.dimordinate" 13a 14a ) (setq ent1 (entget (entlast)))) ) (setq ent1 (subst (cons 1 1a) (assoc 1 ent1) ent1)) (setq ent1 (subst (cons 2 2a) (assoc 2 ent1) ent1)) (setq ent1 (subst (cons 3 3a) (assoc 3 ent1) ent1)) (setq ent1 (subst (cons 8 8a) (assoc 8 ent1) ent1)) (setq ent1 (subst (cons 10 10a) (assoc 10 ent1) ent1)) (setq ent1 (subst (cons 11 11a) (assoc 11 ent1) ent1)) (setq ent1 (subst (cons 15 15a) (assoc 15 ent1) ent1)) (setq ent1 (subst (cons 50 50a) (assoc 50 ent1) ent1)) (setq ent1 (subst (cons 53 53a) (assoc 53 ent1) ent1)) (entmod ent1) (setq n (1+ n)) ) (command "_.erase" ss "") (if (> len 0) (progn (princ "\n 已将 ") (princ len) (princ " 个尺寸高度改至 ") (princ zg) ) ) (setvar "osmode" os) (setvar "dimtxt" dimzg) (setvar "cmdecho" cmd) (princ) ) 模具画了好几年,但编这个还是最近几个月的事,真的需要高手不吝赐教!多谢!!!! |