999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于船舶設(shè)計(jì)軟件SPD 4.0的二次開發(fā)

2018-11-01 03:28:50彬,優(yōu)
造船技術(shù) 2018年5期
關(guān)鍵詞:二次開發(fā)模型設(shè)計(jì)

周 彬, 吳 優(yōu)

(中船澄西船舶修造有限公司, 江蘇 江陰 214433)

0 引 言

船舶產(chǎn)品設(shè)計(jì)(Ship Product Design, SPD)軟件是能滿足船體結(jié)構(gòu)、機(jī)裝、電裝、居裝和甲裝等專業(yè)設(shè)計(jì)的三維全數(shù)字化產(chǎn)品模型軟件平臺(tái)。隨著SPD應(yīng)用的不斷深入,用戶對SPD的開放性提出了更高的要求,因此SPD V4.0新增數(shù)據(jù)查詢二次開發(fā)接口,使用戶可在獲取數(shù)據(jù)后根據(jù)實(shí)際需要對數(shù)據(jù)進(jìn)行篩選、排序、統(tǒng)計(jì)并輸出數(shù)據(jù)報(bào)表等,大大提升用戶與SPD間的交互能力。由于SPD已在船廠長期使用,船廠的物量及管理數(shù)據(jù)結(jié)構(gòu)已趨于穩(wěn)定,與之配套的軟件也已形成,如果更換船舶設(shè)計(jì)軟件,會(huì)對原有的管理造成沖擊,船廠基本不會(huì)愿意更換。而且,幾乎沒有SPD二次開發(fā)的交流平臺(tái),開發(fā)人員無法方便地獲取資料,這也會(huì)對SPD獲取更多用戶造成影響。

中船澄西船舶修造有限公司現(xiàn)行船舶設(shè)計(jì)軟件為SPD V4.0,在載重量82 000 t船的生產(chǎn)設(shè)計(jì)中,利用C#語言對SPD進(jìn)行軟件的二次開發(fā),主要為突破生產(chǎn)設(shè)計(jì)瓶頸,提高設(shè)計(jì)人員效率,同時(shí)獲取實(shí)際需要的數(shù)據(jù)。

1 SPD軟件二次開發(fā)接口

SPD V4.0提供SpdCustomization.dll和SpdArxCustomization.dll等2個(gè)DLL文件作為數(shù)據(jù)查詢二次開發(fā)接口,提供基于模型和基于產(chǎn)品數(shù)據(jù)庫的2種數(shù)據(jù)提取方式。2種提取方式的特點(diǎn)有:模型數(shù)據(jù)完整,提取效率較低;產(chǎn)品數(shù)據(jù)庫的數(shù)據(jù)不完整,提取效率較高。用戶可根據(jù)不同需求選擇提取方式。SPD軟件的管子模型數(shù)據(jù)提取流程如圖1所示(產(chǎn)品數(shù)據(jù)結(jié)構(gòu)樹和其他模型數(shù)據(jù)均類似)。

圖1 管子模型數(shù)據(jù)提取流程

源代碼如下:

Project m_proj = new Project();

m_proj.Open(string projectname);

ModelFile mdf = m_proj.OpenModelFile

(string modelname,SpecialityIdx.Pipe) ;

For (mdf.RewindRec(); mdf.GetRecState (out rectype, out recnum) == 0; mdf.NextRec());

MddRec rec = mdf.GetMddRec(recnum) ;

其他主要數(shù)據(jù)接口如下:

(1) SpdtRecord類:數(shù)據(jù)表基類,主要存儲(chǔ)SQL數(shù)據(jù)庫數(shù)據(jù);

(2) Component類:實(shí)體部件記錄基類,主要存儲(chǔ)管子部件、實(shí)體部件和參數(shù)化部件;

(3) PpdRec類:原理記錄基類,主要存儲(chǔ)管子原理和電氣原理數(shù)據(jù)。

2 部件管理

