夏文俊
(1.中鐵第四勘察設(shè)計(jì)院集團(tuán)有限公司,武漢 430063; 2.中鐵建大橋設(shè)計(jì)研究院,武漢 430063)
目前我國(guó)鐵路建設(shè)快速推進(jìn),箱梁鋼筋圖作為一種二維圖交付手段,是指導(dǎo)后續(xù)施工、運(yùn)維的重要技術(shù)文檔。箱梁鋼筋圖的主要工作量集中在繪圖、標(biāo)注。而繪制一套圖面整齊、表達(dá)清晰、符合規(guī)范的箱梁鋼筋圖占用大量人力成本。同時(shí)隨著鐵路BIM發(fā)展的需求[1-2],通過(guò)BIM模型銜接設(shè)計(jì)與施工,基于設(shè)計(jì)BIM模型轉(zhuǎn)化二維施工圖也正在逐步成為研究重點(diǎn)與熱點(diǎn)[3-5]。但是目前根據(jù)參數(shù)化三維模型自動(dòng)生成的工程圖,存在布局混亂,視圖比例不合理,尺寸標(biāo)注交叉,注釋錯(cuò)位等問(wèn)題。為了應(yīng)對(duì)鐵路箱梁鋼筋圖緊迫的生產(chǎn)任務(wù),同時(shí)迅速完成高質(zhì)量施工圖,亟需一種自動(dòng)標(biāo)注算法模型,自動(dòng)調(diào)整標(biāo)注,快速生成施工圖。
目前國(guó)內(nèi)外專(zhuān)家已經(jīng)對(duì)工程圖的自動(dòng)化布局進(jìn)行大量研究,并取得一定成果。陳樂(lè)、歐陽(yáng)世嘉、董天林、王福勝等分別基于三維SolidWorks、UG、Inventor、CATIA等BIM圖形平臺(tái)進(jìn)行二次開(kāi)發(fā),這些研究主要針對(duì)工程中大量存在的水平與豎直尺寸標(biāo)注,實(shí)現(xiàn)二維圖標(biāo)注自動(dòng)布局[6-9]。黃靜菲基于BIM正向設(shè)計(jì)及IFC鐵路數(shù)據(jù)交換標(biāo)準(zhǔn),完成二維施工圖尺寸標(biāo)注自動(dòng)生成方法,為設(shè)計(jì)、施工、運(yùn)維協(xié)同設(shè)計(jì)提供有效借鑒[10]。袁波[11],王濤[12],閔衛(wèi)東[13]基于尺寸模糊識(shí)別,通過(guò)尺寸子集規(guī)劃與包容排序算法完成尺寸布局。但以上算法主要針對(duì)線(xiàn)性標(biāo)注,且算法模型抽象程度不高,不能適應(yīng)復(fù)雜圖形。
朱學(xué)敏[14]利用遺傳算法實(shí)現(xiàn)基于模板參數(shù)化驅(qū)動(dòng)更新方案,完成工程圖整體方案布局優(yōu)化。Li C L[15]針對(duì)機(jī)械概念中的孔特征,采用動(dòng)態(tài)規(guī)劃的思想,適配不同尺寸標(biāo)注標(biāo)準(zhǔn),進(jìn)行自動(dòng)布局。黃學(xué)良[16]與鮑齊友[17]均提出一種網(wǎng)格化方法,該方法首先對(duì)布局空間進(jìn)行網(wǎng)格劃分,并采用矩陣表達(dá)布局空間的狀態(tài),結(jié)合標(biāo)注文本區(qū)域的網(wǎng)格劃分,將標(biāo)注布局問(wèn)題簡(jiǎn)化為在狀態(tài)矩陣中尋找符合某種條件的小塊矩陣最優(yōu)解問(wèn)題。該方法實(shí)現(xiàn)了標(biāo)注位置的自動(dòng)搜索,避免了大量的干涉處理,但是程序消耗內(nèi)存高且標(biāo)注自動(dòng)布局耗時(shí)長(zhǎng)。
綜上所述,目前的自動(dòng)標(biāo)注技術(shù)主要有以下不足:
(1)標(biāo)注未進(jìn)行有效分類(lèi),標(biāo)注模型不具有普遍通用性,特別是針對(duì)鐵路箱梁鋼筋圖標(biāo)注的研究開(kāi)展較少;
(2)標(biāo)注優(yōu)化容易陷入局部最優(yōu),找不到全局最優(yōu)解;
(3)標(biāo)注布局時(shí)間過(guò)長(zhǎng),算法消耗內(nèi)存大,布局效率低。
故本文通過(guò)剖面劃分,提取、抽象箱梁中圖元與標(biāo)注基本模型,采用FR力引導(dǎo)改進(jìn)算法,結(jié)合模擬退火方法中溫度概念,實(shí)現(xiàn)一種尺寸自動(dòng)布局算法。該算法智能布局時(shí)間短,收斂速度快,標(biāo)注調(diào)整效果佳。
尺寸標(biāo)注的組成元素包括尺寸引導(dǎo)線(xiàn),尺寸線(xiàn)、尺寸界限、尺寸數(shù)據(jù)、箭頭。
鐵路箱梁鋼筋圖中還大量存在鋼筋標(biāo)注。這些標(biāo)注主要分為單點(diǎn)筋標(biāo)注、多點(diǎn)筋標(biāo)注、單線(xiàn)筋標(biāo)注、多線(xiàn)筋標(biāo)注,連續(xù)尺寸標(biāo)注等。
通過(guò)三維BIM模型的剖切投影,剖切平面可形成內(nèi)輪廓或外輪廓?;阡摻顖D標(biāo)注繪圖特點(diǎn),可以將尺寸標(biāo)注進(jìn)行適當(dāng)簡(jiǎn)化,簡(jiǎn)化后的尺寸標(biāo)注抽象模型主要包括被標(biāo)注元素點(diǎn)、標(biāo)注引線(xiàn)、標(biāo)注文本等效點(diǎn)。鋼筋標(biāo)準(zhǔn)抽象模型如圖1所示。
圖1 鋼筋標(biāo)準(zhǔn)抽象模型
根據(jù)鋼筋圖標(biāo)注位置信息可以得到標(biāo)注與內(nèi)外輪廓的拓?fù)鋷缀侮P(guān)系。標(biāo)注元素和邊界條件抽象模型如圖2所示。
圖2 邊界及標(biāo)注抽象模型
(1)滿(mǎn)足美觀原則,盡量保證標(biāo)注引導(dǎo)線(xiàn)不交叉,標(biāo)注之間不重疊且分布均勻。
(2)滿(mǎn)足設(shè)計(jì)要求,保證標(biāo)注質(zhì)量,符合專(zhuān)業(yè)繪圖標(biāo)準(zhǔn),標(biāo)注位置布局恰當(dāng)。
(3)滿(mǎn)足適應(yīng)性要求,適應(yīng)各種不同剖面的布局方法,算法應(yīng)具有普遍性。
FR算法是一種力引導(dǎo)布局算法,通過(guò)豐富兩點(diǎn)之間的物理模型,加入點(diǎn)之間的靜電力,通過(guò)計(jì)算系統(tǒng)的總能量,求解能量最小狀態(tài),從而達(dá)到優(yōu)化布局的目的。力引導(dǎo)布局可以較好實(shí)現(xiàn)對(duì)稱(chēng)性和局部聚合性,兼具美觀要求[18-19]。
根據(jù)FR模型,標(biāo)注值抽象為在圖塊中心的點(diǎn),這些點(diǎn)可以看作物理學(xué)中的行星或者粒子,行星或粒子之間產(chǎn)生相互作用力,不斷運(yùn)動(dòng),平衡后形成穩(wěn)定美觀的布局[20]。為了簡(jiǎn)化計(jì)算,只考慮其一定范圍內(nèi)的斥力,然后計(jì)算合力,在合力作用下粒子或行星向某個(gè)方向偏移,偏移迭代次數(shù)根據(jù)模擬退火模型進(jìn)行限制,最終達(dá)到靜止。同時(shí)考慮邊界對(duì)粒子的限制,使得標(biāo)注粒子符合繪圖邏輯。
(1)標(biāo)注集合為
Pn={p1,p2,…,pn}
(1)
(2)理想平衡距離記為L(zhǎng),環(huán)形封閉剖面的面積為
(2)
(3)
式中,D為環(huán)形封閉區(qū)域;N為布局粒子的數(shù)量。
(3)引力算法公式
(4)
式中,L為理想平衡距離;d為粒子之間的實(shí)際距離,當(dāng)粒子間距離d>L,則近似沒(méi)有引力,如果粒子間距離d (4)斥力算法公式 (5) 式中,Si,Sj分別為i,j節(jié)點(diǎn)的等效質(zhì)量,可根據(jù)標(biāo)注文本的面積與面密度計(jì)算得到;當(dāng)粒子間距離為零即代表標(biāo)注重合,給定粒子間一個(gè)較大的斥力f,其方向任意,當(dāng)粒子間距離不等于零則與距離的平方成反比;g代表斥力系數(shù),g值可以調(diào)整節(jié)點(diǎn)間的疏密程度。 (5)模型中每個(gè)標(biāo)注節(jié)點(diǎn)的受力公式為 Fij=Ft(d)+Fr(d) (6) 式中,F(xiàn)ij為i粒子對(duì)j粒子的作用力;Ft為標(biāo)注等效粒子間的吸引力;Fr為標(biāo)注等效粒子間的排斥力。 粒子之間相互作用產(chǎn)生偏移和運(yùn)動(dòng),對(duì)于單個(gè)等效粒子受力為所有等效粒子對(duì)其的合力。 (7) 式中,i,j分別表示兩個(gè)標(biāo)注等效粒子,粒子運(yùn)動(dòng)或偏移方向?yàn)樗凶饔昧Φ暮狭κ噶糠较颉?/p> (8) (9) (7)平衡條件 系統(tǒng)所受合力為零,或者達(dá)到最大迭代次數(shù)MaxStep(程序設(shè)定最大循環(huán)次數(shù))。 ∑Fn=0 (10) (8)溫度控制函數(shù) 為了加速布局速度,緩解和防止粒子長(zhǎng)時(shí)間震蕩,引入溫度控制函數(shù)來(lái)控制粒子移動(dòng)的步長(zhǎng),當(dāng)溫度T減少為零,粒子布局計(jì)算結(jié)束。 (11) 式中,CurrentStep為程序當(dāng)前迭代次數(shù);MaxStep為程序設(shè)定最大迭代次數(shù),該數(shù)值可以根據(jù)圖面大小來(lái)設(shè)定默認(rèn)值。 STEP1:確定邊界條件及預(yù)布局 該算法主要解決在閉合環(huán)形剖面區(qū)域內(nèi)外,標(biāo)注布局問(wèn)題。圖形內(nèi)外輪廓應(yīng)為其邊界條件,標(biāo)注位置應(yīng)根據(jù)其拓?fù)浞较蜻M(jìn)行預(yù)排序。排序根據(jù)內(nèi)輪廓為順時(shí)針,外輪廓為逆時(shí)針?lè)较騺?lái)確定。根據(jù)內(nèi)外輪廓的區(qū)分,所有標(biāo)注信息以線(xiàn)性鏈表的方式存儲(chǔ)并按此順序存放在計(jì)算機(jī)內(nèi)存中,迭代順序根據(jù)存儲(chǔ)先后,依次進(jìn)行算法布局。 STEP2:查找干涉布局 根據(jù)公式(6)中其他節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的力的大小,來(lái)判斷是否有重疊標(biāo)注,如果產(chǎn)生重疊,則應(yīng)該根據(jù)節(jié)點(diǎn)所受外力狀況來(lái)判斷其受力大小與方向,并根據(jù)公式(9)得到其偏移量的步長(zhǎng)。當(dāng)粒子經(jīng)過(guò)調(diào)整受力為零,則此時(shí)該粒子的狀態(tài)為局部最佳布局狀態(tài)。 STEP3:迭代標(biāo)注布局 根據(jù)公式(6)中節(jié)點(diǎn)所受合力,設(shè)定最大迭代次數(shù)與粒子初始溫度T0,并根據(jù)公式(9)得到步長(zhǎng)大小與偏移方向。 STEP4:邊界布局 當(dāng)粒子運(yùn)動(dòng)到邊界條件外或邊界上時(shí),應(yīng)該調(diào)整粒子的運(yùn)動(dòng)方向,使當(dāng)前方向調(diào)整為相反方向,同時(shí)停止該粒子迭代,并將該粒子放入迭代容器中,根據(jù)后進(jìn)后出的原則,將此標(biāo)注重新迭代。 STEP5:循環(huán)STEP3,當(dāng)合力Fij=0停止布局。 STEP6:遍歷所有節(jié)點(diǎn)循環(huán)STEP2到STEP5,直到循環(huán)結(jié)束,標(biāo)注自動(dòng)布局完成。 上述算法主要解決了標(biāo)注之間的重疊問(wèn)題,但是局部仍然存在標(biāo)注引線(xiàn)交叉,或系統(tǒng)收斂速度慢等問(wèn)題,F(xiàn)R直接布局算法存在優(yōu)化空間。本文通過(guò)在引線(xiàn)中位線(xiàn)位置虛擬設(shè)置質(zhì)量點(diǎn)的方法改進(jìn)上述FR算法,可以極大優(yōu)化標(biāo)注布局方案。 在標(biāo)注系統(tǒng)中虛擬設(shè)置質(zhì)量點(diǎn)的方法為:通過(guò)選取標(biāo)注引線(xiàn)的中位線(xiàn)位置,設(shè)置質(zhì)量為Sq的虛擬質(zhì)量點(diǎn),通過(guò)合理設(shè)置其質(zhì)量,并固定在標(biāo)注引線(xiàn)上。記虛擬標(biāo)注集合為Qn,其中原始標(biāo)注粒子pn與等效標(biāo)注粒子qn相對(duì)位置距離不變,且成對(duì)出現(xiàn)。 (1)等效粒子集合 Qn={q1,q2,…,qn} (12) (2)等效粒子質(zhì)量 Sq=cSp (13) 式中,Sq為等效粒子質(zhì)量;c為可調(diào)系數(shù)。 (3)等效粒子位置 q(x,y)=(p(x,y)+B(x,y))/2 (14) 式中,p(x,y)為粒子絕對(duì)位置;B(x,y)為被標(biāo)注點(diǎn)在邊界位置上的坐標(biāo)。 該改進(jìn)方法,通過(guò)在標(biāo)注引線(xiàn)中點(diǎn)位置虛擬設(shè)置質(zhì)量點(diǎn),調(diào)節(jié)等效粒子質(zhì)量權(quán)重,優(yōu)化了標(biāo)注模型。算法通過(guò)提升布局空間內(nèi)等效粒子數(shù)量,可有效避免單次迭代陷入局部最優(yōu)情況,消除臨近標(biāo)注之間引線(xiàn)交叉問(wèn)題,提升系統(tǒng)布局效率。 基于Windows平臺(tái),采用C#作為編程語(yǔ)言,編寫(xiě)了基于BIM的混凝土箱梁計(jì)算機(jī)輔助設(shè)計(jì)繪圖系統(tǒng)。系統(tǒng)以單箱單室連續(xù)梁為研究對(duì)象,自動(dòng)創(chuàng)建混凝土箱梁的三維參數(shù)化鋼筋BIM模型,并根據(jù)空間位置與剖切平面幾何關(guān)系,分別投影到指定平面上,自動(dòng)生成指導(dǎo)施工的二維鋼筋圖。再根據(jù)投影圖元與標(biāo)注信息,采用本文算法,自動(dòng)調(diào)整優(yōu)化布局。軟件系統(tǒng)界面見(jiàn)圖3。 圖3 軟件系統(tǒng)界面 以某項(xiàng)目(75+125+75) m連續(xù)梁設(shè)計(jì)模型作為輸入?yún)?shù),自動(dòng)生成施工圖,測(cè)試自動(dòng)布局標(biāo)注算法。以0號(hào)塊橫隔板鋼筋圖為例,顯然從圖4與圖5對(duì)比發(fā)現(xiàn),優(yōu)化后圖面標(biāo)注較優(yōu)化前圖面標(biāo)注改善明顯,經(jīng)過(guò)統(tǒng)計(jì)該鋼筋圖出圖效率與繪圖質(zhì)量大幅度提升,優(yōu)化后的鋼筋圖只需要人工修改10%以?xún)?nèi)的標(biāo)注即可快速成圖。見(jiàn)圖6。 圖4 使用算法前的標(biāo)注布局(單位:cm) 圖5 FR算法自動(dòng)標(biāo)注布局(單位:cm) 圖6 對(duì)比放大 該算法通過(guò)對(duì)箱梁鋼筋標(biāo)注進(jìn)行歸類(lèi),F(xiàn)R算法優(yōu)化,可快速基于三維BIM獲得優(yōu)化后的箱梁鋼筋圖。該算法將大量用于鐵路施工圖項(xiàng)目,顯著提高出圖質(zhì)量和效率。 提出一種基于FR力引導(dǎo)改進(jìn)方法的二維箱梁鋼筋圖標(biāo)注自動(dòng)布局算法,形成一套智能標(biāo)注布局系統(tǒng)。該系統(tǒng)界面友好,通過(guò)FR智能算法及其優(yōu)化方法,有效解決了基于三維BIM模型自動(dòng)生成二維箱梁鋼筋圖時(shí)標(biāo)注布局問(wèn)題。該算法已經(jīng)成功運(yùn)用于混凝土箱梁輔助設(shè)計(jì)及繪圖程序,大大節(jié)省了人工調(diào)整標(biāo)注工作量,同時(shí)該算法也為其他學(xué)科工程圖參數(shù)化出圖,BIM三維標(biāo)注研究提供借鑒思路。2.3 FR算法在尺寸智能布局的實(shí)現(xiàn)
2.4 FR算法的改進(jìn)
3 應(yīng)用分析
3.1 應(yīng)用案例
3.2 案例結(jié)果
4 結(jié)語(yǔ)