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

?

面向化工設(shè)備支座的CAXA系統(tǒng)的二次開發(fā)

2011-03-23 09:31:08蔡洪濤黃伏光何毅斌
關(guān)鍵詞:響應(yīng)函數(shù)二次開發(fā)繪圖

蔡洪濤,黃伏光,何毅斌

(1武漢工程大學(xué)機(jī)電工程學(xué)院,湖北 武漢 430073;2荊州市特種設(shè)備檢驗(yàn)檢測(cè)所,湖北 荊州 434400)

目前市場(chǎng)上流行的計(jì)算機(jī)輔助繪圖軟件大都是交互式的,具有功能強(qiáng)大、應(yīng)用面廣的優(yōu)點(diǎn)[1],但是也有針對(duì)性差,繪圖效率低的缺點(diǎn).利用基于約束的參數(shù)化設(shè)計(jì)繪圖技術(shù)對(duì)這類軟件進(jìn)行二次開發(fā),定制專業(yè)特點(diǎn)突出的個(gè)性軟件可以很好地解決這個(gè)問題.該技術(shù)是指編制圖形程序繪制基本結(jié)構(gòu)相似的零部件,當(dāng)給出圖形各個(gè)部分的控制參數(shù)時(shí)便能迅速生成零部件圖形的繪圖方法[2].國產(chǎn)軟件CAXA系統(tǒng)提供了基于VC++的二次開發(fā)平臺(tái).本文利用此平臺(tái)開發(fā)了JB/T4712-2007“容器支座”[3]中4種支座及裙式支座的參數(shù)化繪圖軟件vesselsupport.eba.將此軟件加載到CAXA系統(tǒng)中,能在CAXA的主菜單后生成“容器支座”主菜單,此菜單下有對(duì)應(yīng)于4種支座及裙式支座的子菜單,分別點(diǎn)擊,則得到各支座的幾個(gè)視圖.

1 二次開發(fā)環(huán)境

要安裝Microsoft Visual C++6.0和CAXA系統(tǒng).程序的編譯、連接及調(diào)試均在VC++6.0中進(jìn)行.CAXA的二次開發(fā)平臺(tái)EBADS(Electronic Board Application Develop System)提供了對(duì)應(yīng)于CAXA交互式繪圖命令的API函數(shù).這些函數(shù)包括:交互實(shí)現(xiàn)、系統(tǒng)操作、實(shí)體部分、數(shù)據(jù)管理、幾何運(yùn)算和圖形編輯等,基本可以實(shí)現(xiàn)所有的圖形操作[4].

完成安裝后將文件CAXA EBADS Wizard Eb-adw.awx拷貝到Microsoft Visual Studio Common MSDev98 Template目錄下.在VC++界面的主菜單 TOOLs的子菜單項(xiàng)Options中加入CAXA的頭文件和庫文件的目錄路徑,它們分別是CAXA EBADS INCLUDE和CAXA EBADS LIB.

2 構(gòu)建程序框架

在VC++6.0下利用“CAXA電子圖板應(yīng)用程序開發(fā)向?qū)А眲?chuàng)建一個(gè)新的工程,命名為“vesselsupport”.此工程生成的文件有“Source Files” 、“Header Files”和“Resource Files” .主要文件是 funcdef.h,vesselsupport.cpp和stddll.cpp.在資源編輯中添加菜單資源及子菜單資源.完成后的界面如圖1所示.

圖1 添加菜單資源

在vesselsupport.cpp文件中添加實(shí)現(xiàn)菜單點(diǎn)擊并得到響應(yīng)的代碼.代碼為:

其中,“ID ANZUO”等是各種支座子菜單的標(biāo)識(shí)符,“anzuo”等是消息響應(yīng)函數(shù)的名稱.消息響應(yīng)函數(shù)名稱應(yīng)與fundef.h文件中申明的函數(shù)名稱一致.本例的此文件全部?jī)?nèi)容如下:

3 數(shù)據(jù)處理

到目前為止,上述消息響應(yīng)函數(shù)是空的,單擊其菜單,無反應(yīng).為此應(yīng)該編寫代碼,完成對(duì)應(yīng)支座視圖的繪制.EBADS提供的API函數(shù)相當(dāng)于交互式的繪圖命令,實(shí)體的特征點(diǎn)坐標(biāo)用變量表示,作為函數(shù)的參數(shù).程序中圖形繪制的代碼的編制與實(shí)際繪圖的過程相同.那么剩下的問題就是數(shù)據(jù)處理了,本文以耳式支座為例加以說明.

