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