AutoCAD中尺寸公差的自動(dòng)標(biāo)注AutoCAD中尺寸公差標(biāo)注很麻煩,本文給出一短小AutoLISP程序,實(shí)現(xiàn)了公差值的自動(dòng)標(biāo)準(zhǔn),通過(guò)鼠標(biāo)兩次選擇即可完成其操作,使用起來(lái)非常方便、快捷。
j
EbmW*
zu}uW,XH- AutoCAD在用于機(jī)械設(shè)計(jì)時(shí),公差標(biāo)注有兩種方法;其一是通過(guò)DIM參數(shù)設(shè)定完成,但參數(shù)設(shè)定繁瑣,速度也慢,每一個(gè)不同公差值都要設(shè)定一次,在R12 0中名義尺寸與公差值的小數(shù)點(diǎn)位數(shù)相同使名義尺寸顯得累贅(R13 0對(duì)此作了改進(jìn));其二是用TEXT指令直接寫入,但速度也慢,字的位置也不易寫準(zhǔn),常需用MOVE指令移動(dòng)一次。上述兩種方法都需在作圖時(shí)備公差數(shù)值表,先查表后標(biāo)注,因此在尺寸公差標(biāo)注上所花時(shí)間很多。
NuO@Nr 筆者用AutoLisp編寫了一尺寸公差自動(dòng)標(biāo)注程序,使用效果良好,速度也快,調(diào)用時(shí)僅兩次操作即可完成:首次操作選擇公差等級(jí);再次操作選擇被標(biāo)注尺寸即可完成尺寸公差的自動(dòng)標(biāo)注。程序由四部分組成:輸入公差等級(jí)自動(dòng)查表;選取被標(biāo)注尺寸并進(jìn)行相應(yīng)處理;尺寸大小分類并查取上下偏差值;公差值寫入。若將該指令加入菜單后操作起來(lái)將更方便,即將公差等級(jí)符號(hào)(如H7、b6、r6、JS7等)做成幻燈片在菜單上調(diào)用。
12
) 一、輸入公差等級(jí)和查表
":eyf3M 在菜單上選擇了公差標(biāo)準(zhǔn)條目后、屏幕上出現(xiàn)相應(yīng)幻燈片(如圖示)當(dāng)選取相應(yīng)公差等級(jí)的項(xiàng)目后,完成了兩個(gè)指令輸入:首先給出了公差等級(jí)(實(shí)際上是給出了在公差值表中該等級(jí)的相應(yīng)行號(hào)n值);其次是啟動(dòng)了公差標(biāo)準(zhǔn)Lisp程序。Lisp程序啟動(dòng)后,打開公差值表(Tole.TXT)使用repeat函數(shù)在公差值表中連續(xù)讀取一行數(shù)據(jù),至直與所標(biāo)公差等級(jí)相應(yīng)的第n行為止。
~;HASHu 若所標(biāo)公差為H8,則菜單上相應(yīng)行內(nèi)容為:
wf ]Wm [DAN(LH8)]^C^P(setg n 3)tolerance
=_OJ
7K' 若所標(biāo)公差為JS6,則菜單上相應(yīng)行內(nèi)容為:
niS\0ZA [DAN(JS6)]^C^P(setg n 10)tolerance
570ja7C: 公差標(biāo)注幻燈片
efyEzL (注DAN為幻燈片庫(kù)名 DAN.SLB,LH8、JS6為幻燈片名LH8.SLD和JS6.SLP,tolerance為公差標(biāo)準(zhǔn)Lisp程序指令名)
CZzt=9 若不做幻燈片則在啟動(dòng)Lisp前先鍵入Lisp變量n的值。為使標(biāo)注更方便,操作當(dāng)前層自動(dòng)換至尺寸標(biāo)注層(DIM層)。
QHv]7&^rlj 二、選取被標(biāo)注尺寸并進(jìn)行處理
I]HYqI 根據(jù)Lisp提示在圖形中選取被標(biāo)注尺寸,通過(guò)相應(yīng)處理,得到了該尺寸的數(shù)值、字體高度、位置、角度等留作備用,使用的函數(shù)是entget和assoc。在獲取被標(biāo)注尺寸時(shí),使用了Substr函數(shù)將圓標(biāo)注尺寸前面的R、r、Φ隱去便于后續(xù)數(shù)值大小判別。同時(shí)還判別了該尺寸是否帶有小數(shù)點(diǎn),可使公差值寫入時(shí)位置更準(zhǔn)確,因?yàn)樾?shù)點(diǎn)所占不到一個(gè)字寬。
2_Lu0Yrg 三、尺寸大小分類并獲取相應(yīng)上下限偏差值
:30daKo 在第一步查表所得的數(shù)據(jù)行含有該公差等級(jí)中的全部上下限數(shù)值(GB1801-79表中的一列結(jié)合第二步獲取的被標(biāo)注尺寸數(shù)值,本步即可查出被標(biāo)注尺寸的上下限偏差值,選用Cond函數(shù)判別偏差值所處位置,再用Substr函數(shù)將其讀出,如若被標(biāo)注尺寸為40,則上偏差值為第75字符起的6個(gè)字符,下偏差值為第82字符起的6個(gè)字符,要求Tole.TXT數(shù)據(jù)表應(yīng)豎列整齊。
;R+Gf!1 四、公差值寫入
<RxxGD 用TEXT指令將公差值寫入,其寫入位置依據(jù)名義尺寸的位數(shù)及是否有小數(shù)點(diǎn)算出,角度字高也隨名義尺寸變化。對(duì)JS級(jí)公差作特殊處理(n=10、11、12*)。
z/j*zU
` 為了使Lisp具有通用性,對(duì)絕對(duì)值公差(如+0.01 0、+0.02 0、0 +0.01、*0.01 等)也作了考慮,因?yàn)檫@些公差常用的不多,直接寫入了Lisp程序。程序中n從40起,數(shù)據(jù)表中并沒有第40行以及后續(xù)行。
i{}m 8K) 該Lisp程序不大,但函蓋了全部機(jī)械設(shè)計(jì)中的公差標(biāo)注類型如相對(duì)公差(國(guó)標(biāo))、絕對(duì)公差、一般尺寸、半徑尺寸。為了使標(biāo)注美觀還考慮了小數(shù)點(diǎn),使用了While函數(shù)可對(duì)同公差等級(jí)的尺寸連續(xù)標(biāo)注。
HxR5&o 五、幾點(diǎn)說(shuō)明
7 :\J2$P 1 由于需獲取尺寸標(biāo)注的名義尺寸,故在尺寸標(biāo)注前DIMASO應(yīng)設(shè)定為DFF,否則取不到尺寸數(shù)值。
-qSGa;PJ