“容器支座”中給出了A型、B型和C型3種結(jié)構(gòu)的耳式支座,根據(jù)其適應(yīng)的筒體直徑的不同,每種支座又有8種結(jié)構(gòu)尺寸,每一種結(jié)構(gòu)尺寸有16個(gè)尺寸,形成一個(gè)二維表格.二維表格習(xí)慣上用二維數(shù)組表示.先將表格編寫為一個(gè)數(shù)據(jù)文件,然后將數(shù)據(jù)讀入二維數(shù)組.三種支座的數(shù)據(jù)表格用三個(gè)數(shù)據(jù)文件.不過,因?yàn)槎S數(shù)組的數(shù)據(jù)的二維下標(biāo)沒有意義,編程時(shí)容易出錯(cuò),本文再將數(shù)據(jù)從數(shù)組讀入一個(gè)結(jié)構(gòu)體中,以結(jié)構(gòu)體成員變量作為參數(shù)參與圖形實(shí)體特征點(diǎn)坐標(biāo)的計(jì)算.結(jié)構(gòu)體定義為:

3種支座結(jié)構(gòu)基本相同,只是局部結(jié)構(gòu)有所變化,因此3種支座共用一種繪圖的代碼,得到基本的結(jié)構(gòu)視圖后,再作修改.

4 程序調(diào)試及運(yùn)行

根據(jù)上述框圖編制的程序代碼即是消息響應(yīng)函數(shù)erzuo(int&step,int&flag)的主要內(nèi)容.將此代碼保存為一個(gè)單獨(dú)的.cpp文件,加載到工程vesselsupport中,編譯、連接,無錯(cuò)誤后,生成 vesselsupport.eba文件.將此文件拷貝到CAXA Ebads 目錄下,運(yùn)行CAXA系統(tǒng),單擊主菜單文件下的“應(yīng)用程序管理器”,加載此文件,則得到如圖2的界面.可見在CAXA系統(tǒng)的主菜單后面生成了“容器支座”主菜單.此時(shí)“耳式支座”就相當(dāng)于一個(gè)繪圓、繪直線的命令了.試?yán)L制支座,如果3種支座都能正確繪制,則證明程序正確;否則修改繪圖部分代碼,再編譯連接生成(.eba)文件,再運(yùn)行,直到結(jié)果正確.下圖是容器直徑為3000 mm,厚度為20 mm,3種類型的6號(hào)支座的繪制結(jié)果.

5 結(jié)束語

CAXA的二次開發(fā)平臺(tái)EBADS提供了應(yīng)用程序模板,用戶只需要在此框架內(nèi)添加功能實(shí)現(xiàn)代碼就可完成相應(yīng)的程序編制.采用面向圖形對(duì)象實(shí)體的方法編程,與實(shí)際的繪圖過程類似.其API函數(shù)好記易學(xué).利用本文方法編制的化工設(shè)備支座的程序能實(shí)現(xiàn)各種支座的參數(shù)化繪圖,有快速準(zhǔn)確的特點(diǎn),具有較強(qiáng)的實(shí)用價(jià)值.

[1]鄭晨升.實(shí)用CAXA繪圖及二次開發(fā)技術(shù)[M].北京:化學(xué)工業(yè)出版社,2005

[2]孫家廣.計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2000

[3]JB/T4712-2007《容器支座》[EB/OL〗 .(2011-03-20)http://www.5ibzq.com.

[4]龍宋軍,張文斌,魏中平.CAXA系統(tǒng)設(shè)計(jì)與開發(fā)[M].北京:國防工業(yè)出版社,2004.

猜你喜歡
響應(yīng)函數(shù)二次開發(fā)繪圖
一類具有Beddington-DeAngelis響應(yīng)函數(shù)的階段結(jié)構(gòu)捕食模型的穩(wěn)定性
來自河流的你
中國三峽(2022年7期)2022-12-02 05:28:02
“禾下乘涼圖”繪圖人
淺談基于Revit平臺(tái)的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
相機(jī)響應(yīng)函數(shù)定標(biāo)的正則化方法
基于HTML5 Canvas繪圖技術(shù)應(yīng)用
西門子Easy Screen對(duì)倒棱機(jī)床界面二次開發(fā)
克服動(dòng)態(tài)問題影響的相機(jī)響應(yīng)函數(shù)標(biāo)定
秦嶺太白山地區(qū)樹輪寬度對(duì)氣候變化的響應(yīng)
宿迁市| 平昌县| 喀喇沁旗| 井冈山市| 垣曲县| 枝江市| 尼勒克县| 海城市| 临颍县| 昌平区| 东阳市| 宜丰县| 乐业县| 长垣县| 吉安市| 萍乡市| 嘉定区| 龙南县| 九江县| 禄劝| 毕节市| 黑龙江省| 黔南| 马边| 雷山县| 营口市| 民丰县| 临澧县| 历史| 大庆市| 昭通市| 尼勒克县| 南乐县| 灌阳县| 延寿县| 安庆市| 玉溪市| 凯里市| 县级市| 新田县| 旌德县|