林富有,彭 程,王成林
(1.大連中遠海運重工有限公司,遼寧大連 116113;2.大連電子學校,遼寧大連 116101)
船舶建造是個復雜的工程,為了能夠滿足防火、隔熱、隔聲的規范要求,需要在甲板上敷設甲板敷料,然后在甲板敷料上鋪設PVC地板。PVC地板通常規格固定,顏色不同,一般按照20 m×2 m進行采購,并根據艙室的尺寸進行裁剪敷設。以往是根據采購的母材規格型號,通過CAD人工進行PVC排版的,這種工作方式需要耗費大量的時間,且材料利用率不高,直接影響了生產成本。針對存在的這些問題,筆者開發了自動排版程序來提高工作效率和控制成本。
CAD的二次開發工具有很多種,包括自帶的Visual Lisp、ActiveX、ObjectARX。Visual Lisp語言是一種嵌入AutoCAD內部的編程語言,其主要特點是簡單、上手較快,但是綜合處理能力差,不能協同工作,沒有可視化界面,使用起來不直觀。與Lisp相比,ActiveX代碼可讀性能佳,綜合處理能力也很強。ObjectARX提供了C++、C#和VB.NET的程序開發接口,采用面向對象的編程方法,開發效率較高。本文采用C#進行開發。
遺傳算法是模擬生物在自然環境中的遺傳和進化過程而形成的一種自適應全局優化概率搜索算法,最早由美國密執安大學的Holland教授[1]提出,起源于60年代對自然和人工適應系統的研究,在求解較為復雜的組合優化問題時,相對一些常規的優化算法,通常能夠較快地獲得較好的優化結果。遺傳算法已被人們廣泛地應用于組合優化、機器學習、信號處理、自適應控制和人工生命等領域[2-4]。
遺傳算法通過初始化種群,隨機產生個體作為初始化種群,將多段線和角度作為染色體編碼,{[P1,A1],[P2,A2],······[Pn,An]},其中P為段線,A為角度,由[Pn,An]個體構成種群。計算種群每個個體的適應度,根據每個個體的適應度和相關規則,從第n代群體中選擇出部分優良的個體遺傳到下一代,將群體內的每個個體隨機搭配,交換他們之間的部分染色體(本文中交換角度A的值)。變異的過程是對群體中每個個體的部分基因進行改變,本文直接改變其角度。如果條件不成立,繼續執行上述過程;反之則輸出最優解,并終止計算。過程如圖1所示[5-11]。

圖1 遺傳算法計算流程
軟件的基本流程如圖2所示:首先根據實際需求設置好排列方式、色卡和房間號等信息,選擇布置PVC地板的房間區域,這些區域由閉合的多段線構成;而后對選擇的多段線進行分割,產生滿足母材規格的多段線,輸出包括色卡、房間號和坐標的零件信息;最后根據這些零件信息進行套料,并將套料結果輸出成為可供施工的工作圖。

圖2 軟件操作流程
軟件界面調出方式通過Registry Key寫入到注冊表中,在CAD中輸入PBT命令會自動彈出軟件操作界面,如圖3所示。界面包括排列方式的選擇、房間號和色卡的選擇。選擇按鈕的功能是選擇艙室區域的多段線,選擇完成后,確定排列,對選擇的區域進行分割;套料按鈕的功能是生成套料信息;套料圖按鈕功能是在CAD中繪制套料圖。

圖3 軟件操作界面
選擇區域之前要確定排列方式,排列方式分為自動、從左到右、從右到左、從上到下和從下到上等不同形式,可根據情況進行選擇。在沒有任何要求的情況下,選擇自動排列。自動排列的計算過程為:1)遍歷多段線中的所有的邊,確定最長的邊是垂直方向還是水平方向;2)如果是垂直方向,則判斷這條邊是在最左側還是在最右側,如果在最左側則按照從左到右的方式進行排列,反之按照從右到左的方式排列;3)水平方向的判斷與垂直方向的判斷類似。有些特殊情況需要指定排列方向,例如保持板縫方向的一致性,則直接選擇固定的排列方式進行排列。
排列方向選擇完成后,需要根據區域選擇房間號和色卡,房間號最終會被標記在套料圖中,方便施工時查找;色卡則用來區分母材,在套料的時候使用。房間號和色卡可以自動選擇,也可通過點擊按鈕進行手動選擇。自動選擇時,房間號從可選擇范圍內的3位數字進行提取;色卡查找選擇范圍內包含色卡的字符串,然后截取“色卡:”后的字符串。部分區域通過3位數字區分不出房間號或未寫房間號,則需要手動選擇房間號。
通過SelectionSet選擇集選擇CAD中的對象,查找多段線,將選中的多段線添加到list列表中。遍歷列表中的值,查找區域中的DBText對象,找到房間號和色卡。在CAD中繪制板縫,將選擇的區域按照外形進行分割,分割長度按照PVC地板的規格2 m進行分割,并添加標注尺寸。最后,輸出帶有坐標的零件表,如表1所示。

表1 零件信息表
將帶有色卡和房間號的零件信息按照色卡進行歸類,而后進行套料,并將同一色卡套在同一母材中;套料成功后會在文件夾中生成套料表文件,可通過瀏覽器直接查看套料結果;最后根據套料表生成套料圖,見圖4。

圖4 套料圖
面對激烈的市場競爭,只有持續改進和不斷創新才能在嚴峻的市場立足。通過實際工程應用,采用遺傳算法快速實現PVC地板的套料,并通過自動套料程序,大幅縮減設計時間。由此可見,PVC地板自動套料程序的應用可降低生產設計建模出圖周期,進而降低生產設計成本,增加企業效益。