部件庫是SPD設(shè)計(jì)系統(tǒng)中管子、電氣、舾裝專業(yè)設(shè)計(jì)的基礎(chǔ),沒有部件庫,設(shè)計(jì)師無法在SPD設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)快速建模。SPD部件分為參數(shù)化部件、實(shí)體部件和管子部件。SPD部件提供的接口有基類和拓展類,其中基類為空體部件記錄基類(Component),擴(kuò)展類分別為參數(shù)化部件(ParaComponent)、實(shí)體部件(PartComponent)和管子部件(PipeComponent)。

2.1 參數(shù)化部件

SPD參數(shù)化建模系統(tǒng)支持用戶自定義計(jì)算、報(bào)表生成和模型瀏覽,為用戶提供良好的設(shè)計(jì)模式、數(shù)據(jù)瀏覽和管理方式。參數(shù)化部件按專業(yè)分為管子、電氣、舾裝和通用,按用途分為基礎(chǔ)型材和組合部件,按標(biāo)準(zhǔn)又分為標(biāo)準(zhǔn)件和非標(biāo)件。對復(fù)雜部件物量的抽取,原SPD接口需要在每個(gè)部件中單獨(dú)計(jì)算并定義物量,才能實(shí)現(xiàn)物量輸出。通過二次開發(fā)參數(shù)化部件數(shù)據(jù)查詢工具,實(shí)現(xiàn)對參數(shù)化部件建模準(zhǔn)確性的檢查,完成參數(shù)化部件建模數(shù)據(jù)的提取程序。完善后的接口可以根據(jù)底層基礎(chǔ)型材定義的物量信息實(shí)現(xiàn)復(fù)雜部件物量信息的完整提取,復(fù)雜部件無需再單獨(dú)計(jì)算和定義物量,提高了參數(shù)化部件的設(shè)計(jì)效率。SPD參數(shù)化部件可以用其他部件組合為復(fù)雜的部件,參數(shù)化部件物量提取流程如圖2所示。

圖2 參數(shù)化部件物量提取流程圖

主要源代碼如下:

List listpara = new List();

MddSstru recsstru = (MddSstru)rec;

ParaComponent paracomponent = new ParaComponent(recsstru.ParaCompNum, recsstru.ParaValues);

listpara.Add(paracomponent);

組合件判斷源代碼如下:

if (listpara[i].RefParaComps[j].ParaNum < 9000)

{

listpara.Add(listpara[i].RefParaComps[j]);

}

通過ParaComponent屬性輸出物量信息如下:

(1) SubSpecs:組件規(guī)格描述($MSPEC),如:型材規(guī)格;

(2) SubSpecLengths:組件規(guī)格長度($LENS),如:型材長度、電氣基座的螺栓個(gè)數(shù);

(3) SubSpecNums:組件數(shù)量($NUMS),如:型材數(shù)量、電氣導(dǎo)架的螺栓個(gè)數(shù);

(4) SubWeights:組件基準(zhǔn)質(zhì)量($WETS)。

本文通過SubSpecs判斷部件是否為組合件,參數(shù)化部件組合件無需定義和計(jì)算物量信息,原參數(shù)化部件的物量數(shù)據(jù)抽取不受影響,提高了參數(shù)化部件基礎(chǔ)庫的建模效率,降低了參數(shù)化部件基礎(chǔ)庫的維護(hù)難度。

2.2 實(shí)體部件

