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