李正心,丁亮亮,郝銀萍,杜冬梅
(華北電力大學(xué)能源動力與機械工程學(xué)院,北京市 昌平區(qū) 102206)
隨著我國經(jīng)濟發(fā)展的不斷提速,工業(yè)上對電能的需求量顯著增多。有研究表明在未來 30年內(nèi),煤炭在我國一次能源的使用中仍占很大比重。采用有效措施使燃煤火電機組發(fā)電過程中實現(xiàn)高效、清潔,仍是今后燃煤發(fā)電技術(shù)的重點研發(fā)方向[1-3]。為了保證電廠持續(xù)不間斷供電,火電廠大多配備有萬噸級以上的儲煤場,而露天的煤場在轉(zhuǎn)運煤的過程中不可避免的會產(chǎn)生揚塵等污染[4]。2013年以來,我國中東部地區(qū)相繼爆發(fā)了霧霾天氣,其波及范圍廣,持續(xù)時間長嚴重影響了人民的日常生活和身體健康,使國家相關(guān)部門對環(huán)境治理提高重視。霧霾的形成既有客觀的天氣因素,也受工業(yè)燃煤、發(fā)電燃煤、汽車尾氣等主觀人為因素的影響[5]。為切實緩解霧霾情況,國家有關(guān)部門要求對儲煤場進行全封閉管理,進而有效管控煤炭揚塵污染。全封閉煤場建設(shè)對于發(fā)展煤炭清潔利用、削減煙塵排放量、改善大氣環(huán)境質(zhì)量、推動治污降霾工作落實起到關(guān)鍵作用,同時具有避免極端天氣對煤燃燒品質(zhì)的影響,便于煤炭集中管理等一系列的優(yōu)勢。
由于鋼結(jié)構(gòu)在施工方面的便捷優(yōu)勢和高可靠性被廣泛應(yīng)用于煤場封閉結(jié)構(gòu)設(shè)計中。設(shè)計人員在設(shè)計過程中需要用有限元分析軟件(如 MIDAS)對整體結(jié)構(gòu)進行靜力學(xué)分析,以滿足所設(shè)計鋼結(jié)構(gòu)的可靠性。但是在用 MIDAS軟件導(dǎo)出二維CAD圖紙格式上不滿足施工圖紙的要求,且不能夠自動加注桿件尺寸。由于封閉鋼結(jié)構(gòu)設(shè)計過程中所用的桿件數(shù)量巨大,長短不一,需要工作人員后期耗費大量的時間進行格式修改、尺寸標注和審核工作,大大降低了設(shè)計效率。
王湘文[6]將 AutoLISP語言應(yīng)用在工程測量中明顯提高了工作效率。周浪等[7]采用AutoLISP編程實現(xiàn)了數(shù)字塔基、地形圖塔基斷面自動提取存儲,提高了數(shù)據(jù)處理效率。劉俊等[8]研究了用AutoLISP對AutoCAD圖形進行的參數(shù)化繪圖,表明AutoLISP語言功能強大,是AutoCAD二次開發(fā)的重要工具。張洪雷[9]探討了AutoLISP在機械設(shè)計中的應(yīng)用。趙宏[10]在 AutoLISP語言基礎(chǔ)上設(shè)計了零件序號智能標注程序。Yuqing Li等[11]采用 AutoLISP語言開發(fā)了具有界面框輸入風(fēng)格的零件數(shù)據(jù)繪圖程序和尺寸驅(qū)動方式,提高了設(shè)計速度、效率和質(zhì)量。嵇金龍等[12]利用AutoLISP實現(xiàn)了動力圖紙維護。米雙山等[13]提出了利用AutoLISP提高繪圖效率的方法。
利用AutoLISP對AutoCAD進行二次開發(fā)是提高繪圖效率的一種有效方法[14-16]。MIDAS輸出的二維圖存在的主要問題是標注文本格式不規(guī)范以及缺少施工圖需要的桿件長度尺寸等。為此,文章利用 AutoLISP編程對 MIDAS輸出的AutoCAD圖形進行自動處理,實現(xiàn)對標注文本格式的規(guī)范化,并加注施工圖要求的桿件長度標注,以解決 MIDAS輸出的 CAD圖紙存在的上述問題,免除繁重的手工修改工作,縮短 MIDAS輸出圖形的后期處理時間,大幅度提高工作效率。
圖 1所示為有限元軟件 MIDAS輸出的鋼結(jié)構(gòu)圖的部分截圖。圖中字符串為 MIDAS輸出時自動標注的桿件截面型號。可見存在的問題包括字體高度過大導(dǎo)致標注字符串的顯示有交叉覆蓋現(xiàn)象,標注信息顯示不清晰,不能夠直接用于施工。因此后期文本處理和尺寸標注顯得尤為重要。
大型煤場的封閉鋼結(jié)構(gòu),其桿件數(shù)量龐大,手工修改的工作量非常大,而且繁重的手工重復(fù)操作過程難免會出現(xiàn)錯誤,給后期圖形審核又帶來了很大的壓力。圖 2為煤場總體鋼結(jié)構(gòu)圖,圖3為煤場鋼結(jié)構(gòu)剖面圖。
圖1 MIDAS輸出的鋼結(jié)構(gòu)部分圖形Fig. 1 Steel structure of MIDAS output
圖2 煤場總體鋼結(jié)構(gòu)圖Fig. 2 Overall steel structure of coal yard
圖3 煤場鋼結(jié)構(gòu)剖面圖Fig. 3 Section of the steel structure in the coal yard
在設(shè)計鋼結(jié)構(gòu)的過程中,桿件的延伸方向是任意的,平面上4個象限均有分布。并且通過研究發(fā)現(xiàn) AutoCAD對線段圖元的處理也是有方向性的(即識別起點和終點來進行內(nèi)部存儲),CAD默認以線段的起始位置所對應(yīng)的坐標為起點,結(jié)束位置所對應(yīng)的坐標為終點。據(jù)此對桿件做了圖4所示的簡化。
圖4 2種情況線段位置圖Fig. 4 Schematic diagram of the position of the line segment in both cases
如圖 4(a)所示,構(gòu)造線段 AB(X1,Y1;X2,Y2)來模擬 CAD二維平面圖中一般位置的線段。M為線段AB的中點,L為線段AB的長度,Δd為沿直線AB方向偏移量,Δh為垂直于直線AB方向的偏移量。點 P(XP,YP)為插入尺寸字符串的焦點位置。θ為直線AB與X軸正方向的夾角,圖中所示此時直線 AB在第一象限,θ值的范圍為90°<θ<180°。標注尺寸字符串長度為 Lstr。
線段AB長度,由距離公式計算:
如圖 4(b)所示,構(gòu)造線段 AB(X1,Y1;X2,Y2)來模擬 CAD二維平面圖中的特殊位置的線段。同樣,M為線段AB的中點,L為線段AB的長度,Δd為沿直線 AB方向偏移量,Δh為垂直于直線AB方向的偏移量。點P(XP,YP)為插入尺寸字符串的焦點位置。圖中所示此時線段與 Y軸重合(θ=90°或 180°)。
線段AB長度,由距離公式計算:
文本位置確定的核心步驟是對尺寸字符串插入點算法的設(shè)計。在設(shè)計圖紙過程中圖紙線條的方向延伸至各個方向。通過研究發(fā)現(xiàn)直線在CAD中的呈現(xiàn)是有方向性的,即由起點向終點延伸與X軸正向的夾角即為直線的偏角。本文把二維平面分為4個象限(如圖4所示),共分為2種情況(即一般位置和與Y軸重合),來計算包含所有方向桿件尺寸字符串插入點位置。
設(shè)計時首先要拾取標注尺寸字符串的長度,沿著平行于直線方向和垂直于直線方向進行偏移??紤]到現(xiàn)行推薦標準一般把尺寸標注位置居中處理,并且考慮到左下方插入焦點的位置,所以插入位置要考慮到插入字符串字符的長度。然后由用戶確定插入字符串浮于直線上的距離和沿平行于線段方向偏移的距離,經(jīng)過計算之后轉(zhuǎn)化成尺寸字符串插入點的坐標值P(XP,YP)。
線段AB與X軸正方向的夾角:
要保證插入的尺寸字符串?dāng)[放位置在線段AB中間位置,沿直線偏移量:
由式(1)可以得到第一個基準點 E(XE,YE)的坐標:
如圖 4(b)所示,構(gòu)造線段 AB(X1,Y1;X2,Y2)來模擬CAD二維平面圖中的與Y軸重合的線段。此時線段AB在X軸正半軸上,即X1=X2,Y2>Y1。
可以得到第一個基準點E(XE,YE)的坐標:
P點坐標(XP,YP):
當(dāng)線段AB在X軸負半軸上,即X1=X2,Y2<Y1。此時P點坐標(XP,YP):
AutoLISP和ActiveX是在CAD二次開發(fā)中應(yīng)用最多的兩大主流語言。二者各具特點,AutoLISP功能強大,工程實用性強,幾乎可以調(diào)用全部的AutoCAD命令[14-18],ActiveX在CAD二次開發(fā)過程中語言更加簡潔,執(zhí)行起來速度更快。本文在程序?qū)崿F(xiàn)過程中結(jié)合2種語言的優(yōu)勢,使用AutoLISP語言對文本進行替換和尺寸標注,使用ActiveX對字體高度進行修改。實現(xiàn)了尺寸自動標注和文本的修改并且使程序更加簡潔。主體流程圖如圖5所示。
研究發(fā)現(xiàn) CAD將圖形數(shù)據(jù)信息分成不同的類別存放在圖元中(圖元指的是圖形數(shù)據(jù),所對應(yīng)的就是繪圖界面上看得見的實體),例如用“l(fā)ine”來表示線段的信息,用“TEXT”、“MTEXT”來表示文本信息。
1)利用“SSNAME”函數(shù)提取每一個“l(fā)ine”屬性和“TEXT”和“MTEXT”的圖元信息(DXF碼);2)輸入目標子串參數(shù)、替換子串參數(shù)分別賦值給預(yù)先定義的變量;3)判定每個選取對象的文本類型,讀取相應(yīng)的圖元信息,利用 ActiveX激活 CAD內(nèi)部替換命令,最后替換目標子串的內(nèi)容,修改字體高度,完成修改。
“l(fā)ine”屬性圖元中DXF標志碼包含了線段的全部信息。取出線段起點和終點坐標(X1,Y1)和(X2,Y2),利用AutoLISP所提供的“ANGLE”函數(shù)和“DISTANCE”函數(shù)分別求出線段的X軸正向的夾角θ和長度值,進而確定了插入尺寸的字符串的值和偏轉(zhuǎn)角度和尺寸插入點的位置P(XP, YP),以使插入的尺寸字符串與線段平行且位于中央,實現(xiàn)自動標注。
圖5 主體程序流程圖Fig. 5 Flow chart of the main program
考慮到使程序整體更加人性化,增強人機交互性,以期能夠滿足大多數(shù)設(shè)計人員的修改要求。程序在設(shè)計過程中,增加了對話框交互界面,對話框結(jié)構(gòu)設(shè)計如圖6所示。通過對話框驅(qū)動程序(duihuakuang:dialog{ }),對對話框界面進行設(shè)計。界面分為“文本替換”、“調(diào)整字高”、“自動標注尺寸”這 3個模塊和“確定區(qū)”、“取消區(qū)”這2個命令控制區(qū)域。進而能夠根據(jù)用戶的需求設(shè)置字體的高度,批量替換的內(nèi)容和自動標注的位置,滿足特定用戶的一些特殊需求。對話框界面運行結(jié)果如圖7所示。
程序運行結(jié)果如圖8所示,尺寸長度字符串字體大小與截面型號字符串一致,并且表達清晰符合國家推薦標準。與圖3所示MIDAS導(dǎo)出圖相比,對字體高度進行了修改,如圖8所示,修改字高為20,并實現(xiàn)了字符的自由替換,圖8中展示為替換字母“P”為“A”的結(jié)果。
圖6 對話結(jié)構(gòu)設(shè)計Fig. 6 Dialogue structure design
圖7 程序運行主界面Fig. 7 Main interface
圖8 程序自動修改后圖形Fig. 8 Program automatically modified graphics
通過AutoLISP和ActiveX對AutoCAD的二次開發(fā),實現(xiàn)大型電廠煤場封閉鋼結(jié)構(gòu)設(shè)計過程中 MIDAS有限元分析軟件導(dǎo)出圖字體高度、文本內(nèi)容的批量處理和尺寸長度的自動標注。解決了 MIDAS導(dǎo)出圖標注重疊、無桿件長度信息等一系列不符合施工圖紙規(guī)范的問題,程序自動批量修改代替人工修改的重復(fù)性工作,不僅極大地提高鋼結(jié)構(gòu)設(shè)計的工作效率,也減輕了后期圖形審核人員的工作強度和壓力,具有很強的工程實用性。