国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Intergraph Smart? 3D二次開發(fā)實現(xiàn)管道模型智能移動的研究

2022-02-14 05:23:18華陸工程科技有限責任公司劉曉輝余萌
中國勘察設計 2022年1期
關鍵詞:管系部件對象

■ 華陸工程科技有限責任公司 劉曉輝 余萌

Smart 3D作為??怂箍礢martPlant?Enterprise系列產(chǎn)品的重要組成部分,能夠提供流程工廠設計所需的幾乎所有三維設計功能。Smart 3D以數(shù)據(jù)為核心技術,強大的規(guī)則和關系型架構、定制的自動化功能和多專業(yè)模型復用方法,使其能夠執(zhí)行更大、更復雜的項目,實現(xiàn)集成設計和過程管理。Smart 3D以SQL Server或Oracle為項目數(shù)據(jù)平臺,所有的模型數(shù)據(jù)都以對象的形式存放在項目數(shù)據(jù)庫中,在充分利用數(shù)據(jù)庫強大功能的同時,也保證了數(shù)據(jù)格式的通用性。

采用智能三維設計軟件Smart 3D進行模型設計,不但能夠提高工程設計效率,而且能夠保證設計質(zhì)量,加快工程建設速度。多專業(yè)在統(tǒng)一的平臺上進行協(xié)同設計,做到專業(yè)間數(shù)據(jù)集成,保證數(shù)據(jù)的一致性。Smart 3D軟件由此已成為石油、化工、造船行業(yè)主流的三維設計軟件。

1.用戶痛點描述

在管道三維設計過程中,設計人員經(jīng)常要根據(jù)設計條件的變更,對已建模的管線布置進行調(diào)整,有時需要對管系中局部對象進行移動。例如,將圖1所示的閥組的布置整體往東移動300mm,或者將圖2所示裝置內(nèi)管廊某根管道向南移動150mm。

圖1 閥組整體向東移動300mm

圖2 管廊某根主管及分支整體向南移動150mm

類似的修改或移動,在三維設計過程中出現(xiàn)的較為頻繁。凡是具有PDS應用經(jīng)驗的設計人員很容易就會聯(lián)想到,在PDS中有一個Move Pipe Run的功能,可以一鍵實現(xiàn)上述模型的修改需求。然而,想要在Smart 3D軟件中實現(xiàn)這一操作,卻是一件令人唏噓的難事。

Smart 3D軟件中所有管道對象之間都存在關聯(lián)關系,管系在調(diào)整過程中,不僅主管系自身要發(fā)生移動,根據(jù)其移動的方向,所連接的支管部分部件也要隨其發(fā)生移動。如果對象選擇不慎,局部的移動可能會導致相關管線的傾斜或錯位,正所謂牽一發(fā)而動全身。使用軟件提供的默認方式進行移動時,用戶不僅要選中主管系的相關部件,根據(jù)移動方向不同,分支管道的相關部件也需要一并選中,這樣才可能實現(xiàn)用戶希望達到的移動效果,而這些部件的選取過程只能通過手動選擇來完成。

Smart 3D雖然提供了便捷的對象框選功能,但化工裝置中往往空間受限,一個空間里存在多個管系的部件,這時如果使用框選功能就很容易框選到其他非必要的部件,或者沒框選到需要的部件,需要再次去逐個手工點擊選擇相關的部件,這一過程極其繁瑣,且容易出現(xiàn)遺漏。

鑒于此,我們考慮是否可以在Smart 3D中,通過二次開發(fā)實現(xiàn)類似PDS中Move Pipe Run的功能,即根據(jù)模型修改的規(guī)則,讓軟件智能選取到需要移動的所有管道部件,并按照設計人員設定的方向和距離實現(xiàn)模型移動。

2.Move Pipe Run功能實現(xiàn)

2.1 邏輯初步構思

以圖3為例,假設我們要對某段管系偏移一個向量 的距離,那么這個管系在向量 法平面α內(nèi)所有的特征部件Feature應該通過一定的關系被找到并選中。可以讓用戶在所要移動的方向上任意選中一個直管段,然后根據(jù)用戶輸入的移動方向,程序根據(jù)內(nèi)部設置的規(guī)則智能選擇整個管系中需要移動的特征部件,再根據(jù)用戶輸入的偏移距離,自動進行整體移動(圖4)。

圖3 平面整體移動

圖4 相關部件同時移動

2.2 難點分析

裝置內(nèi)管線走向變化多端且可能存在復雜的多分支管線,如何去構思一個嚴謹?shù)倪壿?,使程序可以自動且精確地選中所有需要移動的部件,是一個難題。如果直接對管系α平面內(nèi)所有的特征部件都移動,單靠每個部件的位置屬性去判斷其是否移動,肯定是有問題的,如管廊上含有π彎的管道就不適用這種情況(圖5)。

圖5 裝置外管廊

Smart 3D有強大的關系型數(shù)據(jù)庫結(jié)構做支撐,對于一定范圍內(nèi)的對象,我們都可以通過關系去一級一級地找到它們。經(jīng)過多次分析研究,我們決定從選中部件出發(fā),通過關系逐個遞推式查找管系中的每一個部件,并根據(jù)條件去判斷其是否需要被移動。