對管子專業(yè)的實(shí)體部件進(jìn)行優(yōu)化。管子專業(yè)物資種類多,標(biāo)準(zhǔn)件多,管子專業(yè)的實(shí)體部件如果處理不好,后期會(huì)對物資采購需求產(chǎn)生較大影響。物資編碼是物資管理的基礎(chǔ),每個(gè)企業(yè)均有自己的物資編碼體系,由于各個(gè)企業(yè)的物資編碼體系差異性較大,SPD軟件無法為每個(gè)企業(yè)建立完善的物資編碼系統(tǒng)。通過對SPD數(shù)據(jù)的深入了解,開發(fā)了物資編碼系統(tǒng)。該系統(tǒng)采用的是基礎(chǔ)數(shù)據(jù)配置,實(shí)現(xiàn)全自動(dòng)復(fù)雜結(jié)構(gòu)編碼。以管子為例,介紹物資編碼系統(tǒng)的結(jié)構(gòu)和原理,管子編碼結(jié)構(gòu)如圖3所示。系統(tǒng)設(shè)計(jì)原理為提取每個(gè)結(jié)構(gòu)信息單獨(dú)的編碼,通過數(shù)據(jù)庫中的組合規(guī)則將單獨(dú)的編碼組合成完整的物資編碼,如圖4所示。

圖3 管子編碼結(jié)構(gòu)

圖4 自動(dòng)編碼設(shè)計(jì)原理

3 原理定義

SPD的原理定義是其短板,定義效率不高。SPD原理提供的接口為原理記基類(PpdRec)和擴(kuò)展類,擴(kuò)展類包括閥附件原理(PpdValve)、管路原理(PpdPipeline)和設(shè)備原理(PpdDevice)等。主要對管路原理定義進(jìn)行優(yōu)化,實(shí)現(xiàn)管路原理以詳細(xì)設(shè)計(jì)的DWG原理圖直接輸入到SPD系統(tǒng)。其主要原理為:定義各系統(tǒng)基礎(chǔ)信息,如法蘭、處理、壓力等信息,然后抓取詳細(xì)設(shè)計(jì)的DWG原理圖的管路信息(管路號(hào)、管子規(guī)格、管子材質(zhì)、管子等級(jí)),在定義每條原理數(shù)據(jù)的過程中自動(dòng)選取法蘭、處理和壓力等信息,最終實(shí)現(xiàn)管路原理自動(dòng)定義功能。自動(dòng)定義設(shè)計(jì)原理如圖5所示。

圖5 自動(dòng)定義設(shè)計(jì)原理

主要源代碼如下:

PrincipleFile principlefile = m_proj.GetPipePpdFile();

PpdPipeline ppdpipeline = new PpdPipeline();

// ppdpipeline屬性賦值

ppdpipeline.SysCode= "管路名";

ppdpipeline.PipeCompCode="管子部件代號(hào)";

……

principlefile.WriteRec(ppdpipeline);

4 物量提取與物量需求

4.1 物量提取和重組

物量提取是建立在中船澄西船舶修造有限公司自主研發(fā)的綜合數(shù)據(jù)管理平臺(tái)和SPD二次開發(fā)基礎(chǔ)上的,可以實(shí)現(xiàn)將SPD模型數(shù)據(jù)無縫導(dǎo)入綜合數(shù)據(jù)管理平臺(tái),然后通過該平臺(tái)對外發(fā)布數(shù)據(jù)。

SPD雖然提供了大量報(bào)表,但是報(bào)表中部分?jǐn)?shù)據(jù)并不完整,無法滿足實(shí)際需求,因此對SPD模型數(shù)據(jù)進(jìn)行準(zhǔn)確的提取和重組是有必要的。管子制作托盤提取界面如圖6所示。通過該模塊提取的管子材料明細(xì)有材料來源信息、物資編碼信息和需要的備注信息。

圖6 管子制作托盤提取

主要源代碼如下:

if ((mdf = m_proj.OpenModelFile(modelname, SpecialityIdx.Pipe)) != null)//判斷模型是否為管子專業(yè)

{

for (mdf.RewindRec(); mdf.GetRecState(out rectype, out recnum) == 0; mdf.NextRec())//遍歷模型

{

if ((rec = mdf.GetMddRec(recnum)) != null)

{

recspool = (MddSpool)mdf.GetMddRec((uint)Math.Abs(SPD_Pipe.spoolrecno(rec)));//獲取零件

if (recspool != null && recspool.Pallet == Listview.SelectedItems[0].SubItems[0].Text && recspool.PalletOrderNumber < 3000)//判斷零件托盤

{

spoolname = recspool.SpoolName;

ArrayList pipedetail = new ArrayList();//管子材料

pipedetail = SPD_Pipe.PipeDetail(rec, mdf, m_proj);//讀取管子部件詳細(xì)信息(自己寫的接口)

}

}

}

}

