1.引言
法蘭連接結(jié)構(gòu)由法蘭盤、密封墊、螺栓等組成,是管路系統(tǒng)重要的連接形式,在閥門及管道設(shè)計(jì)時(shí),法蘭的標(biāo)準(zhǔn)、結(jié)構(gòu)選擇以及圖樣生成是一項(xiàng)重要且煩瑣的工作。法蘭依管路的不同,涉及的標(biāo)準(zhǔn)規(guī)范繁多,結(jié)構(gòu)多樣,如何設(shè)計(jì)一種快捷便利的,含有標(biāo)準(zhǔn)數(shù)據(jù)的通用法蘭生成程序,成為閥門等專業(yè)CAD系統(tǒng)設(shè)計(jì)中一項(xiàng)較有意義的工作。
2.法蘭連接概述
目前,我國管路系統(tǒng)常用的法蘭標(biāo)準(zhǔn)有:中國國家標(biāo)準(zhǔn):GB/T 9112~9124;GB/Tl 7241.1~17241.7;GB/T15530.1~15530.8;中國機(jī)械行業(yè)標(biāo)準(zhǔn):JB/T74~86;中國化工行業(yè)標(biāo)準(zhǔn):HG20592~20626;中國石化行業(yè)標(biāo)準(zhǔn):SH 3406;美國標(biāo)準(zhǔn):ASMEBl6.1;ASMEBl6.5;ASMEBl6.47;日本標(biāo)準(zhǔn):JIS B2220;國際標(biāo)準(zhǔn):ISO 7005-l;歐盟標(biāo)準(zhǔn):ENl092-l~1092-4;此外德國標(biāo)準(zhǔn)、英國標(biāo)準(zhǔn)、前蘇聯(lián)標(biāo)準(zhǔn)等也有一定程度的應(yīng)用。
由于歷史的原因,目前法蘭標(biāo)準(zhǔn)中的公稱壓力和公稱通徑形成了歐、美兩大體系,尺寸參數(shù)互有借鑒但存在較大的不同,很難通用。程序設(shè)計(jì)時(shí)必須分開羅列,分別組織,數(shù)據(jù)量十分龐大。
法蘭依類型可分為:整體法蘭、對焊法蘭、承插焊法蘭、螺紋法蘭、平焊法蘭等,根據(jù)密封面形式又可分為:平面法蘭、突面法蘭、凹凸面法蘭、榫槽面法蘭、環(huán)連接面法蘭等,在數(shù)據(jù)組織,圖形生成和界面設(shè)計(jì)時(shí)必須考慮到相互的組合多樣。實(shí)際上,法蘭的結(jié)構(gòu)形式并不僅限于這些,如閥門的中法蘭結(jié)構(gòu)就是一種非標(biāo)準(zhǔn)的法蘭連接,軟件設(shè)計(jì)中也應(yīng)考慮這類工程應(yīng)用。
作為一種標(biāo)準(zhǔn)管道附件的輔助設(shè)計(jì)工具,軟件系統(tǒng)還應(yīng)體現(xiàn):數(shù)據(jù)準(zhǔn)確,操作簡潔,表達(dá)合理、靈活,編輯方便,具有可擴(kuò)展性等特點(diǎn)。
3.?dāng)?shù)據(jù)組織
從CAD開發(fā)的角度來看,法蘭具有結(jié)構(gòu)簡單,圖形表達(dá)方便,標(biāo)準(zhǔn)化、系列化程度高的特點(diǎn)。但法蘭涉及的標(biāo)準(zhǔn)繁多,數(shù)據(jù)量龐大,數(shù)據(jù)的有效組織,快速檢索、調(diào)用,二次編輯,以及用戶自定義等,成為法蘭CAD系統(tǒng)開發(fā)的難點(diǎn)之一。最有效的辦法就是引入數(shù)據(jù)庫系統(tǒng)來管理法蘭數(shù)據(jù),由于CAD系統(tǒng)通常都不具備功能強(qiáng)大的數(shù)據(jù)庫功能,只有尋求外部數(shù)據(jù)庫鏈接,數(shù)據(jù)庫鏈接是CAD中連接圖形對象和數(shù)據(jù)的有效方式,它比AutoCAD環(huán)境中的其他的數(shù)據(jù)引用方式更加靈活。目前,可供選擇的關(guān)系數(shù)據(jù)庫產(chǎn)品有很多種,如:VF、SQL、Oracle、Ac-cess等,其中Access是Microsoft Ofrice的組件,接口豐富,適應(yīng)性強(qiáng),應(yīng)用更加廣泛。法蘭數(shù)據(jù)雖然繁多,但數(shù)據(jù)結(jié)構(gòu)并不復(fù)雜,使用Access作為數(shù)據(jù)管理工具完全能夠滿足系統(tǒng)要求。
4.程序結(jié)構(gòu)
4.1 程序流程
本系統(tǒng)集成于AutoCAD環(huán)境,主程序及圖形生成程序采用Visual Lisp完成,人機(jī)界面采用Delphi編寫,Access負(fù)責(zé)數(shù)據(jù)庫操作,流程如圖所示。

