許蓉,王素清,張玉超,劉虓
(1.滬東中華造船(集團)有限公司-上海東欣軟件工程有限公司 設(shè)計軟件部,上海 202206;2.華南理工大學 土木與交通學院,廣州 510640)
舶制造過程中的第一道工序是零件下料,板材套料是下料的重要依據(jù),套料問題是板材上小零件的二維布局問題,也稱為排樣問題。目前主流的套料方法是基于相關(guān)的自動套料軟件,如CADWIN、SigamaNest、Alma等,利用其部分自動套料功能并結(jié)合一定的手工方式進行調(diào)整,實現(xiàn)半自動套料。這種方式需要將設(shè)計模型傳遞至套料軟件,難以避免零件數(shù)據(jù)丟失及零件坡口信息錯漏等問題,同時若發(fā)生設(shè)計變更則需要重新進行數(shù)據(jù)轉(zhuǎn)化,導(dǎo)致大量的重復(fù)作業(yè)。為此,考慮基于國產(chǎn)船舶三維設(shè)計軟件SPD系統(tǒng),采用基于最小勢能原理的啟發(fā)式算法(heuristic algorithm based on the principle of minimum total potential energy,HAPE)的二維不規(guī)則零件排樣算法[1]開展板材的自動排樣分析,實現(xiàn)基于設(shè)計模型的板材快速高效套料,提升板材利用率,實現(xiàn)設(shè)計平臺與套料功能的無縫集成及自動套料軟件的自主可控。
板材自動套料軟件依托于國產(chǎn)船舶三維設(shè)計軟件SPD系統(tǒng),其軟件架構(gòu)見圖1。
圖1 自動套料軟件架構(gòu)
板材自動套料系統(tǒng)開發(fā)主要包括:自動套料圖形平臺構(gòu)建、自動套料數(shù)據(jù)模型管理、自動套料布局模型構(gòu)建、自動排樣算法等方面[2]。其中自動套料數(shù)據(jù)模型包括板零件模型、整料模型、余料,以及用于自動套料交互的布局模型。
板材自動套料圖形平臺構(gòu)建涉及的主要關(guān)鍵點包括初始化圖形平臺構(gòu)建、自動套料臨時圖冊創(chuàng)建及自動套料圖形信息保存。通過讀取已有的套料模型數(shù)據(jù),并將其保存在臨時圖冊中,系統(tǒng)可基于最后一次保存的視區(qū)位置進行初始化,套料環(huán)境的初始化流程見圖2。
圖2 套料環(huán)境初始化
1)套料零件建模技術(shù),通過讀取結(jié)構(gòu)庫及外部零件庫相關(guān)信息,在此基礎(chǔ)上通過轉(zhuǎn)換實現(xiàn)零件圖形數(shù)據(jù)的創(chuàng)建。
2)基于鋼材預(yù)估單的整板建模技術(shù),通過讀取板材庫獲取整板信息,在此基礎(chǔ)上結(jié)合鋼板屬性實現(xiàn)自動套料整板模型的創(chuàng)建。
3)余料建模,通過讀取余料庫獲取余料信息,結(jié)合余料屬性創(chuàng)建余料圖形數(shù)據(jù)。
自動套料布局是根據(jù)材質(zhì)、板厚等屬性的差異,將零件、板材及余料等信息分類顯示在相應(yīng)的布局上,此時生成的模型稱之為布局模型。每個零件被分配放置于對應(yīng)的零件區(qū)域,而整料和余料等信息則放置于對應(yīng)的套料板區(qū)域,此時可實現(xiàn)零件、整板和余料模型的實時同步更新[3]。布局模型的創(chuàng)建流程見圖3。
圖3 布局模型創(chuàng)建流程
板材零件套料是一種2-D布局問題,實質(zhì)是將若干個不同形狀的零件,按其互不重疊的布局要求,依次排布在一組矩形鋼板上[4]。采用HAPE進行板材自動排樣,實現(xiàn)預(yù)套料、實套料、局部零件壓縮/擴展、局部預(yù)套/實套。
零件在排樣過程中盡可能通過平移或旋轉(zhuǎn)使其形心高度降低[5],即零件通過平移和旋轉(zhuǎn)運動確保其重心高度盡可能的降低,從而實現(xiàn)更緊密的排列,算法流程見圖4。
圖4 單零件HAPE算法實現(xiàn)流程
1)PPN(Packing Point Number)為排樣點個數(shù),(x[j],y[j])為第j個排樣點的坐標(j=1,2,…,PPN)。
2)零件旋轉(zhuǎn)操作Part[i].Rotate(),其本質(zhì)是將多邊形頂點基于參考點(xr,yr)進行旋轉(zhuǎn)操作,如下式:
(1)
式中:xm、ym為零件頂點m的坐標(m=1,2,…,n,n為零件頂點個數(shù));xr、yr為零件參考點坐標。
3)CalculateCenter_X(Part [i])是計算零件形心坐標x的函數(shù),零件形心水平坐標為
(2)
式中:xi,yi為頂點i的坐標。
套料環(huán)境初始化主要包含清空數(shù)據(jù)、更新模型、核對板材布局、保存當前視區(qū),可實現(xiàn)對模型的數(shù)據(jù)管理。
套料數(shù)據(jù)模型包括零件模型、整板模型及余料模型。其中零件模型是用于自動套料模型文件的對象,整板模型和余料模型分別是預(yù)套料和實套料的結(jié)果對象。套料數(shù)據(jù)建模功能可讀取船體建造系統(tǒng)數(shù)據(jù)庫,根據(jù)一定轉(zhuǎn)換規(guī)則進行數(shù)據(jù)轉(zhuǎn)換。此時若SPD船體結(jié)構(gòu)模型發(fā)生變更,通過刷新功能可實現(xiàn)套料模型的同步變更,同時保持其圖形位置和旋轉(zhuǎn)姿態(tài),確保數(shù)據(jù)的聯(lián)通以及實時更新。
SPD板材自動套料功能主要有自動套料(預(yù)估板)、自動套料(導(dǎo)入板)、自動壓縮、自動擴展、局部自動套料(預(yù)估板)、局部套料(導(dǎo)入板)等方面。其中對于首制船而言,前期鋼材預(yù)估的準確性對于訂貨至關(guān)重要,因此自動套料功能中的預(yù)套功能對于鋼板的統(tǒng)計以及板規(guī)的調(diào)整非常方便[6]。配置功能用于對自動套料進行算法條件配置,為用戶提供了豐富的配置項。
基礎(chǔ)配置用于配置自動套料算法時零件擺放方式,以達到利用率高、切割工藝實用的零件擺放結(jié)果,板規(guī)配置用于配置套料板的生成方式,可根據(jù)標準板規(guī)與步長等進行預(yù)套料,也可根據(jù)實際板規(guī)(整料和余料)進行實套料[7]。
程序根據(jù)用戶自定義的配置信息進行套料,套料完成后顯示在自動套料圖形平臺中,用戶可在圖形平臺中對套料結(jié)果交互操作進行調(diào)整。套料結(jié)果見圖5。
圖5 套料板展示
自動套料完成后,可利用套料信息提取功能讀取套料板模型,用戶選擇需要待提取的套料板模型,可實現(xiàn)套料板模型數(shù)據(jù)和零件模型數(shù)據(jù)提取,并生成交互套料數(shù)據(jù)文件(NE**.dat),將該文件導(dǎo)入SPD交互套料模塊,可對套料結(jié)果進行交互套料、引割線添加、切割指令生成、套料圖生成等業(yè)務(wù)工作。
將SPD板材自動套料模塊與CADWIN自動套料軟件進行板材套料結(jié)果對比,驗證該模塊的合理性和有效性。
首先利用CADWIN自動套料軟件導(dǎo)入SPD系統(tǒng)生成套料圖與切割指令。采用CADWIN自動套料,需將SPD系統(tǒng)的零件庫通過接口轉(zhuǎn)化為CADWIN接收的格式,即dxf文件,隨后進行CADWIN自動套料,完成后需將套料結(jié)果再轉(zhuǎn)化成SPD的套料文件格式,進行后續(xù)的套料出圖即切割指令生成。
利用SPD與CADWIN對某一在建工程12個分段進行自動套料,對比同一規(guī)格零件集合的套料結(jié)果。條材零件的CADWIN與SPD套料結(jié)果對比見圖6,其中圖6a)為條材零件在CADWIN自動套料軟件中的套料結(jié)果案例,圖6b)為條材零件在SPD自動套料軟件中的套料結(jié)果案例??梢妰烧邔τ跅l材零件的排列方式基本保持一致。
圖6 條材零件CADWIN與SPD自動套料結(jié)果對比
T型材腹板零件CADWIN與SPD自動套料結(jié)果對比見圖7,其中圖7a)為型材腹板零件在CADWIN自動套料軟件中的套料結(jié)果案例,圖7b)為型材腹板零件在SPD自動套料軟件中自動套料結(jié)果案例,結(jié)果可見兩者整齊度以及緊密度基本保持一致,區(qū)別在于CADWIN分為三塊小板套料,而SPD在同一塊大板中套料,造成此區(qū)別的原因在于兩種軟件的算法原理不一樣。
圖7 型材腹板零件CADWIN與SPD自動套料結(jié)果對比
對于同一規(guī)格與厚度、相同數(shù)量的零件集合自動套料結(jié)果對比見圖8,其中圖8a)為同一規(guī)格與厚度、相同數(shù)量的零件集合在CADWIN自動套料軟件中的套料結(jié)果案例,圖8b)為同一規(guī)格與厚度、相同數(shù)量的零件集合在SPD自動套料軟件中的套料結(jié)果案例,兩者結(jié)果排列方式有差異。對于零件數(shù)量大的情況兩種軟件都沒有漏套情況,此外兩種軟件排列的整齊度,零件緊密度差異不大。CADWIN套料結(jié)果用了三張板,SPD套料結(jié)果用了兩張板,板的規(guī)格差異較大,主要由于兩種套料軟件的排樣算法風格不一所造成,SPD可以通過配置來調(diào)整排版效果。
圖8 不同零件集合自動套料結(jié)果對比
某工程12個分段套料結(jié)果按照套料板樹、利用率、套料時間對比見表1。
表1 CADWIN自動套料與SPD自動套料對比
通過上述12個分段的結(jié)果對比可以看到,兩者的套料排樣方式存在差異,排樣結(jié)果涉及的板規(guī)也有所不同,本功能使用的板材數(shù)量少于CADWIN,而板規(guī)則會稍大,但是兩者在排樣效果整齊度、板材利用率以及套料耗時方面基本一致。而相較于CADWIN,本功能具有如下優(yōu)勢。
1)基于SPD軟件單一數(shù)據(jù)模型直接生成切割指令,不存在數(shù)據(jù)差異的問題。
2)零件修改信息自動同步至SPD。
3)自動套料完成后不需要進行二次調(diào)整坡口信息。
提出的板材自動套料解決方案,利用SPD系統(tǒng)進行了功能模塊的開發(fā),突破了SPD系統(tǒng)不能自動套料的限制。同時該軟件可實現(xiàn)套料模型的管理、不同應(yīng)用場景以及需求下的自動套料,并支持交互操作,也可生成SPD格式的套料文件,實現(xiàn)與SPD交互套料模塊進行數(shù)據(jù)傳遞。通過與CADWIN軟件進行應(yīng)用對比,本功能套料效率及板材利用率與其接近,而基于單一數(shù)據(jù)源的解決方案可有效避免異構(gòu)軟件間模型傳遞所導(dǎo)致的數(shù)據(jù)丟失問題,同時實現(xiàn)了套料軟件的自主可控。
優(yōu)化排樣問題是非常復(fù)雜的問題,從計算復(fù)雜性看,屬于NP-完備問題。后續(xù)將繼續(xù)優(yōu)化套料算法提高板材利用率以及套料的排樣方式,提供更多的配置選項,優(yōu)化界面業(yè)務(wù)流程,提供更多方便簡潔人性化的交互操作。該軟件將繼續(xù)研發(fā)新功能如自動生成引割線,提供更加優(yōu)良的自動套料解決方案。