4.2 物量需求

物量需求是指在設(shè)計(jì)端建立出庫和入庫數(shù)據(jù)庫,將設(shè)計(jì)下發(fā)的采購需求作為入庫數(shù)據(jù),模型提取的數(shù)據(jù)作為出庫數(shù)據(jù),通過對出入庫數(shù)據(jù)的對比分析,動(dòng)態(tài)顯示物量需求,指導(dǎo)設(shè)計(jì)人員進(jìn)行材料采購。目前完成了管子專業(yè)模塊的開發(fā),主要功能有基礎(chǔ)物資庫、材料請購、材料比對、材料查詢和材料請購單。物量需求模塊程序設(shè)計(jì)原理如圖7所示。

圖7 物量需求設(shè)計(jì)原理

基礎(chǔ)物資庫主要作用為將模型數(shù)據(jù)與采購數(shù)據(jù)對照,形成標(biāo)準(zhǔn)的采購數(shù)據(jù),同時(shí)也作為材料比對的標(biāo)準(zhǔn)數(shù)據(jù)。程序輸入端為托盤、基礎(chǔ)物資庫和采購單。托盤由模型直接輸出,基礎(chǔ)物資庫需要系統(tǒng)管理人員進(jìn)行維護(hù),采購單則由缺料數(shù)據(jù)直接輸出,設(shè)計(jì)師只允許進(jìn)行數(shù)量調(diào)整,修改備注等操作。該系統(tǒng)保證了采購需求物量信息的標(biāo)準(zhǔn)化。

通過該系統(tǒng),設(shè)計(jì)師能在提交模型數(shù)據(jù)后快速生成物料需求,過程中可以直觀地看到訂貨數(shù)據(jù)和模型數(shù)據(jù),通過對比分析,指導(dǎo)后續(xù)項(xiàng)目訂貨,其他專業(yè)物量需求可用類似的方法實(shí)現(xiàn)。

5 全套料技術(shù)

全套料技術(shù)指實(shí)現(xiàn)船體以外其他專業(yè)板材類零件圖形數(shù)據(jù)的提取。該技術(shù)是建立在參數(shù)化建模基礎(chǔ)上的,對參數(shù)化建模和手工建模過程作如下約定:

(1) 在建模過程中除了板材類零件可以使用軟件自帶的拉伸體功能,其余均通過參數(shù)化部件建模。

(2) 在參數(shù)化部件的組合部件中型材類均從基本型材中引用,只有板材可以引用基礎(chǔ)實(shí)體部件。

通過約定,可以實(shí)現(xiàn)自動(dòng)過濾,將舾裝件中需要套料的板材過濾出來,最終實(shí)現(xiàn)舾裝件板材零件的全套料。

實(shí)現(xiàn)過程源代碼如下:

MddSstru recsstru = (MddSstru)rec; //獲取鐵舾件零件

HdEntStretchPrism hdentstretchprism = (Hd

EntStretchPrism)recsstru.Ents[0];//獲取實(shí)體信息

hdentstretchprism.BottomSpline //獲取實(shí)體圖形信息,拉伸體底面邊界樣條

底面邊界樣條數(shù)據(jù)解析如下:

xyz

x1y1z1

……

xnynzn

其中:yn、zn為樣條節(jié)點(diǎn)的坐標(biāo);xn為連接節(jié)點(diǎn)(yn-1,zn-1)和(yn,zn)組成的樣條片段的有向半徑, 當(dāng)xn= 0時(shí)為直線段。程序通過獲取的邊界樣條自動(dòng)輸出圖形文件,該圖形文件能在中船澄西船舶修造有限公司套料軟件中直接套料。

6 結(jié) 語

