馬學(xué)知
(重慶工業(yè)職業(yè)技術(shù)學(xué)院,重慶 401120)
零件破壞一般總是從表面層開(kāi)始的,為了保證零件的使用性能,在零件圖上必須標(biāo)注零件的表面結(jié)構(gòu)要求。實(shí)踐中,常用表面粗糙度參數(shù)Ra來(lái)評(píng)定零件的表面質(zhì)量。AutoCAD是目前廣泛應(yīng)用于各行業(yè)的一種通用CAD軟件,它沒(méi)有提供表面結(jié)構(gòu)標(biāo)注的命令,標(biāo)注時(shí)常用的方法主要有三種[1~3]:一是以插入帶屬性塊的方式標(biāo)注;二是利用添加參數(shù)與動(dòng)作的動(dòng)態(tài)塊標(biāo)注;三是使用AutoCAD自帶二次開(kāi)發(fā)軟件包如AutoLISP編寫程序,實(shí)現(xiàn)智能化標(biāo)注。使用前兩種方法標(biāo)注時(shí),需要?jiǎng)?chuàng)建多個(gè)塊,并且每次需要用鍵盤輸入?yún)?shù)代號(hào)及參數(shù)值,調(diào)整也相對(duì)煩瑣;第三種方法雖然高效,但僅局限于表面結(jié)構(gòu)要求的標(biāo)注。針對(duì)AutoCAD軟件中表面結(jié)構(gòu)要求標(biāo)注時(shí)存在的上述問(wèn)題,本文介紹了一種使用內(nèi)嵌的AutoLISP語(yǔ)言擴(kuò)展動(dòng)態(tài)塊的可見(jiàn)性參數(shù)功能來(lái)實(shí)現(xiàn)表面結(jié)構(gòu)標(biāo)注的方法。
在“塊編輯器”界面中,可見(jiàn)性參數(shù)允許用戶創(chuàng)建可見(jiàn)性狀態(tài)并控制對(duì)象在塊中的可見(jiàn)性。默認(rèn)情況下,系統(tǒng)只允許創(chuàng)建一個(gè)可見(jiàn)性參數(shù),并總是應(yīng)用于整個(gè)塊[4]。在圖形中單擊夾點(diǎn),從下拉列表中選擇選項(xiàng)來(lái)控制塊中元素的可見(jiàn)性。表面結(jié)構(gòu)要求有3種符號(hào)類型、2種標(biāo)注方式和5個(gè)補(bǔ)充要求等,標(biāo)注時(shí)會(huì)形成許多不同的標(biāo)注組合[5]。采用插入塊的方法標(biāo)注時(shí),需要定義多個(gè)塊。如果能用多個(gè)可見(jiàn)性參數(shù)集來(lái)控制其符號(hào)類型和標(biāo)注方式等,這時(shí)只需定義一個(gè)塊,就能滿足要求。
AutoLISP是一個(gè)嵌入AutoCAD內(nèi)部的LISP編程語(yǔ)言,其語(yǔ)法簡(jiǎn)單、功能函數(shù)強(qiáng)大[6]。AutoLISP應(yīng)用程序或程序可以實(shí)現(xiàn)對(duì)AutoCAD當(dāng)前數(shù)據(jù)庫(kù)的直接訪問(wèn)、修改或創(chuàng)建處理,來(lái)擴(kuò)展、定制和開(kāi)發(fā)AutoCAD的功能。塊動(dòng)態(tài)參數(shù)的重要信息存儲(chǔ)在ACAD_EVALUATION_GRAPH字典里。利用AutoLISP語(yǔ)言二次開(kāi)發(fā)時(shí),通過(guò)函數(shù)獲取、修改和存儲(chǔ)字典信息以實(shí)現(xiàn)所要求的功能:添加可見(jiàn)性參數(shù)并激活該參數(shù),使之處于可編輯狀態(tài);不同類型可見(jiàn)性狀態(tài)切換時(shí),其可見(jiàn)性狀態(tài)互不影響。這兩個(gè)功能分別由AutoLISP程序定義的vis_add和ele_del命令來(lái)實(shí)現(xiàn),圖1為ele_del函數(shù)的程序流程圖。
根據(jù)GB/T131-2006/ISO1302:2002[5]關(guān)于表面結(jié)構(gòu)符號(hào)、代號(hào)、標(biāo)注的規(guī)定,利用繪圖與編輯命令,繪出不同表面結(jié)構(gòu)要求和相同表面結(jié)構(gòu)要求標(biāo)注組合圖形,其中帶實(shí)心箭頭的斜線使用“多重引線”命令繪制;用多行文本命令書寫常用的表面粗糙度參數(shù)代號(hào)及參數(shù)值,如Ra 100、Ra 50、Ra 25、Ra 12.5、Ra 6.3……,圖2為繪制好的表面結(jié)構(gòu)組合圖;然后以表面結(jié)構(gòu)組合圖為對(duì)象,尖底為基點(diǎn),定義名為“表面結(jié)構(gòu)”的內(nèi)部塊。
圖1 程序流程圖
根據(jù)國(guó)家標(biāo)準(zhǔn),在表面結(jié)構(gòu)“塊編輯器”界面中,添加必要的參數(shù)和與之相關(guān)的動(dòng)作,完成后的圖如圖3所示。
按照命令行提示,以C點(diǎn)為基點(diǎn)、圖中水平虛線為對(duì)齊方向,添加對(duì)齊參數(shù)。利用添加的對(duì)齊參數(shù)來(lái)保證標(biāo)注時(shí)尖底始終與標(biāo)注的零件表面垂直,并從材料外指向零件表面。
按照命令行提示,以B點(diǎn)為基點(diǎn),A點(diǎn)為端點(diǎn),選擇帶實(shí)心箭頭的斜線為拉伸對(duì)象,添加極軸參數(shù)和極軸拉伸動(dòng)作;打開(kāi)正交模式,以E點(diǎn)為投影線的基點(diǎn),指定豎直方向上的某一點(diǎn)為投影線的端點(diǎn),圖中豎直虛線即為翻轉(zhuǎn)投影線,選擇指引線及極軸參數(shù)與極軸拉伸動(dòng)作和右側(cè)橫線為翻轉(zhuǎn)對(duì)象,添加翻轉(zhuǎn)參數(shù)和翻轉(zhuǎn)動(dòng)作。通過(guò)添加的兩個(gè)參數(shù)與相應(yīng)動(dòng)作來(lái)保證不同位置表面引出標(biāo)注時(shí),能實(shí)現(xiàn)實(shí)時(shí)調(diào)整指引線的長(zhǎng)度和角度。
按照命令行提示,捕捉D點(diǎn)為點(diǎn)參數(shù)位置,選擇圓括號(hào)及圓括號(hào)內(nèi)基本符號(hào)為移動(dòng)對(duì)象,添加點(diǎn)參數(shù)及移動(dòng)動(dòng)作,實(shí)現(xiàn)有相同表面結(jié)構(gòu)要求簡(jiǎn)化標(biāo)注時(shí),圓括號(hào)及圓括號(hào)內(nèi)基本符號(hào)位置的調(diào)整。
圖2 表面結(jié)構(gòu)組合圖
圖3 添加參數(shù)與動(dòng)作的動(dòng)態(tài)塊
由于零件的表面位置和用途不同,再結(jié)合表面結(jié)構(gòu)標(biāo)注的特征,創(chuàng)建的動(dòng)態(tài)塊要能實(shí)現(xiàn)以下幾個(gè)功能:表面結(jié)構(gòu)符號(hào)類型的選擇、表面結(jié)構(gòu)參數(shù)代號(hào)及參數(shù)值的選擇、表面結(jié)構(gòu)標(biāo)注方式的選擇和表面結(jié)構(gòu)簡(jiǎn)化注法的選擇,因此需要向動(dòng)態(tài)塊中插入四個(gè)可見(jiàn)性參數(shù)集,其操作過(guò)程如圖4所示,完成后的圖如圖5所示。在圖形中選中插入的動(dòng)態(tài)塊并單擊可見(jiàn)性參數(shù)夾點(diǎn),在如圖6所示彈出的可見(jiàn)性狀態(tài)的列表中選擇所需選項(xiàng),動(dòng)態(tài)塊便自動(dòng)改變其顯示狀態(tài),圖7為表面結(jié)構(gòu)標(biāo)注實(shí)例。
圖4 操作過(guò)程圖
圖5 表面結(jié)構(gòu)動(dòng)態(tài)塊
圖6 表面結(jié)構(gòu)可見(jiàn)性狀態(tài)列表
圖7 表面結(jié)構(gòu)標(biāo)注實(shí)例
實(shí)際應(yīng)用證明,應(yīng)用AutoLISP語(yǔ)言開(kāi)發(fā)的程序,實(shí)現(xiàn)了動(dòng)態(tài)塊中添加多個(gè)可見(jiàn)性參數(shù)集的功能,創(chuàng)建的一個(gè)表面結(jié)構(gòu)動(dòng)態(tài)塊就基本可以滿足機(jī)械零件表面結(jié)構(gòu)標(biāo)注的要求,解決了AutoCAD中標(biāo)注時(shí)存在的問(wèn)題,提高了繪圖效率。另外,此程序擴(kuò)展的功能同樣適用于其他如電氣、液壓與氣壓等設(shè)計(jì)領(lǐng)域中類似問(wèn)題的處理,也可以作為教學(xué)中動(dòng)態(tài)塊與AutoLISP語(yǔ)言程序設(shè)計(jì)教學(xué)的案例。
[1]黃藝婷.用AutoCAD創(chuàng)建和插入表面結(jié)構(gòu)要求符號(hào)圖塊[J].機(jī)械工程與自動(dòng)化,2011,6(12):191-192,195.
[2]佟以丹.在AutoCAD中創(chuàng)建動(dòng)態(tài)塊標(biāo)注表面結(jié)構(gòu)[J].吉林化工學(xué)院學(xué)報(bào),2012,29(3):50-53.
[3]李東生.機(jī)械CAD中有關(guān)表面結(jié)構(gòu)標(biāo)注功能的開(kāi)發(fā)[J].齊齊哈爾大學(xué)學(xué)報(bào),2011,27(1):43-44.
[4]AutoCAD2012用戶手冊(cè):在動(dòng)態(tài)塊中使用參數(shù)[Z].
[5]中國(guó)國(guó)家標(biāo)準(zhǔn)化管理委員會(huì).GB/T131-2006產(chǎn)品幾何技術(shù)規(guī)范(GPS)技術(shù)產(chǎn)品文件中表面結(jié)構(gòu)的表示法[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2006.
[6]吳永進(jìn),林美櫻.AutoCAD完全應(yīng)用指南:AutoLISP+DCL+Visual LISP程序設(shè)計(jì)篇[M].北京:科學(xué)出版社,2011.