王 真
(中船第九設(shè)計(jì)研究院工程有限公司, 上海 200063)
管子加工車(chē)間工藝設(shè)計(jì)軟件系統(tǒng)關(guān)鍵技術(shù)
王 真
(中船第九設(shè)計(jì)研究院工程有限公司, 上海 200063)
針對(duì)傳統(tǒng)船廠工藝設(shè)計(jì)過(guò)程不規(guī)范,三維輔助設(shè)計(jì)軟件及協(xié)同設(shè)計(jì)應(yīng)用不足等問(wèn)題,結(jié)合工藝數(shù)據(jù)庫(kù)搭建,設(shè)計(jì)程序開(kāi)發(fā),參數(shù)化建模,三維出圖,協(xié)同設(shè)計(jì)等關(guān)鍵環(huán)節(jié),開(kāi)發(fā)管加工車(chē)間工藝設(shè)計(jì)軟件系統(tǒng),不僅提升工藝設(shè)計(jì)水平和效率,同時(shí)為傳統(tǒng)船廠由設(shè)計(jì)建造向創(chuàng)新運(yùn)營(yíng)服務(wù)模式轉(zhuǎn)型打下技術(shù)基礎(chǔ)。
工藝設(shè)計(jì);管子加工車(chē)間;三維參數(shù)化設(shè)計(jì)
隨著國(guó)內(nèi)船舶行業(yè)自動(dòng)化、數(shù)字化以及智能化制造的升級(jí)發(fā)展,船廠對(duì)船舶設(shè)計(jì)院工藝設(shè)計(jì)手段提出了更高要求,以往傳統(tǒng)的船廠工藝設(shè)計(jì)存在設(shè)計(jì)過(guò)程不規(guī)范,三維輔助設(shè)計(jì)軟件及協(xié)同設(shè)計(jì)應(yīng)用不足等問(wèn)題,導(dǎo)致各設(shè)計(jì)環(huán)節(jié)存在信息不共享、信息與業(yè)務(wù)流程相互脫節(jié)等現(xiàn)象。本文以船廠管加工車(chē)間工藝設(shè)計(jì)為對(duì)象,從工藝數(shù)據(jù)庫(kù)管理平臺(tái)搭建、工藝設(shè)計(jì)程序開(kāi)發(fā)、三維參數(shù)化建模、三維出圖以及協(xié)同設(shè)計(jì)等多個(gè)關(guān)鍵環(huán)節(jié)進(jìn)行研究,開(kāi)發(fā)滿(mǎn)足工藝各個(gè)設(shè)計(jì)階段需求且功能強(qiáng)大的可視化工藝專(zhuān)業(yè)輔助設(shè)計(jì)軟件系統(tǒng)。
管子加工車(chē)間工藝設(shè)計(jì)軟件系統(tǒng)開(kāi)發(fā)包括工藝數(shù)據(jù)庫(kù)管理平臺(tái)、工藝設(shè)計(jì)程序以及三維計(jì)算機(jī)輔助設(shè)計(jì)(Computer Aided Design,CAD)工具3項(xiàng)主要內(nèi)容。選取SketchUp 2015作為軟件系統(tǒng)的運(yùn)行環(huán)境,結(jié)合Asp.net+Access,Office VBA,SketchUp API等開(kāi)發(fā)環(huán)境,實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理平臺(tái)開(kāi)發(fā)、工藝設(shè)計(jì)程序、說(shuō)明文檔自動(dòng)生成、三維參數(shù)化設(shè)計(jì)、標(biāo)注出圖等功能。
該系統(tǒng)主要包括基礎(chǔ)數(shù)據(jù)層和設(shè)計(jì)應(yīng)用層2層結(jié)構(gòu)。各個(gè)系統(tǒng)組成部分通過(guò)數(shù)據(jù)開(kāi)發(fā)接口進(jìn)行數(shù)據(jù)互通共享,工藝設(shè)計(jì)程序、各類(lèi)設(shè)計(jì)過(guò)程文件人機(jī)交互采用B/S(瀏覽器/服務(wù)器)方式,三維 CAD設(shè)計(jì)平臺(tái)是通過(guò)SketchUp軟件,使用Ruby語(yǔ)言進(jìn)行二次開(kāi)發(fā)來(lái)實(shí)現(xiàn)的,系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)
Access數(shù)據(jù)庫(kù)作為微軟推出的以標(biāo)準(zhǔn)JET為引擎的桌面型數(shù)據(jù)庫(kù)系統(tǒng),具有操作簡(jiǎn)單、界面友好等特點(diǎn)。該數(shù)據(jù)庫(kù)管理平臺(tái)選取Access 2010,使用SQL語(yǔ)言進(jìn)行開(kāi)發(fā),運(yùn)用數(shù)據(jù)庫(kù)程序接口(API)函數(shù),采用動(dòng)態(tài)鏈接庫(kù)(DLL)、動(dòng)態(tài)數(shù)據(jù)交換(DDE)、對(duì)象的鏈接與嵌入(OLE)以及開(kāi)放式數(shù)據(jù)庫(kù)訪問(wèn)(ODBC)等技術(shù),可以高效、快速地進(jìn)行工藝數(shù)據(jù)庫(kù)管理平臺(tái)的開(kāi)發(fā)工作[1],包括:物量數(shù)據(jù)庫(kù)、工程數(shù)據(jù)庫(kù)、知識(shí)情報(bào)庫(kù)、指標(biāo)數(shù)據(jù)庫(kù)、設(shè)備數(shù)據(jù)庫(kù)、提資數(shù)據(jù)庫(kù)、圖形數(shù)據(jù)庫(kù),典型物量數(shù)據(jù)庫(kù)的數(shù)據(jù)表結(jié)構(gòu)及其交互界面如圖2和圖3所示。
圖2 管子加工工藝數(shù)據(jù)庫(kù)
圖3 物量數(shù)據(jù)庫(kù)
工藝設(shè)計(jì)程序在整個(gè)軟件系統(tǒng)占據(jù)主導(dǎo)地位,其核心思想是管子車(chē)間的工藝設(shè)計(jì)思想原則,即“管子族”思想,先焊后彎主導(dǎo)工藝,兩化(工業(yè)化、信息化)深度融合,不僅體現(xiàn)工程項(xiàng)目特點(diǎn),同時(shí)也體現(xiàn)設(shè)計(jì)者對(duì)業(yè)主需求、設(shè)計(jì)階段、項(xiàng)目性質(zhì)、項(xiàng)目規(guī)模、社會(huì)環(huán)境等的把握。
通過(guò)與舾裝工藝設(shè)計(jì)人員進(jìn)行反復(fù)溝通以及對(duì)車(chē)間現(xiàn)場(chǎng)進(jìn)行實(shí)地調(diào)研,最終建立了一套規(guī)范完整的管子加工工藝設(shè)計(jì)流程體系。按設(shè)計(jì)階段劃分,工程設(shè)計(jì)分為規(guī)劃方案、項(xiàng)目建議書(shū)、可行性研究、初步設(shè)計(jì)、施工圖設(shè)計(jì)等5個(gè)階段;按項(xiàng)目性質(zhì)劃分,又可分為新建項(xiàng)目與改擴(kuò)建項(xiàng)目。不同設(shè)計(jì)階段與性質(zhì)的項(xiàng)目,設(shè)計(jì)內(nèi)容和設(shè)計(jì)深度均不同,圖4為工藝專(zhuān)業(yè)初步設(shè)計(jì)流程圖。在設(shè)計(jì)看板開(kāi)發(fā)階段,開(kāi)發(fā)人員采取C#和JavaScript進(jìn)行ASP.NET開(kāi)發(fā)[2]。圖5為初步設(shè)計(jì)新建廠區(qū)設(shè)計(jì)看板開(kāi)發(fā)界面。
圖4 工藝專(zhuān)業(yè)初步設(shè)計(jì)流程
圖5 初步設(shè)計(jì)看板
3.1 程序安全保護(hù)
工藝設(shè)計(jì)程序僅為內(nèi)部員工使用,用戶(hù)資料存放于服務(wù)器數(shù)據(jù)庫(kù)中。程序設(shè)置了用戶(hù)登陸模塊,是本程序的一道安全保障。實(shí)現(xiàn)登陸功能的關(guān)鍵技術(shù)是Count函數(shù),使用該函數(shù)可以判斷用戶(hù)名和密碼在指定數(shù)據(jù)表中是否存在,從而驗(yàn)證登陸用戶(hù)是否合法。為防止未注冊(cè)的用戶(hù)繞過(guò)注冊(cè)界面直接進(jìn)入設(shè)計(jì)程序,采用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證。Session對(duì)象最大的優(yōu)點(diǎn)是可以把某用戶(hù)的信息保留下來(lái),讓后續(xù)的程序讀取[3]。不僅如此,為了保證系統(tǒng)數(shù)據(jù)的安全性,設(shè)計(jì)人員在每一階段的過(guò)程數(shù)據(jù),程序都將會(huì)自動(dòng)備份于用戶(hù)本地與網(wǎng)絡(luò)服務(wù)器端。
3.2 生成中間過(guò)程設(shè)計(jì)文件
為提高設(shè)計(jì)系統(tǒng)的整體性能和使用體驗(yàn),開(kāi)發(fā)團(tuán)隊(duì)通過(guò)中間文檔建立系統(tǒng)各組成部分的數(shù)據(jù)接口。工藝設(shè)計(jì)程序首先輸入工程設(shè)計(jì)代號(hào)及生產(chǎn)任務(wù)號(hào),選擇項(xiàng)目的本地存放路徑,程序自動(dòng)根據(jù)項(xiàng)目的工程設(shè)計(jì)代號(hào)及生產(chǎn)任務(wù)號(hào)在本地及服務(wù)器上分別創(chuàng)建文件夾,用于存放設(shè)計(jì)中所生成的過(guò)程數(shù)據(jù)文件,如圖6所示。ASP.NET通過(guò)Directory類(lèi)的CreatDirectory方法創(chuàng)建文件夾,通過(guò)FInfo類(lèi)的CopyTo方法實(shí)現(xiàn)將服務(wù)器自帶的資料傳輸?shù)奖镜匚募A上,不僅如此,程序中采用System.Diagnostics.Process類(lèi)的Start()函數(shù)對(duì)參考文件進(jìn)行調(diào)用,使得工藝設(shè)計(jì)人員可以更加靈活地對(duì)項(xiàng)目參考資料進(jìn)行引用和修正。
圖6 創(chuàng)建項(xiàng)目目錄
用戶(hù)使用工藝設(shè)計(jì)程序需要對(duì)設(shè)計(jì)過(guò)程的數(shù)據(jù)進(jìn)行保存。程序提供了Word及Excel兩種文件格式的保存方法。引用Microsoft.Office.Interop.Excel.dll及Word.dll,分別添加對(duì)Word及Excel相應(yīng)函數(shù)的引用,利用Excel.Workbook及Word.Document的SaveAs()函數(shù),對(duì)設(shè)計(jì)看板數(shù)據(jù)進(jìn)行保存,生成的中間過(guò)程設(shè)計(jì)文件如圖7所示。
圖7 生成過(guò)程文件
部分程序?qū)崿F(xiàn)代碼如下:
System.Data.DataTableDTable = (System.Data.DataTable)ViewState["dt"];
string M_Kb4_Path = Server.MapPath("./pdf") + "M0_Kb4.dll";
object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Workbookm_workbook = m_excel.Application.Workbooks.Open(M_Kb4_Path, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing);
Microsoft.Office.Interop.Excel.Worksheetm_Worksheet = (Microsoft.Office.Interop.Excel.Worksheet)m_workbook.ActiveSheet;
string K_path2 = strPath + "過(guò)程文件夾" + "" + "看板3.生產(chǎn)綱領(lǐng).xlsx";
m_excel.Application.DisplayAlerts = false;//不顯示提示對(duì)話(huà)框
int count = DTable.Rows.Count;
for (int i = 0; i for (int j = 0; j { m_Worksheet.Cells[i + 1, j + 1] = DTable.Rows[i][j].ToString(); } } 3.3 工藝說(shuō)明文件自動(dòng)生成 依據(jù)設(shè)計(jì)程序看板的中間過(guò)程文件,對(duì)其相關(guān)數(shù)據(jù)進(jìn)行分類(lèi)、歸并,使用Office自帶的VBA軟件開(kāi)發(fā)進(jìn)行窗體界面設(shè)計(jì),一鍵生成滿(mǎn)足工藝人員需求的說(shuō)明書(shū)。對(duì)于一些可以自動(dòng)化生成的工藝文檔,可以在一些Office模板文件上添加控件,開(kāi)發(fā)數(shù)據(jù)自動(dòng)填寫(xiě)功能。例如,可以在車(chē)間設(shè)備用電資料表的Word文件里,添加“自動(dòng)填表”和“自動(dòng)清除”按鈕,如圖8所示。對(duì)于設(shè)計(jì)文件的中間文檔,可以在工藝設(shè)計(jì)說(shuō)明模板文件上添加控件進(jìn)行內(nèi)容拼接與格式設(shè)置。圖9為工藝說(shuō)明文件控件界面。 圖8 車(chē)間設(shè)備用電資料表控件 圖9 工藝說(shuō)明文件的控件界面 4.1 管子加工車(chē)間三維參數(shù)化設(shè)計(jì) 三維設(shè)計(jì)能準(zhǔn)確地表達(dá)設(shè)計(jì)人員的設(shè)計(jì)意圖,更符合人們的思維方式和設(shè)計(jì)習(xí)慣,有助于設(shè)計(jì)決策,縮短周期,提高設(shè)計(jì)效率。本系統(tǒng)的三維CAD設(shè)計(jì)組成部分是通過(guò)SketchUp 2015軟件平臺(tái)進(jìn)行二次開(kāi)發(fā)得到的,使用Ruby語(yǔ)言可實(shí)現(xiàn)在三維環(huán)境中對(duì)設(shè)計(jì)程序的調(diào)用[5]。通過(guò)讀取設(shè)計(jì)程序中間過(guò)程文件生成的車(chē)間布置圖和設(shè)備表的相關(guān)參數(shù),實(shí)現(xiàn)廠房和內(nèi)部設(shè)備的參數(shù)化建模,在此基礎(chǔ)上,工藝人員可以進(jìn)行工藝各個(gè)階段的三維設(shè)計(jì)工作,并可以實(shí)時(shí)簡(jiǎn)單地對(duì)自己的工藝方案進(jìn)行調(diào)整,如圖10所示。 圖10 管子加工車(chē)間及設(shè)備參數(shù)化建模 4.2 三維出圖及標(biāo)注 在使用三維參數(shù)化模塊進(jìn)行三維設(shè)計(jì)后,設(shè)計(jì)人員可以使用SketchUp軟件的Layout工具進(jìn)行三維出圖工作,將三維工藝布局導(dǎo)入Layout模塊中,程序調(diào)用不同的項(xiàng)目圖框模板,自動(dòng)生成滿(mǎn)足工藝人員需求的二維設(shè)計(jì)圖紙。同時(shí),在該環(huán)境中實(shí)現(xiàn)圖紙的標(biāo)注說(shuō)明工作,若項(xiàng)目需要,可將該圖紙導(dǎo)出通用的.dwg或.Obj格式文件,與其他各專(zhuān)業(yè)(建筑、結(jié)構(gòu)、公用等)在BentleyProjectWise平臺(tái)進(jìn)行二維或三維協(xié)同設(shè)計(jì)。 船廠設(shè)計(jì)是一項(xiàng)非常復(fù)雜的系統(tǒng)工程,本文從管子車(chē)間工藝數(shù)據(jù)庫(kù)管理平臺(tái)搭建、設(shè)計(jì)程序開(kāi)發(fā)、過(guò)程文件生成、三維參數(shù)化設(shè)計(jì)軟件實(shí)現(xiàn)等方面探索了傳統(tǒng)船廠管子車(chē)間工藝設(shè)計(jì)與信息技術(shù)的融合,目前該系統(tǒng)已在多個(gè)工程項(xiàng)目中得以成功應(yīng)用。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,考慮到工程建設(shè)的實(shí)際需要,設(shè)計(jì)流程規(guī)范性、數(shù)據(jù)多平臺(tái)兼容性以及三維協(xié)同設(shè)計(jì)都將是工程設(shè)計(jì)行業(yè)的必然趨勢(shì)。 [1] (美)JENNINGS R.深入Access 2010[M].李光杰,周姝嫣,張若飛,譯.北京:中國(guó)水利水電出版社,2012. [2] 陳景輝.基于Asp.net技術(shù)的網(wǎng)頁(yè)設(shè)計(jì)與實(shí)現(xiàn)[J].科技與創(chuàng)新,2015(16):85-87. [3] 戴明星,陳正奎.Web 網(wǎng)站的安全代碼設(shè)計(jì)[J].信息安全與通信保密, 2010(10) : 92-94. [4] 伍云輝. 精通Excel VBA[M]. 北京:電子工業(yè)出版社,2013. [5] THOMAS D, FOWLER C,HUNT A.Programming Ruby[M].2版.孫勇,姚延棟,張海峰,譯.北京:電子工業(yè)出版社,2007. Key Technology of Process Planing Software System in Pipe Processing Workshop WANG Zhen (China Shipbuilding NDRI Engineering Co., Ltd., Shanghai 200063, China) Aiming at the questions that traditional shipyard technological design process is de-normalized and that 3D collaborative CAD softwares are less applied, a process design software system of pipe processing workshop is presented. The key links of this software system include technological database design, program development, parameterized modeling, 3D drawing and collaborative design. This software system will raise the level and efficiency of technological design and lay a technological foundation for traditional shipyard model innovation transformation. technological design; pipe processing workshop; 3D parametric design 王 真(1988-),女,助理工程師,主要從事數(shù)字化仿真及虛擬現(xiàn)實(shí)開(kāi)發(fā)。 1000-3878(2017)01-0077-06 U662 A4 基于SketchUp Ruby的三維CAD工具開(kāi)發(fā)
5 小結(jié)