一、引言
在進(jìn)行旋轉(zhuǎn)類拉延件拉延工藝設(shè)計(jì)時(shí),以最后一次拉深成形的制件為基礎(chǔ)計(jì)算出毛坯尺寸(直徑)是必不可少的工作。手工計(jì)算時(shí),由于旋轉(zhuǎn)類拉延件形狀變化大,故常涉及到大量的公式和表格,計(jì)算過程較為繁瑣、枯燥。
AutoCAD是國內(nèi)目前較普遍使用的計(jì)算機(jī)繪圖軟件,待加工的拉延件的零件圖常常已經(jīng)在AutoCAD環(huán)境下繪出。根據(jù)AutoCAD下的零件圖,通過開發(fā)軟件自動(dòng)分析計(jì)算出毛坯尺寸,是一項(xiàng)較有意義的工作。
AutoCAD軟件包從AutoCAD R11.0開始,增加了ADS功能,可通過C語言按ADS指定的形式來調(diào)用AutoCAD的所有命令,并可進(jìn)行實(shí)體(即點(diǎn)、直線、圓弧等)幾何信息的讀取,從而大大加強(qiáng)了利用AutoCAD進(jìn)行二次開發(fā)的功能。
為此,筆者利用AutoCAD的ADS功能,開發(fā)了一個(gè)對于AutoCAD環(huán)境下任意繪出的旋轉(zhuǎn)類拉延件能自動(dòng)計(jì)算毛坯尺寸的程序。該軟件采用AutoCAD R12.0 for DOS下的ADS開發(fā),利用ADS函數(shù)庫編制的C程序通過High C 1.7編譯,在AutoCAD Command狀態(tài)下運(yùn)行,可迅速準(zhǔn)確地計(jì)算毛坯尺寸。
二、軟件設(shè)計(jì)
1.軟件設(shè)計(jì)思想
根據(jù)久里金法則,任意由直線和圓弧為母線形成的旋轉(zhuǎn)拉延件的毛料直徑D可由下式?jīng)Q定:
式中 Li——旋轉(zhuǎn)拉延件中性層各線段(直線和圓弧)長度
Xi——旋轉(zhuǎn)拉延件中性層各線段(直線和圓弧)重心到旋轉(zhuǎn)軸的距離
num——旋轉(zhuǎn)拉延件中性層線段數(shù)
圖1示出了某旋轉(zhuǎn)拉延件的線段長度及其重心的標(biāo)注,中性層共有由8段線段組成,其中直線4段(L1,L3,L6,L8),圓弧4段(L2,L4,L5,L7)。
圖1 一個(gè)旋轉(zhuǎn)拉延件
現(xiàn)在需解決的問題是需要獲取中性層各線段的幾何參數(shù),如直線的起始、終止點(diǎn)坐標(biāo),圓弧的圓心、半徑、起始角、終止角。獲取中性層各線段的幾何參數(shù)后,根據(jù)有關(guān)公式即可求得各線段(包括直線、圓弧)的長度及重心位置,從而可由以上公式求得毛料直徑。
然而,中性層是假想的,由AutoCAD命令任意繪出工件圖的中性層往往也并未畫出,故需要首先讀取工件圖中內(nèi)外兩側(cè)各直線和圓弧的幾何數(shù)據(jù),然后即可間接地求得中性層各線段的幾何參數(shù)。
故本程序設(shè)計(jì)與實(shí)現(xiàn)上分為4個(gè)大的步驟:
(1)分別讀取工件圖內(nèi)、外側(cè)各線段的幾何數(shù)據(jù);
(2)利用內(nèi)外側(cè)各線段幾何數(shù)據(jù)求中性層各線段幾何數(shù)據(jù);
(3)求中性層各線段的長度及重心位置;
(4)利用公式(1)求得毛料直徑。
在第1、2、3步中采用了表1所示結(jié)構(gòu)用于存貯內(nèi)外側(cè)及中性層各線段幾何數(shù)據(jù)。
表1 實(shí)體信息的存貯方式
2.軟件結(jié)構(gòu)
圖2 旋轉(zhuǎn)拉延件毛坯尺寸計(jì)算軟件流程圖
根據(jù)以上設(shè)計(jì)思想,本軟件結(jié)構(gòu)流程圖如圖2所示。其中,表PR_SS[N] [5]、PR_L[num] [5]、PR_W [num] [5]、PR_M(jìn) [num] [5]的結(jié)構(gòu)形式與表1相同。
三、制件圖內(nèi)外側(cè)各線段實(shí)體信息讀取的算法
如上所述,AutoCAD環(huán)境下的制件圖內(nèi)外側(cè)線段實(shí)體信息的拾取(即圖2的前4個(gè)部分)是實(shí)現(xiàn)本程序的關(guān)鍵。現(xiàn)設(shè)定用于表達(dá)旋轉(zhuǎn)拉延件內(nèi)外結(jié)構(gòu)的所有線段均繪于“0”層(這也符合一般AutoCAD繪圖習(xí)慣),而尺寸標(biāo)注、剖面線等則置于另外的層,則內(nèi)外層線段幾何信息讀取算法如下:
Stepl【交互拾取表示厚度的左實(shí)體】
交互選擇表示厚度的中心線左側(cè)實(shí)體S0(如圖1所注)
Step2【獲取實(shí)體S0的兩個(gè)端點(diǎn)】
讀取實(shí)體S0的兩端點(diǎn)坐標(biāo),存入數(shù)組PRSO[2][2]中
Step3【拾取0層上的所有實(shí)體】
建立0層上的所有實(shí)體的集合SS{S0,S1,…,Si,…}
Step4【獲取實(shí)體集SS的實(shí)體數(shù)量】
從實(shí)體集合SS中獲取實(shí)體數(shù)量N
Step5【獲取實(shí)體集SS中一個(gè)實(shí)體的信息】
從SS中選擇一個(gè)實(shí)體SSi,讀取它的幾何信息
Step6【實(shí)體信息存放】
將實(shí)體SSi幾何信息放入如表1形式的數(shù)組PRSS[N][5]中
Step7【判斷】N=N-1 如N>0,進(jìn)入Step5,否則進(jìn)入Step8
Step8【內(nèi)外側(cè)線段實(shí)體信息選擇】
根據(jù)數(shù)組PRS0[2][2]和PRSS[N][5],分別建立存貯制件外側(cè)線段幾何參數(shù)的數(shù)組PRW[num][5]及內(nèi)側(cè)線段幾何參數(shù)的數(shù)組PRL[num][5]
其中,Step1主要由調(diào)用adsssget( )函數(shù)完成
Step2主要由調(diào)用adsentget( )函數(shù)完成
Step3主要由調(diào)用adsssget( )函數(shù)完成
Step4主要由調(diào)用adssslength( )函數(shù)完成
Step5主要由調(diào)用adsentget( )函數(shù)完成
Step1中ADS函數(shù)adsssget( )的調(diào)用格式為:
adsname S0; /* 實(shí)體名變量 */
adsssget(NULL,NULL,NULL,NULL,S0); /* 交互選擇獲取實(shí)體 */
Step3中該函數(shù)的調(diào)用格式為:
adsname SS; /* 實(shí)體集名變量 */
Char sbuf[6];/*層名變量 */
struct resbuf eb; /* 結(jié)構(gòu)緩沖器變量 */
strcpy(sbuf,“0”); /* 層名變量賦值 */
eb.resval.rstring=sbuf; /* 結(jié)構(gòu)緩沖器字符串賦值 */
adsssget(“X”,NULL,NULL,&eb,SS); /* 獲取“0”層實(shí)體集*/
在Step2、Step5中調(diào)用adsentget( )函數(shù)的實(shí)質(zhì)是產(chǎn)生一個(gè)結(jié)構(gòu)緩沖器鏈表,該鏈表的結(jié)構(gòu)示意圖如圖3所示。
圖3 結(jié)構(gòu)緩沖器鏈表示意圖
從結(jié)構(gòu)緩沖器鏈表中可獲取當(dāng)前實(shí)體集中每個(gè)實(shí)體的類型(如點(diǎn)、直線、圓弧等相應(yīng)的DXF代碼)和幾何參數(shù)(即直線的起始、終止點(diǎn)坐標(biāo),圓弧的圓心、半徑、起始角、終止角),由于程序段稍長,此處從略。#p#分頁標(biāo)題#e#
Step8主要根據(jù)S0的兩個(gè)端點(diǎn)坐標(biāo)(存于數(shù)組PRS0[2][2])和零件圖內(nèi)外側(cè)所有的實(shí)體的幾何信息(存于數(shù)組PRSS[N][5])按首尾相連原則分別確定內(nèi)側(cè)和外側(cè)線段及其幾何參數(shù),并分別存入相應(yīng)數(shù)組PRL[num][5]和PRW[num][5]中。
四、結(jié)束語
作者根據(jù)以上程序設(shè)計(jì)思想和有關(guān)算法,設(shè)計(jì)完成了旋轉(zhuǎn)拉延件毛坯尺寸的自動(dòng)計(jì)算軟件。在AutoCAD COMMAND狀態(tài)下通過“XLOAD”命令加載本程序后,繪制(或調(diào)入)一個(gè)旋轉(zhuǎn)拉延件零件圖,運(yùn)行本程序,即可在屏幕上顯示打印出毛坯尺寸。
該程序已對多個(gè)由AutoCAD繪制的任意復(fù)雜程度的旋轉(zhuǎn)拉延件計(jì)算出毛坯尺寸。運(yùn)行表明:程序正確、可靠,能滿足迅速、自動(dòng)計(jì)算毛坯直徑的要求。本程序既可單獨(dú)運(yùn)行,也可作為后續(xù)的拉延模CAD系統(tǒng)的一個(gè)子系統(tǒng)運(yùn)行。
相關(guān)文章
- 2021-09-08全國專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF
- 2021-08-29機(jī)械制圖與AutoCAD [李志明 主編] 2014年P(guān)DF下載
- 2021-08-29機(jī)械制圖與AutoCAD [陶素連,周欽河 主編] 2013年P(guān)DF下