吳海宏
摘 要:本文基于.Net平臺采用c#語言對AutoCAD進(jìn)行二次開發(fā),研制了多種風(fēng)電塔筒參數(shù)化展開放樣技術(shù),解決了風(fēng)電塔筒生產(chǎn)過程中傳統(tǒng)手工放樣及繪圖的難題,提高了放樣和繪圖的工作效率和準(zhǔn)確率。
關(guān)鍵詞:風(fēng)電塔筒;參數(shù)化;展開放樣;CAD二次開發(fā)
DOI:10.16640/j.cnki.37-1222/t.2018.13.176
1 引言
風(fēng)電塔筒項目在投標(biāo)報價及生產(chǎn)準(zhǔn)備環(huán)節(jié),必須快速算出筒身鋼材的實(shí)際訂購量,在生產(chǎn)環(huán)節(jié)則需要詳細(xì)的下料圖。通常技術(shù)員手工計算往往需要1-2天的拆料、繪圖、復(fù)核及統(tǒng)計。風(fēng)電塔筒設(shè)計圖紙一般將同種板厚的筒體高度定為4800mm、6900mm、7200mm等,需要由制造廠將同種板厚的筒體自行拆圖?;诠?jié)省鋼材和采購方便的角度考慮,在拆圖的時候需要考慮所拆的同種板厚原材料的板寬相同。由于該過程手工計算量較大,且手工計算出錯率高,如果能夠通過計算機(jī)自動計算及繪圖,則可提高出圖效率,從而更好響應(yīng)市場需求?;谏a(chǎn)實(shí)際的需要,本文研究開發(fā)了多種風(fēng)電塔筒參數(shù)化展開放樣技術(shù)。
2 研究思路
通過研究風(fēng)電塔筒的單節(jié)、多節(jié)展開放樣技術(shù),采用VS 2005軟件對AutoCAD2007軟件進(jìn)行二次開發(fā)。在.NET平臺上采用C#語言,對風(fēng)電塔筒采用展開計算法進(jìn)行計算,實(shí)現(xiàn)自動展開計算功能;利用CAD核心數(shù)據(jù)庫結(jié)構(gòu)、圖形系統(tǒng),通過向CAD對象發(fā)送消息,直接調(diào)用CAD核心函數(shù),從而實(shí)現(xiàn)自動繪圖功能。
3 風(fēng)電塔筒展開放樣計算原理
風(fēng)電塔筒鋼板采購時均要求雙定尺,根據(jù)錐形筒的特征,每塊板的長度寬度均不同,但如在放樣時考慮同種板厚的鋼板調(diào)整為相同板寬,則可以減少定尺的種類要求和板材損耗,減少采購費(fèi)用。如圖1,當(dāng)n=2時需要計算出一個關(guān)鍵的參數(shù)R2,即可滿足采購時同種板厚的鋼材等板寬原則。
根據(jù)已知參數(shù)小端直徑d1、大端直徑d2、錐筒高H、板厚t、分節(jié)數(shù)n,利用幾何關(guān)系依次求得錐筒下夾角∠b、R1,R3,展開扇形夾角∠a,設(shè)立方程解得R2 = (R3+R1*cos(a/2))/(1+cos(a/2));再求出兩張鋼板寬S=R2-R1*cos(a/2),上端板長L1=2*R2*sin(a/2),下端板長L2=2*R3*sin(a/2)。
將以上計算原理的各種分塊計算情況通過函數(shù)的形式封裝在CL.cs類文件中,待需要時直接調(diào)用,如下所示:
public static void DrawPolyLine(double d1,double d2,double H,int n,int t )。
4 風(fēng)電塔筒展開放樣自動繪圖原理
為了訪問CAD模型空間、圖紙空間,需要先引用“AutoCAD 2007 Type Library.dll”、“AutoCAD/ObjectDBX Common 17.0 Type Library.dll”和“Microsoft.VisualBasic.dll”三個文件,保證放樣程序與CAD軟件的通信。
將直線和弧線等繪圖功能采用函數(shù)的形式,封裝在PF.cs類文件中,例如,以pt1為起點(diǎn),pt2為終點(diǎn)的直線繪圖函數(shù)如下:
public static ObjectId AddLine(Point3d pt1, Point3d pt2)
{ Line ent = new Line(pt1, pt2);
ObjectId entId = AppendEntity(ent);
return entId; }
在自動繪圖前,利用函數(shù)DrawPolyLine計算出原點(diǎn)坐標(biāo)ppt0,弧線的半徑值R1、R2、R3,角度值astar、aend,以及六個端點(diǎn)的坐標(biāo)值,然后調(diào)用PF.cs中的繪制弧線和直線的函數(shù)。上端板的繪圖調(diào)用如下:
PF.AddArc(ppt0, R1, astar,aend);
PF.AddArc(ppt0, R2, astar, aend);
PF.AddLine(ppt2, ppt3);
PF.AddLine(ppt1, ppt4);
5 功能實(shí)現(xiàn)及界面設(shè)計
(1)單節(jié)塔筒放樣。單節(jié)塔筒放樣程序的界面設(shè)計如圖2,在獲取屏幕參數(shù)后,直接調(diào)用函數(shù)DrawPolyLine(d, D, H, n,t),先根據(jù)同板厚鋼板等板寬展開計算原理,利用switch(n)和case語句,求得n節(jié)情況下的關(guān)鍵參數(shù),再將關(guān)鍵參數(shù)傳遞給PF.cs的繪圖函數(shù),實(shí)現(xiàn)繪圖功能。
(2)多節(jié)塔筒放樣。多節(jié)塔筒放樣程序的界面設(shè)計如圖3,獲取的參數(shù)存入一維數(shù)組arr[i]中,再直接調(diào)用函數(shù)DrawPolyLineM(arr[i], k)進(jìn)行k次單節(jié)塔筒展開計算和繪圖,計算和繪圖原理與單節(jié)塔筒放樣相同。
6 結(jié)語
利用AutoCAD提供的API接口,可以訪問、創(chuàng)建及編輯各類對象。在此基礎(chǔ)上能夠靈活開發(fā)出適合企業(yè)產(chǎn)品的各類自動繪圖程序。本文通過開發(fā)風(fēng)電塔筒參數(shù)化放樣及繪圖程序,實(shí)現(xiàn)輸入關(guān)鍵參數(shù)即可輸出下料圖紙,極大提高繪圖效率和節(jié)約鋼材損耗,也為今后對復(fù)雜的結(jié)構(gòu)件的展開放樣提供了思路和借鑒。
參考文獻(xiàn):
[1]張帆.盧擇臨.AutoCAD VBA & VB.NET開發(fā)基礎(chǔ)與實(shí)例教程[M].中國電力出版社,2008(02).
[2] 董慶華.鈑金展開速查手冊[M].化學(xué)工業(yè)出版社,2008(02).