設(shè)計(jì)軟件二次開發(fā)是打通企業(yè)信息化建設(shè)孤島的關(guān)鍵所在,能夠使設(shè)計(jì)軟件更加貼合企業(yè)實(shí)際需求。船舶設(shè)計(jì)模型數(shù)據(jù)是船廠信息化的基石,理論物量、理論工時(shí)等均以模型數(shù)據(jù)為源頭,二次開發(fā)是從模型數(shù)據(jù)中獲得基礎(chǔ)數(shù)據(jù)的必由之路。通過對SPD軟件的二次開發(fā),可以將設(shè)計(jì)模型數(shù)據(jù)轉(zhuǎn)化為其他軟件需要的信息,建立企業(yè)統(tǒng)一的數(shù)據(jù)源,打通設(shè)計(jì)、生產(chǎn)和管理之間的信息孤島。隨著SPD軟件二次開發(fā)接口的不斷完善,船廠信息化建設(shè)要求將更能滿足。

猜你喜歡
二次開發(fā)模型設(shè)計(jì)
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
淺談基于Revit平臺(tái)的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
瞞天過海——仿生設(shè)計(jì)萌到家
西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
3D打印中的模型分割與打包
主站蜘蛛池模板: 在线精品亚洲国产| 伊人AV天堂| 青青青国产在线播放| 亚洲国产日韩在线观看| 精品无码人妻一区二区| 久久国产免费观看| 亚洲欧美成人在线视频| 亚洲不卡无码av中文字幕| 色综合天天娱乐综合网| 在线视频精品一区| 永久免费精品视频| 精品国产免费观看一区| 国产丝袜91| 国国产a国产片免费麻豆| 激情在线网| 爽爽影院十八禁在线观看| 国产情精品嫩草影院88av| 日日噜噜夜夜狠狠视频| 青青草原国产一区二区| 国产乱子伦视频在线播放| 欧美成人在线免费| 18黑白丝水手服自慰喷水网站| 久久亚洲日本不卡一区二区| 国产在线视频福利资源站| 99热亚洲精品6码| 亚洲成A人V欧美综合天堂| 婷婷六月在线| 亚洲精品va| 日韩欧美色综合| 亚洲精品va| 色哟哟国产精品一区二区| 免费国产小视频在线观看| 国产黑丝视频在线观看| 熟妇无码人妻| 午夜三级在线| 色综合久久无码网| 精品自窥自偷在线看| 91网在线| 免费一级毛片不卡在线播放| 狠狠亚洲五月天| 中文字幕1区2区| 国产亚卅精品无码| 国产在线观看91精品亚瑟| 91年精品国产福利线观看久久 | 色婷婷在线播放| 亚洲色图狠狠干| 香蕉eeww99国产精选播放| 91小视频在线观看| 午夜视频在线观看区二区| 大陆精大陆国产国语精品1024| 五月婷婷伊人网| 中文字幕无码av专区久久 | 毛片在线区| 亚洲最猛黑人xxxx黑人猛交| 国产成人高清亚洲一区久久| 蜜臀AV在线播放| 国产精品熟女亚洲AV麻豆| 日本色综合网| 在线网站18禁| 亚洲伊人久久精品影院| 亚洲国产一成久久精品国产成人综合| 欧美亚洲国产视频| 91久久精品国产| 无码日韩视频| 97久久人人超碰国产精品| 国产无码高清视频不卡| 国产网友愉拍精品| 日韩 欧美 小说 综合网 另类 | 国产青青草视频| 狠狠色综合网| 成人午夜免费视频| 亚洲日韩精品无码专区| 国产美女在线观看| 国产亚洲精品自在久久不卡| 亚洲欧美日韩中文字幕一区二区三区| 国产精品综合久久久 | 一边摸一边做爽的视频17国产| 久久五月天国产自| 一本一道波多野结衣一区二区| 亚洲日本韩在线观看| 国产精品女同一区三区五区| 亚洲第一av网站|