2.3 關于程序界面設計

為了最大程度地方便用戶快捷修改,我們對程序界面也做了簡化處理,用戶只需輸入一個偏移距離,然后再點擊相關的方向按鈕,即可完成操作。命令執(zhí)行過程中只執(zhí)行一次Commit操作,如果命令執(zhí)行完沒有達到用戶預期的效果,可以直接執(zhí)行Undo命令,撤銷本次操作。

2.4 程序具體邏輯圖

上述邏輯的核心在于遍歷所有特征部件的一個遞歸函數(shù),在實際項目中,主管系可能連接了多個分支管道,其數(shù)量和連接形式不定,要想遍歷完整個管系的每一個部件,僅靠一般的循環(huán)遍歷無法完成,遞歸函數(shù)可以在此處巧妙地解決這個問題。

通過圖6的邏輯,我們可以利用程序快速地查找到管系中需要移動的特征部件,并使用ClientServiceProvider.SelectSet.SelectedObjects.Add()命令選中這些對象。然后,對選中對象進行遍歷偏移,修改每個特征部件的位置屬性,即可在Smart 3D中實現(xiàn)Move Pipe Run的功能(圖7)。

圖6 程序邏輯圖

圖7 效果展示

2.5 程序開發(fā)過程中遇到的一些問題

2.5.1 關于Pipe Straight Feature的移動

在開發(fā)過程中,我們發(fā)現(xiàn),對于管系中的Pipe StraightFeature不能去直接改變其Location屬性。Pipe Straight Feature屬于非特征部件,只需移動其他的特征部件Feature,Pipe Straight Feature的位置會隨其一起移動。

2.5.2 關于管系中存在偏心大小頭的情況

假如管系中存在偏心大小頭且偏心方向垂直于要移動的面,由于偏心大小頭兩端的Position.Z(假設是向上或向下偏移)屬性不一致,會導致遞歸函數(shù)在查找到此處時中斷查找,但在此處是需要繼續(xù)向下查找的。對此,解決辦法:在遞歸函數(shù)中加入一個簡單的判斷,遍歷過程中如果Part的名字中包含“Eccentric”字符,則認為此處是一個偏心大小頭,繼續(xù)向下查找,并更新相關的參考坐標數(shù)值。

2.5.3 關于管系中存在End Feature的情況

在開發(fā)過程中,我們發(fā)現(xiàn),在移動過程中如果移動部件的某一端存在End Feature,需要將End Feature一并選中,如果不選擇管系End Feature,移動后End Feature端的位置不會移動,從而導致管段發(fā)生傾斜。我們可以通過寫一個簡單的Get End Feature()函數(shù)來解決這個問題,每次遍歷管系部件的過程中將其帶入Get End Feature()函數(shù)來判斷其是否連接了End Feature,如果連接,則將此End Feature一并添加到選中對象集合中。

3.總結(jié)

Move Pipe Run功能目前已在華陸公司多個項目中使用,受到了設計人員的一致好評,用戶原本需要兩到三分鐘完成的事情,現(xiàn)在只需要幾秒鐘就可以完成,有效提高了設計人員的工作效率和工作質(zhì)量,并提升了用戶的軟件使用體驗。

工欲善其事,必先利其器。Smart 3D軟件是一款優(yōu)秀的工業(yè)智能三維設計軟件,其架構非常嚴謹,并預留了大量可供二次開發(fā)的接口,且支持多語言的開發(fā)環(huán)境。工程公司在使用過程中如何利用好這個開放的平臺,根據(jù)自己公司需求去定制開發(fā)需要的功能,幫助設計人員提高設計效率,還需要更多專業(yè)工程師結(jié)合實際工作不斷進行深入的鉆研嘗試。

猜你喜歡
管系部件對象
神秘來電
睿士(2023年2期)2023-03-02 02:01:09
高能管系中管段長度比與最大熱應力的關系
力學與實踐(2021年6期)2021-12-31 07:48:06
600 WM機組高壓加熱器至除氧器疏水管道振動治理
黑龍江電力(2021年5期)2021-12-29 07:47:06
多荷載對艦船水下管系位移影響分析
基于Siemens NX和Sinumerik的銑頭部件再制造
攻略對象的心思好難猜
意林(2018年3期)2018-03-02 15:17:24
部件拆分與對外漢字部件教學
基于熵的快速掃描法的FNEA初始對象的生成方法
水輪機過流部件改造與節(jié)能增效
區(qū)間對象族的可鎮(zhèn)定性分析
凤山市| 霍州市| 内乡县| 隆回县| 绥化市| 车致| 雷波县| 伊川县| 专栏| 夏津县| 弥渡县| 阿尔山市| 麻城市| 芷江| 松溪县| 会理县| 霍林郭勒市| 青神县| 石棉县| 罗江县| 习水县| 科尔| 麻江县| 巴塘县| 泰和县| 阳曲县| 时尚| 河北区| 镇巴县| 红原县| 朝阳市| 鲁甸县| 高安市| 红桥区| 金门县| 攀枝花市| 宁武县| 济宁市| 龙陵县| 长阳| 西宁市|