• 
    

    
    

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

      實(shí)現(xiàn)Solidworks自動(dòng)布管的專用P&ID軟件設(shè)計(jì)

      2017-09-15 06:09:15章泳健胡朝斌沈建強(qiáng)
      制造業(yè)自動(dòng)化 2017年8期
      關(guān)鍵詞:圖元對(duì)話框設(shè)置

      章泳健,姜 川,胡朝斌,沈建強(qiáng),張 坤

      (常熟理工學(xué)院,常熟 215500)

      實(shí)現(xiàn)Solidworks自動(dòng)布管的專用P&ID軟件設(shè)計(jì)

      章泳健,姜 川,胡朝斌,沈建強(qiáng),張 坤

      (常熟理工學(xué)院,常熟 215500)

      隨著Solidworks布管功能在三維管道設(shè)計(jì)中的廣泛應(yīng)用,針對(duì)其自動(dòng)布管功能缺乏布管信息數(shù)據(jù)源XML文件的問題,利用VB和AutoLisp開發(fā)了運(yùn)行于AutoCAD圖形環(huán)境的專用P&ID軟件。用戶可以在此軟件下快速繪制P&ID圖,并將布管信息輸出為Solidworks自動(dòng)布管所需的XML文件,實(shí)現(xiàn)了二維P&ID圖與Solidworks自動(dòng)布管功能的集成應(yīng)用。

      Solidworks;自動(dòng)布管;P&ID;XML;AutoCAD;二次開發(fā)

      0 引言

      對(duì)于基于生產(chǎn)過程管理的石化行業(yè)而言,高效的管道設(shè)計(jì)及相關(guān)設(shè)備的信息表達(dá)與管理是十分重要的。基于二維布管技術(shù)來設(shè)計(jì)錯(cuò)綜復(fù)雜的空間管道并進(jìn)行正確表達(dá)是一項(xiàng)很困難的工作,其生成的二維圖紙也很難被理解。隨著三維數(shù)字化技術(shù)的發(fā)展,基于三維信息建模與管理技術(shù)的三維布管技術(shù)由于其可視化的效果與高效的信息表達(dá)能力,正逐步取代傳統(tǒng)的二維布管技術(shù)[1,2]。目前石化行業(yè)中的先進(jìn)企業(yè)正逐步使用三維管道設(shè)計(jì)軟件進(jìn)行企業(yè)信息建模與三維布管設(shè)計(jì)。三維管道設(shè)計(jì)軟件可分為兩類,其中專業(yè)三維管道設(shè)計(jì)軟件專業(yè)性強(qiáng)、功能齊全,但上手比較困難,一般需要專業(yè)培訓(xùn),且價(jià)格非常昂貴,很難在中小化工企業(yè)得到推廣。而通用的三維設(shè)計(jì)軟件中很多也集成了管道設(shè)計(jì)功能,如在工程界被廣泛采用的Solidworks軟件就具有管道設(shè)計(jì)模塊,其設(shè)備建模能力要強(qiáng)于專業(yè)管道設(shè)計(jì)軟件。所以此類軟件在數(shù)字化建模的綜合能力及軟件的易用性和使用成本上具有獨(dú)特的優(yōu)勢(shì)[3,4]。

      用Solidworks的交互式布管功能需要在理解P&ID圖中的設(shè)備與布管信息后,交互式地根據(jù)P&ID圖逐段對(duì)管道進(jìn)行建模,當(dāng)布管信息很復(fù)雜時(shí)不僅效率低而且容易出錯(cuò)。而自動(dòng)布管功能則可以通過導(dǎo)入布管信息后在布管向?qū)У囊龑?dǎo)下進(jìn)行布管,不僅可以大大提高布管效率,也能保證布管的完整性與正確性。該功能通過在布管前導(dǎo)入包含P&ID信息的XML文件來實(shí)現(xiàn)的,但Solidworks并沒有提供由P&ID圖生成XML文件的工具,且XML文件的復(fù)雜性決定了不太可能手工去定義此文件,因此Solidworks的自動(dòng)布管功能是不完整的,單獨(dú)使用不具備實(shí)用價(jià)值[5]。針對(duì)此問題,本文提出利用VB和AutoLisp開發(fā)一款基于AutoCAD的專用P&ID軟件的構(gòu)想。使用該軟件,用戶不僅可以通過一些專用命令來快速生成P&ID圖,而且能輸出Solidworks中自動(dòng)布管所需要的XML文件。

      1 軟件設(shè)計(jì)的總體思路

      本軟件的核心功能是快速定義P&ID圖,并將P&ID圖中的相關(guān)信息經(jīng)由XML文件輸出。P&ID圖中不僅要提供設(shè)備、管件和管線等圖元的幾何信息,而且需要包含圖元的屬性信息,以表達(dá)圖元所對(duì)應(yīng)的三維模型以及它們之間的連接關(guān)系。軟件設(shè)計(jì)了繪圖、屬性設(shè)置及XML輸出等功能模塊。其中,繪圖模塊能快速調(diào)用預(yù)定義的P&ID圖元庫來生成圖形,屬性設(shè)置模塊可通過對(duì)話框?qū)γ總€(gè)P&ID圖元賦予屬性信息,而XML輸出模塊可以從P&ID圖中提取各圖元及圖元的屬性信息,并按照規(guī)定的語法格式輸出所需的XML文件。為了便于人機(jī)交互,軟件還設(shè)計(jì)了菜單模塊,其總體結(jié)構(gòu)如圖1所示。

      圖1 軟件總體結(jié)構(gòu)框圖

      2 各功能模塊的實(shí)現(xiàn)

      2.1 P&ID繪圖模塊的設(shè)計(jì)

      2.1.1 設(shè)備和管件的繪制

      化工設(shè)備和管件的符號(hào)在化工部HG20519.*—92標(biāo)準(zhǔn)中均有標(biāo)準(zhǔn)的圖例[6]。本模塊將這些符號(hào)制作成塊并保存到圖元庫中,用戶在繪制P&ID圖時(shí)可以直接通過專用的命令來調(diào)用并插入這些塊。為方便用戶選擇所需的圖塊,本模塊用VB編寫了設(shè)備和管件選擇對(duì)話框。其中設(shè)備對(duì)話框如圖2所示,提供了設(shè)備選擇與圖形預(yù)覽功能,并能對(duì)插入的圖塊進(jìn)行比例縮放及旋轉(zhuǎn)角度的設(shè)置。對(duì)管件選擇的對(duì)話框采用類似的界面進(jìn)行操作。同時(shí),本模塊中的圖庫具有一定的可擴(kuò)充性,用戶可以根據(jù)企業(yè)的實(shí)際需要增加一些特殊的設(shè)備與管件圖元,只需將圖塊文件及對(duì)應(yīng)的位圖文件保存到本軟件的指定路徑即可。

      2.1.2 管線的繪制

      P&ID圖中的管線可用標(biāo)準(zhǔn)的多段線命令繪制,但由于要求必須按水平或豎直方向布置,所以本模塊用AutoLisp程序自定義了繪制管線命令[7]。在該程序中,先將繪圖環(huán)境設(shè)置為正交模式,并設(shè)置合適的對(duì)象捕捉,然后再調(diào)用多段線繪制管線,程序結(jié)束后再恢復(fù)原來的繪圖環(huán)境設(shè)置。

      圖2 設(shè)備選擇對(duì)話框

      圖3 P&ID圖元屬性設(shè)置算法流程圖

      2.2 P&ID圖元屬性設(shè)置模塊的設(shè)計(jì)

      對(duì)P&ID圖元添加合理的屬性信息是生成正確的XML文件的關(guān)鍵。本模塊的目的是為了使每個(gè)P&ID圖元都具有屬性信息,以反映各個(gè)圖元所對(duì)應(yīng)的三維模型以及它們之間的連接關(guān)系。AutoCAD中只有圖塊可通過定義塊屬性來實(shí)現(xiàn)圖元與屬性的關(guān)聯(lián),P&ID圖中的設(shè)備與管件均是用圖塊定義的,通過定義塊屬性很容易添加屬性信息。但管線是通過多段線繪制,無法直接對(duì)其定義屬性。這里采用對(duì)管線進(jìn)行屬性設(shè)置前先將其轉(zhuǎn)換為圖塊的方法來解決。當(dāng)然,也可以統(tǒng)一將圖元的屬性信息通過鏈接外部數(shù)據(jù)庫的方法來保存,但從程序?qū)崿F(xiàn)的難度和效率來看,通過塊屬性來實(shí)現(xiàn)更高效。

      XML(可擴(kuò)展標(biāo)記語言)是一種源于HTML語言的用于各種信息交換的通用工具[8]。P&ID圖元的屬性必須嚴(yán)格按照Solidworks對(duì)XML文件語法規(guī)定確定,這樣最終輸出的XML文件才能被Solidworks識(shí)別。以設(shè)備屬性為例,X M L文件規(guī)定的設(shè)備屬性主要有<ID>、<Tag>、<Description>、<PartNumber>、<Config>,即ID號(hào)、標(biāo)簽、描述、零件號(hào)、配置,因此為了保證最終輸出的XML文件正確性,我們?cè)O(shè)置的屬性必須來源于這幾個(gè)屬性。其中,標(biāo)簽相當(dāng)于設(shè)備的位號(hào),是不同設(shè)備之間相互區(qū)別的標(biāo)志;零件號(hào)即設(shè)備模型的存放路徑,它是P&ID圖元與三維實(shí)體模型建立聯(lián)系的橋梁。配置主要用于區(qū)分同一設(shè)備模型的不同設(shè)置。這三項(xiàng)屬性是Solidworks中直接用于布管的關(guān)鍵信息,必須由用戶輸入。但I(xiàn)D號(hào)及描述這兩種屬性在布管應(yīng)用中并沒有直接用到,可以通過程序施以默認(rèn)值,以簡(jiǎn)化用戶的輸入。本模塊中實(shí)現(xiàn)P&ID圖元屬性設(shè)置算法的流程圖如圖3所示。程序執(zhí)行過程中設(shè)計(jì)的設(shè)備屬性設(shè)置對(duì)話框如圖4所示。各項(xiàng)屬性可在輸入框中直接填寫,其中零件號(hào)也可通過雙擊后通過文件選擇對(duì)話框選擇相應(yīng)文件來完成屬性的設(shè)置。

      圖4 設(shè)備屬性對(duì)話框

      圖5 遍歷查詢算法流程圖

      2.3 XML文件輸出模塊的設(shè)計(jì)

      XML文件輸出模塊就是要通過一定的算法從P&ID圖中提取出各圖元對(duì)應(yīng)的屬性信息,并按照solidworks規(guī)定的語法格式輸出XML格式文件。選擇該模塊功能后,程序會(huì)先進(jìn)行圖元屬性的完整性檢查。如果發(fā)現(xiàn)有圖元的屬性沒有設(shè)置,會(huì)跳出警告對(duì)話框,提示“有部分P&ID圖元屬性未設(shè)置,請(qǐng)?jiān)O(shè)置!”,并且將對(duì)應(yīng)的圖元高亮顯示,以提醒用戶。如果圖元屬性設(shè)置完了,就會(huì)跳出XML文件保存對(duì)話框,選擇保存路徑及輸入文件名稱后確認(rèn),程序就會(huì)按照如圖5所示的遍歷查詢算法遍歷整個(gè)P&ID圖元,獲取它們的屬性參數(shù),并按要求輸出XML文件。

      2.4 菜單欄的設(shè)計(jì)

      為提高上述各模塊的用戶友好性,就需要開發(fā)AutoCAD菜單欄,將對(duì)應(yīng)開發(fā)的命令通過菜單的形式進(jìn)行顯示。菜單欄的開發(fā)方法主要有:通過編寫菜單文件來重新定制菜單、通過CUI組件定制菜單、通過VB等高級(jí)語言對(duì)AutoCAD進(jìn)行二次開發(fā)來定制菜單[9]。

      通過VB對(duì)AutoCAD進(jìn)行二次開發(fā)來定制的菜單欄,是通過編程調(diào)用AutoCAD提供的有關(guān)菜單欄定制的API函數(shù)來實(shí)現(xiàn)的[10],編譯后可生成可直接執(zhí)行的VB應(yīng)用程序。運(yùn)行應(yīng)用程序后會(huì)自動(dòng)打開AutoCAD軟件并且會(huì)自動(dòng)加載軟件菜單欄。關(guān)閉AutoCAD后,軟件菜單欄也會(huì)隨之卸載。本名為“專用P&ID軟件”的菜單欄設(shè)計(jì)就采用此方法,運(yùn)行后自動(dòng)在AutoCAD中添加一菜單欄,其下有繪圖、屬性設(shè)置以及XML輸出三個(gè)菜單項(xiàng),而繪圖菜單項(xiàng)下又有三個(gè)子菜單,分別為設(shè)備、管件以及管線,如圖6所示。

      3 軟件的測(cè)試與應(yīng)用

      軟件按既定設(shè)想開發(fā)完成后,需要通過測(cè)試來發(fā)現(xiàn)程序設(shè)計(jì)中可能存在的問題,并提供軟件的可靠性。測(cè)試對(duì)象的設(shè)計(jì)對(duì)測(cè)試的效率和效果至關(guān)重要,本測(cè)試設(shè)計(jì)了設(shè)備包括容器、反應(yīng)釜和泵及包括閥門和三通等管件的典型工藝流程,其P&ID圖如圖7所示。

      測(cè)試過程如下:首先,完成與P&ID圖元對(duì)應(yīng)的容器、反應(yīng)釜和泵等設(shè)備及包括閥門和三通等管件的三維模型準(zhǔn)備,并放置在某文件目錄中。使用本軟件繪制P&ID圖,然后對(duì)每個(gè)P&ID圖元進(jìn)行正確的屬性設(shè)置,在完成屬性完整性檢查后輸出XML文件(部分內(nèi)容如圖8所示)。最后,在Solidworks軟件中建立一裝配文件,在完成上述設(shè)備的布局設(shè)計(jì)后,就能在導(dǎo)入的XML文件引導(dǎo)下一步步完成設(shè)備的自動(dòng)布管了,如圖9所示。

      圖6 菜單欄

      圖7 用于測(cè)試的典型工藝P&ID圖

      圖8 由P&ID圖導(dǎo)出的XML文件部分內(nèi)容

      圖9 Solidworks自動(dòng)布管過程

      通過以上軟件測(cè)試,最終驗(yàn)證并通過了軟件設(shè)計(jì)的各方面要求。在與某化工企業(yè)合作的罐區(qū)數(shù)字化建模與布管項(xiàng)目中,應(yīng)用本軟件有效地解決了罐區(qū)管路連接復(fù)雜、手動(dòng)布管費(fèi)時(shí)費(fèi)力的問題,順利并高效地完成了如圖10所示的罐區(qū)管道建模工作。

      圖10 某化工工段罐區(qū)管道模型

      4 結(jié)束語

      通過基于AutoCAD專用P&ID軟件的開發(fā),結(jié)合Solidworks原先并不完善的自動(dòng)布管功能,形成了從二維P&ID流程圖的繪制到三維設(shè)備建模、布局及自動(dòng)布管的石化企業(yè)數(shù)字化應(yīng)用的解決方案。使用本軟件,用戶無需購買昂貴的專業(yè)布管軟件,也不必學(xué)習(xí)專業(yè)軟件的復(fù)雜操作,就能在易學(xué)易用的Solidworks環(huán)境下進(jìn)行設(shè)備的自動(dòng)布管,非常適合中小型石化企業(yè)的應(yīng)用需求。

      [1] 劉家倉.三維管道設(shè)計(jì)系統(tǒng)的研究與開發(fā)[D].大連理工大學(xué),2006.

      [2] 楊茂,江森清.工廠設(shè)計(jì)軟件在管道設(shè)計(jì)中的開發(fā)應(yīng)用[J].天然氣工業(yè),1996,03:61-63+14-15.

      [3] 安銳明. SolidWorks在管道設(shè)計(jì)中的應(yīng)用[J]. CAD/CAM與制造業(yè)信息化,2007,01:52-54.

      [4] 孫堯.基于SolidWorks的化工廠三維設(shè)計(jì)系統(tǒng)開發(fā)[D].東北大學(xué),2012.

      [5] DS Solidworks公司.Solidworks管道與布線教程(2014版)[M].北京:機(jī)械工業(yè)出版社,2014.

      [6] 路平.化工工藝流程圖C A D開發(fā)研究[J].國(guó)外油田工程,2003,09:41-45.

      [7] 李學(xué)志,方戈亮,孫力紅.Visual LISP 程序設(shè)計(jì)(AutoCAD 2006)[M].北京:清華大學(xué)出版社,2006.

      [8] 李憲文.基于XML的三維CAD模型數(shù)據(jù)交換[D].青島大學(xué),2005.

      [9] 單玉霞,王美歐.基于AutoCAD的管道儀表流程圖符號(hào)庫的開發(fā)[J].石油化工自動(dòng)化,2010,01:54-56.

      Design of special P&ID software to realize solidworks automatic pipe layout

      ZHANG Yong-jian, JIANG Chuan, HU Chao-bin, SHEN Jian-qiang, ZHANG Kun

      TG75

      :A

      :1009-0134(2017)08-0133-04

      2017-04-17

      章泳健(1971 -),男,江蘇常熟人,副教授,工學(xué)碩士,主要從事數(shù)字化設(shè)計(jì)與仿真研究。

      猜你喜歡
      圖元對(duì)話框設(shè)置
      一種組態(tài)控件技術(shù)在電力監(jiān)控系統(tǒng)中的運(yùn)用
      中隊(duì)崗位該如何設(shè)置
      學(xué)術(shù)出版物插圖的編排要求(一):圖注
      聯(lián)鎖表自動(dòng)生成軟件的設(shè)計(jì)與實(shí)現(xiàn)
      正常恢復(fù)虛擬機(jī)
      Bootlace Worms’Secret etc.
      基于Qt繪圖系統(tǒng)的圖形應(yīng)用優(yōu)化研究與實(shí)現(xiàn)
      軟件(2016年12期)2016-02-13 05:58:14
      本刊欄目設(shè)置說明
      中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
      地鐵出入段線轉(zhuǎn)換軌設(shè)置
      灌阳县| 磐安县| 上高县| 唐海县| 衡东县| 上饶市| 琼中| 醴陵市| 富民县| 安乡县| 星子县| 侯马市| 绥棱县| 乌兰浩特市| 澄城县| 景泰县| 冷水江市| 潞西市| 屏南县| 丰城市| 安陆市| 江阴市| 石柱| 左云县| 亳州市| 静宁县| 册亨县| 海晏县| 南昌市| 卓尼县| 曲周县| 乾安县| 沧州市| 新巴尔虎左旗| 长春市| 榆中县| 泰州市| 济源市| 屏东县| 宁南县| 遂溪县|