首先在AutoCAD環(huán)境下由菜單運(yùn)行Lisp主程序,系統(tǒng)自動調(diào)用由Delphi控制程序生成的人機(jī)界面,人機(jī)界面接受用戶的交互式操作,根據(jù)用戶選擇由數(shù)據(jù)庫訪問程序訪問Access數(shù)據(jù)庫,提取所需數(shù)據(jù),最后由繪圖參數(shù)接口程序?qū)⒗L圖所需參數(shù)傳遞給參數(shù)化圖形生成程序,生成圖形。
4.2 主要技術(shù)特征
程序設(shè)計(jì)了標(biāo)準(zhǔn)數(shù)據(jù)檢索和自定義參數(shù)管理系統(tǒng),標(biāo)準(zhǔn)數(shù)據(jù)庫結(jié)構(gòu)不可更改,自定義參數(shù)管理系統(tǒng)對用戶開放,具有無限量數(shù)據(jù)擴(kuò)充功能,適應(yīng)多種工程應(yīng)用。所有操作欄目具備記憶功能,建立“名詞術(shù)語庫”以方便操作和規(guī)范輸入。
程序中引用了“成組技術(shù)”,對法蘭亞元進(jìn)行編碼,以便于數(shù)據(jù)的歸類組織。
4.3 Delphi程序的調(diào)用
法蘭CAD的開發(fā)涉及大數(shù)據(jù)量操作和多級復(fù)雜界面的設(shè)計(jì),一般圖形開發(fā)工具難以完全滿足要求,我們嘗試了選擇Delphi7語言設(shè)計(jì)界面和數(shù)據(jù)庫操作程序。Delphi是:Boland公司推出的可視化編程環(huán)境,它提供了方便、快捷、高效的windows應(yīng)用程序開發(fā)手段,將面向?qū)ο蟮恼Z言功能和方便的可視化開發(fā)環(huán)境緊密結(jié)合在一起,并且具有強(qiáng)大的數(shù)據(jù)庫處理功能,Delphi程序的調(diào)用并不困難,只要Lisp主程序通過startapp函數(shù)來激活即可,如(startapp”delphi控制程序.exe”)。
但Lisp程序一旦啟動了外部應(yīng)用程序,就不能對它進(jìn)行控制,造成Delphi控制程序運(yùn)行中會出現(xiàn)拾取設(shè)備的點(diǎn)擊錯誤,因此,在Delphi控制程序中對目標(biāo)范圍要作強(qiáng)制限定,語句實(shí)例:
……
var pos:trect;
begin
post:=人機(jī)界面控件.BoundsRect;
mapwindowpoints(handle,O,pos,2);
clipcursor(@pos);
end;
……
4.4 參數(shù)傳遞
參數(shù)在系統(tǒng)中是由數(shù)據(jù)庫傳遞給Delphi,再由Delphi傳遞給Lisp。
數(shù)據(jù)庫與Delphi之間的參數(shù)傳遞是由Delphi單方面控制實(shí)現(xiàn)的,Delphi通過自身的ADO組件可以輕松解決這一問題。
Delphi與Lisp之間的參數(shù)傳遞必須通過中間媒介實(shí)現(xiàn),這個(gè)中間媒介就是數(shù)據(jù)文件。首先Delphi將經(jīng)過處理的編碼信息和由數(shù)據(jù)庫傳遞過來的法蘭尺寸參數(shù)保存到數(shù)據(jù)文件中,然后Lisp通過讀取數(shù)據(jù)文件中的編碼信息和法蘭尺寸參數(shù),破解編碼信息,調(diào)用繪圖子程序,依照法蘭尺寸參數(shù)生成圖形。
Delphi參數(shù)存儲語句段:
……
var myf:textfile;
if fileexists(數(shù)據(jù)文件)then
deletefile(數(shù)據(jù)文件);
assignfile(myf,數(shù)據(jù)文件);
rewrite(myf);
writeln(myf,edit.text);
……
Lisp讀取參數(shù)語句段:
……
(defun getfile(filename/s s_Line SS_line)
(setq s(open filename”r”))
(while(setq s—line(read—line s))
(setq s_line(list s_line))
(setq ss—line(append ss—line s—line)
)
……
5.界面設(shè)計(jì)
人機(jī)操作界面采用多級彈出式對話框界面,在AutoCAD中,對話框設(shè)計(jì)一般采用DCl,語言,但由于DCL語言不是可視化編程語言,在形成復(fù)雜界面和使用數(shù)據(jù)庫關(guān)聯(lián)組件的時(shí)候顯得力不從心。而Delphi豐富的可視化編程工具和強(qiáng)大的數(shù)據(jù)庫關(guān)聯(lián)組件,使這部分工作變得輕松和有效。
操作界面主要分為法蘭結(jié)構(gòu)生成界面和法蘭參數(shù)維護(hù)界面。
在法蘭結(jié)構(gòu)生成界面中,用戶確定“材料大類”、“標(biāo)準(zhǔn)類型”、“法蘭類型”、“密封面”、“壓力等級”,系統(tǒng)將自動顯示法蘭亞元圖,并與數(shù)據(jù)庫實(shí)時(shí)通訊,在參數(shù)列表中實(shí)時(shí)反映符合要求的法蘭結(jié)構(gòu)數(shù)據(jù),實(shí)現(xiàn)交互式對話操作,根據(jù)所編輯參數(shù),可以直接參數(shù)化生成所需法蘭結(jié)構(gòu)圖形。
法蘭參數(shù)維護(hù)界面,如圖2所示,主要用于參數(shù)維護(hù),特別是非標(biāo)結(jié)構(gòu)的自定義操作和未納入的標(biāo)準(zhǔn)參數(shù)擴(kuò)充,普通用戶借此可以建立自己的法蘭結(jié)構(gòu)數(shù)據(jù)庫,系統(tǒng)將自動將其接入法蘭結(jié)構(gòu)生成界面,在操作上具有完全相同的形式。但在數(shù)據(jù)納入前,要合理歸類,以方便設(shè)計(jì)時(shí)的數(shù)據(jù)檢索。
界面設(shè)計(jì)時(shí)要充分考慮系統(tǒng)的友好與容錯,要有一定的提示與警告設(shè)置,并注意界面美觀合理。
6.結(jié)束語
采用計(jì)算機(jī)輔助設(shè)計(jì)方法來解決繁雜的法蘭結(jié)構(gòu)設(shè)計(jì)問題是一次有益的嘗試,開發(fā)過程中要注意開發(fā)環(huán)境、開發(fā)工具的合理選擇,數(shù)據(jù)的組織,程序結(jié)構(gòu)和界面設(shè)計(jì)是其中的關(guān)鍵,集成的工作環(huán)境,穩(wěn)定的性能和開放的數(shù)據(jù)結(jié)構(gòu)可以大大提高系統(tǒng)在工程應(yīng)用中的實(shí)用性和適應(yīng)性。
天沃-不銹鋼截止閥,與您資料共享!