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

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