• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Creo二次開(kāi)發(fā)的冷熱水智能設(shè)計(jì)系統(tǒng)研究

      2023-03-15 08:46:58王加攀吳仁智
      關(guān)鍵詞:冷熱水標(biāo)準(zhǔn)件對(duì)話框

      王加攀 吳仁智 秦 磊

      (同濟(jì)大學(xué)機(jī)械與能源工程學(xué)院 上海 201804)

      0 引 言

      PPR管又稱(chēng)三型聚丙烯管,由無(wú)規(guī)共聚聚丙烯注塑而成[1],廣泛應(yīng)用于建筑物內(nèi)的冷熱水系統(tǒng)、采暖系統(tǒng)、可直接飲用的純凈水供水系統(tǒng)、中央集中空調(diào)系統(tǒng)等[2]。傳統(tǒng)的給水系統(tǒng)采用的設(shè)計(jì)軟件是Auto CAD,但其繪圖效率低下,設(shè)計(jì)質(zhì)量往往也不能滿足要求[3]。BIM技術(shù)在工程中的應(yīng)用極大地減少了設(shè)計(jì)、施工中不必要的浪費(fèi),解決建筑行業(yè)的低效能問(wèn)題[4]。目前應(yīng)用于給排水的主要三維建模軟件是RevitMEP,通過(guò)生成三維模型實(shí)現(xiàn)所見(jiàn)即所得,減少了因主觀想象失誤而造成的設(shè)計(jì)錯(cuò)誤[5]。文獻(xiàn)[6]分析了BIM技術(shù)在建筑給排水工程設(shè)計(jì)中的應(yīng)用及存在的問(wèn)題;文獻(xiàn)[7]以某工業(yè)園區(qū)的綜合樓為例,運(yùn)用BIM技術(shù)進(jìn)行了給排水管道設(shè)計(jì);文獻(xiàn)[8]通過(guò)制作Revit相關(guān)族構(gòu)件和開(kāi)發(fā)配套的程序,布置了給排水衛(wèi)浴裝置。

      上述文獻(xiàn)研究了利用RevitMEP進(jìn)行給排水設(shè)計(jì)的方法和流程,但仍存在以下問(wèn)題:(1) 現(xiàn)有構(gòu)件族庫(kù)缺少符合中國(guó)國(guó)家產(chǎn)品標(biāo)準(zhǔn)的PPR管構(gòu)件[9],Revit創(chuàng)建的模型還不能達(dá)到預(yù)制加工的深度,特別是管材、管件及閥門(mén)閥件等Revit族尚沒(méi)有統(tǒng)一的族庫(kù)標(biāo)準(zhǔn),且Revit在預(yù)制加工圖等方面還不完善[10];(2) Revit軟件和ANSYS等大型有限元軟件不能有效對(duì)接[11],使得在需要進(jìn)行數(shù)值模擬計(jì)算時(shí)受到限制;(3) 管線布置時(shí)自動(dòng)化、智能化程度不高。

      Revit是一個(gè)參數(shù)化的設(shè)計(jì)軟件,最早推出參數(shù)化建模技術(shù)的是PTC公司的Pro/E[12]。Creo軟件是PTC公司推出的一種基于特征建模技術(shù)和統(tǒng)一數(shù)據(jù)庫(kù)參數(shù)化的通用CAD系統(tǒng),PTC軟件被廣泛應(yīng)用于機(jī)械產(chǎn)品的布線和布管設(shè)計(jì)[13-16]。針對(duì)上述Revit設(shè)計(jì)的問(wèn)題,本文提出在Creo軟件中進(jìn)行PPR冷熱水系統(tǒng)設(shè)計(jì)的方法,采用Creo二次開(kāi)發(fā)的方式,建立標(biāo)準(zhǔn)的PPR管材管件三維標(biāo)準(zhǔn)庫(kù),并開(kāi)發(fā)出冷熱水管的自動(dòng)布管系統(tǒng),實(shí)現(xiàn)冷熱水系統(tǒng)的智能設(shè)計(jì),提高設(shè)計(jì)效率。

      1 冷熱水系統(tǒng)總體設(shè)計(jì)

      開(kāi)發(fā)的功能框架如圖1所示,點(diǎn)擊對(duì)應(yīng)的子菜單即可調(diào)用相應(yīng)的功能模塊。

      圖1 冷熱水系統(tǒng)功能模塊

      冷熱水系統(tǒng)主要包括PPR三維標(biāo)準(zhǔn)庫(kù)和自動(dòng)布管兩部分。三位標(biāo)準(zhǔn)庫(kù)系統(tǒng)以GB/T 18742.2—2002和GB/T 18742.3—2002為標(biāo)準(zhǔn)進(jìn)行建立。包括管件、管材和閥門(mén)配件三個(gè)大類(lèi),按照手冊(cè)的分類(lèi)又將管件分為28個(gè)小類(lèi)別,管材分為4個(gè)小類(lèi)別,閥門(mén)配件分為6個(gè)小類(lèi)別,這些標(biāo)準(zhǔn)件足以為大多數(shù)的冷熱水管路系統(tǒng)設(shè)計(jì)提供所需要的標(biāo)準(zhǔn)零件。自動(dòng)布管是用程序來(lái)驅(qū)動(dòng)系統(tǒng)自動(dòng)裝配零件進(jìn)而替代手動(dòng)裝配。進(jìn)行冷熱水系統(tǒng)設(shè)計(jì)時(shí)的一般流程如下:

      (1) 在開(kāi)發(fā)的對(duì)話框中選擇需要的管件或管材型號(hào),注意選擇管材后應(yīng)輸入PPR管的長(zhǎng)度,即可快速完成標(biāo)準(zhǔn)件的設(shè)計(jì),并保存在指定的文件夾內(nèi)。

      (2) 新建裝配體。

      (3) 選擇自動(dòng)布管系統(tǒng)菜單,選擇需要的布管方法,完成PPR管路布管。

      2 PPR三維標(biāo)準(zhǔn)庫(kù)系統(tǒng)開(kāi)發(fā)

      2.1 Creo二次開(kāi)發(fā)技術(shù)

      PTC公司為Pro/E軟件提供二次開(kāi)發(fā)工具集Pro/Toolkit。本系統(tǒng)采用同步模式下的DLL模式,在Microsoft Visual Studio 2010中新建MFC DLL工程項(xiàng)目,編寫(xiě)信息文件和程序代碼。DLL模式下應(yīng)用程序的入口函數(shù)是User-initialize,它包含Pro/Toolkit應(yīng)用程序的所有初始化進(jìn)程;終止函數(shù)是User-terminate函數(shù),在Creo終止應(yīng)用程序時(shí)被調(diào)用。最后編寫(xiě)注冊(cè)文件,并在Creo中通過(guò)“工具”→“輔助應(yīng)用程序”命令,即可注冊(cè)運(yùn)行二次開(kāi)發(fā)的功能模塊[17]。

      2.2 三維標(biāo)準(zhǔn)庫(kù)系統(tǒng)基本原理

      標(biāo)準(zhǔn)庫(kù)中包含兩個(gè)集合:一個(gè)是三維模板庫(kù),儲(chǔ)存在計(jì)算機(jī)硬盤(pán)中;另一個(gè)是尺寸參數(shù)庫(kù),以數(shù)據(jù)表格的形式存儲(chǔ)在Access數(shù)據(jù)庫(kù)中,基本原理如圖2所示。首先,可通過(guò)Creo建立某型號(hào)零件三維模型作為該型號(hào)零件的模版,并將其存儲(chǔ)在模版庫(kù)中。然后將該型號(hào)下不同規(guī)格的尺寸等可變參數(shù)值輸入至數(shù)據(jù)表中,并將其存儲(chǔ)至Access數(shù)據(jù)庫(kù)中。當(dāng)需要調(diào)出這一型號(hào)下某一規(guī)格零件時(shí),可通過(guò)應(yīng)用程序搜Access數(shù)據(jù)庫(kù)并提取該規(guī)格的參數(shù)數(shù)據(jù),將該組數(shù)據(jù)賦值給該型號(hào)三維模版,就可生成所需規(guī)格的零件三維模型。為方便調(diào)用,可利用MFC類(lèi)庫(kù)設(shè)計(jì)人機(jī)交互界面。

      圖2 三維標(biāo)準(zhǔn)庫(kù)原理圖

      2.3 標(biāo)準(zhǔn)件模板建模

      模板庫(kù)中的三維模板,可以通過(guò)一組參數(shù)和關(guān)系控制零件的外形和大小(并不需要零件中的所有尺寸參數(shù)),稱(chēng)這些參數(shù)為驅(qū)動(dòng)參數(shù)。

      建立參數(shù)化標(biāo)準(zhǔn)件模版的主要步驟:(1) 基于特征的三維建模;(2) 通過(guò)Creo“參數(shù)”工具添加驅(qū)動(dòng)參數(shù);(3) 將所建立的驅(qū)動(dòng)參數(shù)與實(shí)體模型中可變變量建立某種映射關(guān)系。如圖3所示,Creo“關(guān)系”工具中建立了模型尺寸變量和驅(qū)動(dòng)參數(shù)的函數(shù)映射關(guān)系,尺寸變量是由驅(qū)動(dòng)參數(shù)進(jìn)行驅(qū)動(dòng)變化的,在驅(qū)動(dòng)過(guò)程中,模型中的拓?fù)湫螤钭兞?約束變量)并不發(fā)生改變。

      圖3 等徑三通參數(shù)化建模

      2.4 數(shù)據(jù)庫(kù)存儲(chǔ)和訪問(wèn)

      圖4為儲(chǔ)存在Access數(shù)據(jù)庫(kù)平臺(tái)下的等徑三通驅(qū)動(dòng)參數(shù)表。

      圖4 等徑三通驅(qū)動(dòng)參數(shù)存儲(chǔ)

      采用ActiveX數(shù)據(jù)對(duì)象(ActiveX Data Object,ADO)技術(shù)對(duì)驅(qū)動(dòng)參數(shù)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)。訪問(wèn)步驟如下:

      (1) 應(yīng)用#import宏將ADO動(dòng)態(tài)庫(kù)文件msado15.dll加載到工程中,這個(gè)動(dòng)態(tài)庫(kù)文件提供了對(duì)ADO對(duì)象的封裝。

      (2) 創(chuàng)建Connection對(duì)象,調(diào)用Open()函數(shù)連接驅(qū)動(dòng)參數(shù)數(shù)據(jù)庫(kù);創(chuàng)建Recordset對(duì)象,調(diào)用Open()函數(shù)取得查詢(xún)結(jié)果。

      (3) 應(yīng)用Recordset對(duì)象提供的函數(shù)移動(dòng)、查看、獲取各個(gè)記錄。提取其中的m_Name名稱(chēng)信息,將其顯示在對(duì)話框下拉表中,具體代碼如下:

      m_pRecordset.CreateInstance(__uuidof(Recordset));

      m_pRecordset->Open((_bstr_t)(_T("select*from

      ST")),m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

      m_pRecordset->MoveFirst();_variant_t var;CString strvalue;

      while(!m_pRecordset->adoEOF){

      var=m_pRecordset->GetCollect(_T("m_Name"));

      if(var.vt!=VT_NULL)

      strvalue=(LPCSTR)_bstr_t(var);m_MingCheng.AddString(strvalue);

      m_pRecordset->MoveNext();}

      (4) 提取指定規(guī)格標(biāo)準(zhǔn)件的尺寸信息:m_pRecordset->GetCollect(_T("mdi")),mdi即存儲(chǔ)在數(shù)據(jù)庫(kù)中的驅(qū)動(dòng)參數(shù)。

      2.5 生成標(biāo)準(zhǔn)件實(shí)體

      用戶(hù)操作界面是由MFC建立的非模式對(duì)話框和控件的方式來(lái)進(jìn)行設(shè)計(jì)的,代碼如下,以等徑三通和冷水管為例,設(shè)計(jì)的管件和管材對(duì)話框如圖5和圖6所示。

      圖5 等徑三通對(duì)話框

      圖6 冷水管對(duì)話框

      st dlgst;

      int PushButtonActionst()

      {AFX_MANAGE_STATE(AfxGetStaticModuleState());

      int status;

      if(!IsWindow(dlgst.m_hWnd))

      status=dlgst.Create(IDD_DIALOGst,NULL);

      if(status==0)

      {AfxMessageBox(_T("對(duì)話框創(chuàng)建失敗."));

      }

      dlgst.ShowWindow(SW_SHOW);

      return true;}

      選定好指定規(guī)格的標(biāo)準(zhǔn)件以后,點(diǎn)擊確定按鈕,在數(shù)據(jù)庫(kù)訪問(wèn)接口技術(shù)的基礎(chǔ)上,對(duì)模板實(shí)現(xiàn)參數(shù)化驅(qū)動(dòng)并將零件調(diào)入到Creo環(huán)境。程序?qū)崿F(xiàn)的流程如圖7所示。

      圖7 參數(shù)化驅(qū)動(dòng)流程

      3 水管路自動(dòng)布管系統(tǒng)

      3.1 自動(dòng)布管基本原理

      利用Creo布管即將PPR管件、管材等在Creo環(huán)境中裝配起來(lái),將多個(gè)元件組合到一個(gè)組件中?;驹砣鐖D8所示。

      圖8 自動(dòng)布管原理

      設(shè)計(jì)的自動(dòng)布管模塊有交叉塊自動(dòng)布管、冷水布管、熱水布管三部分,上述的交叉塊是由同濟(jì)大學(xué)與上海一翔機(jī)械科技有限公司發(fā)明的一種新型水管件,如圖9所示。交叉塊的材料為無(wú)規(guī)共聚聚丙烯,內(nèi)部一條冷水/熱水流道向上彎曲,另一條冷水/熱水流道向下彎曲,兩條流道投影呈X型交叉且互不連通,可以構(gòu)成冷水和熱水管路在同一平面并行敷設(shè)輸送且多點(diǎn)并行引出的冷熱水管路系統(tǒng)[18]。

      圖9 冷熱水交叉塊示意圖

      3.2 自動(dòng)布管實(shí)現(xiàn)流程

      本文將以交叉塊為例,介紹自動(dòng)布管的實(shí)現(xiàn)流程。在編寫(xiě)自動(dòng)布管程序之前,首先自定義標(biāo)準(zhǔn)件模型的基準(zhǔn)項(xiàng),如圖10所示設(shè)置孔底面和孔中心軸線并重命名。

      圖10 自定義模型基準(zhǔn)項(xiàng)

      用程序?qū)崿F(xiàn)自動(dòng)布管的步驟如下:

      (1) 將元件1添加到初始默認(rèn)位置,通過(guò)函數(shù)ProAsmcompAssemble()實(shí)現(xiàn)。

      (2) 對(duì)相關(guān)對(duì)象聲明變量,如元件ProMdl、模型基準(zhǔn)項(xiàng)ProModelitem、裝配參考基準(zhǔn)ProSelection等。

      (3) 選擇已存在裝配中參與裝配的元件1,通過(guò)函數(shù)ProSelect()實(shí)現(xiàn),輸出選擇的模型*sel供步驟(4)調(diào)用。

      (4) 獲取元件1的裝配路徑comp_path,通過(guò)函數(shù)ProSelectionAsmcomppathGet(sel[0],&comp_path)實(shí)現(xiàn)。

      (5) 獲取元件1的句柄comp_model_1,通過(guò)函數(shù)ProAsmcomppathMdlGet(&comp_path,&comp_model_1)實(shí)現(xiàn)。

      (6) 載入待裝配的元件2,并獲得其句柄,通過(guò)函數(shù):ProMdlLoad(name1,PRO_MDL_UNUSED,PRO_B_FALSE,&comp_model_2)實(shí)現(xiàn)。

      (7) 獲取兩個(gè)元件的模型基準(zhǔn)項(xiàng),通過(guò)函數(shù)ProModelitemByNameInit()實(shí)現(xiàn)。

      (8) 施加約束,以施加面面重合約束為例,實(shí)現(xiàn)代碼如下:

      ProArrayAlloc(0,sizeof(ProAsmcompconstraint),1,(ProArray*)&constraints);

      //為約束數(shù)組constraints分配空間

      ProSelectionAlloc(&comp_path,&comp_datum_1,&compdatum_

      sel_1);

      //獲得元件1的裝配參考基準(zhǔn),此處的comp_path為

      //步驟(4)獲得的裝配路徑

      ProSelectionAlloc(NULL,&comp_datum_2,&compdatum_sel_2);;

      //獲得元件2的裝配參考基準(zhǔn),由于元件2形式為零件

      //裝配路徑設(shè)為空NULL值

      ProAsmcompconstraintAlloc(&constraintdatum);

      //為裝配約束constraintdatum分配空間

      ProAsmcompconstraintTypeSet(constraintdatum,PRO_ASM_ALIGN);

      //設(shè)置約束類(lèi)型

      ProAsmcompconstraintAsmreferenceSet(constraintdatum,compdatum_sel_1,PRO_DATUM_SIDE_YELLOW);

      //設(shè)置約束

      //constraintdatum的元件參照compdatum_sel_1,無(wú)參考方向

      ProAsmcompconstraintCompreferenceSet(constraintdatum,compdatum_sel_2,PRO_DATUM_SIDE_RED);

      //設(shè)置約束

      //constraintdatum的元件參照compdatum_sel_2,參考方向取反向

      ProArrayObjectAdd((ProArray*)&constraints,-1,1,&constraintdatum);

      //裝配約束constraintdatum加入約束數(shù)組constraints

      ProAsmcompConstraintsSet(NULL,&asmcomp_2,constraints);

      //為未施加約束的待裝配元件asmcomp_2施加約束constraints

      軸向重合的裝配代碼與上述類(lèi)似,不再贅述。

      (9) 重生零件:ProSolidRegenerate((ProSolid)asm comp_2.owner,PRO_REGEN_CAN_FIX)。

      (10) 釋放約束:ProArrayFree((ProArray*)&con--straints)。

      釋放參照基準(zhǔn):ProSelectionFree(&compdatum_sel_1);ProSelectionFree(&compdatum_sel_2)。

      所開(kāi)發(fā)的交叉塊自動(dòng)布管界面如圖11所示,首先點(diǎn)擊對(duì)話框中交叉塊的按鈕將其作為第一個(gè)元件裝配至指定位置,然后在此基礎(chǔ)上按照指示點(diǎn)擊相應(yīng)的按鈕,添加另外的PPR管材或管件直至完成交叉塊的自動(dòng)布管。

      圖11 交叉塊自動(dòng)布管對(duì)話框

      冷水布管、熱水布管的原理與交叉塊布管的原理相同,可通過(guò)選擇相應(yīng)的布管系統(tǒng),來(lái)進(jìn)行冷熱水系統(tǒng)的設(shè)計(jì)。

      4 應(yīng)用實(shí)例

      以某室內(nèi)冷熱水供應(yīng)系統(tǒng)為例,如圖12所示利用開(kāi)發(fā)的冷熱水布管系統(tǒng)實(shí)現(xiàn)了某室內(nèi)衛(wèi)浴供水系統(tǒng)的三維快速智能設(shè)計(jì)。

      圖12 冷熱水系統(tǒng)示意三維圖

      本實(shí)例室內(nèi)三維圖中包含了墻體、燃?xì)鉄崴?、水槽、水龍頭、馬桶、淋浴器等衛(wèi)浴產(chǎn)品,將上述冷熱水系統(tǒng)裝配進(jìn)建筑實(shí)體中,實(shí)現(xiàn)最終三維裝配,如圖13所示。

      圖13 室內(nèi)三維裝配圖

      5 結(jié) 語(yǔ)

      通過(guò)對(duì)Creo進(jìn)行二次開(kāi)發(fā),開(kāi)發(fā)出一套冷熱水智能設(shè)計(jì)系統(tǒng),利用三維標(biāo)準(zhǔn)庫(kù)能快速生成符合國(guó)家標(biāo)準(zhǔn)的PPR標(biāo)準(zhǔn)件,使用自動(dòng)布管系統(tǒng)以程序代碼來(lái)代替重復(fù)性的手工操作,大大減少了冷熱水系統(tǒng)的設(shè)計(jì)時(shí)間。實(shí)例結(jié)果表明,基于該系統(tǒng)能夠提高設(shè)計(jì)的效率和自動(dòng)化程度,生成的三維圖可用于指導(dǎo)施工減少錯(cuò)誤,直觀的三維圖既能避免管線交叉等問(wèn)題,又可以快速準(zhǔn)確地向客戶(hù)展示所設(shè)計(jì)系統(tǒng)圖。本文為給排水領(lǐng)域的BIM軟件應(yīng)用提供了一種全新的解決方案。

      猜你喜歡
      冷熱水標(biāo)準(zhǔn)件對(duì)話框
      標(biāo)準(zhǔn)件庫(kù)的建立與應(yīng)用
      管道焊接技術(shù)在冷熱水供回水管施工中的應(yīng)用分析
      正?;謴?fù)虛擬機(jī)
      Bootlace Worms’Secret etc.
      CATIA V5標(biāo)準(zhǔn)件庫(kù)的創(chuàng)建與使用
      塑料管
      大連開(kāi)發(fā)區(qū)材料價(jià)格補(bǔ)充信息
      基于知識(shí)的組合機(jī)床夾具可擴(kuò)充標(biāo)準(zhǔn)件庫(kù)的開(kāi)發(fā)
      古代建筑的標(biāo)準(zhǔn)件
      快速抓取對(duì)話框中的完整信息
      電腦迷(2012年22期)2012-04-29 20:30:54
      运城市| 吴江市| 石渠县| 旬阳县| 宜章县| 贵溪市| 临汾市| 石屏县| 台南市| 陆丰市| 开封市| 顺平县| 马龙县| 微博| 桦川县| 壤塘县| 莎车县| 德庆县| 沁水县| 施甸县| 宁远县| 鄂伦春自治旗| 聊城市| 安图县| 广宁县| 大悟县| 涞源县| 伽师县| 曲靖市| 抚松县| 岳阳县| 汉沽区| 平乡县| 泰安市| 夹江县| 青川县| 安岳县| 九江县| 佳木斯市| 姚安县| 靖安县|