下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第24卷第5期邢臺職業(yè)技術學院學報2007 年 10 月Journal of Xingtai Polytechnic CollegeOct . 2007Vol.24 No.5CAD軟件中VBA與VLISP交叉編程的實現(xiàn)技術甘輝(江蘇信息職業(yè)技術學院 機電工程系,江蘇 無錫214061)摘要:本文介紹了在AutoCAD平臺上用VBA與VLISP兩種語言進行交叉編程的技術,解決了程序運行過程中二者之間的數(shù)據(jù)傳遞的問題,并以一個實例來說明其實現(xiàn)的原理。關鍵詞:CAD數(shù)據(jù)傳遞; 參數(shù)化繪圖中圖分類號:TP332文獻標識碼:A文章編號:1008 6129(2007)05 0078 03在產(chǎn)品設計制造過程
2、中,往往需要針對具體對象在選定的CAD軟件平臺上進行二次開發(fā)。而在機械產(chǎn)品CAD軟件的開發(fā)過程中,從底層設計開始開發(fā)并不是理想的選擇。比較實際的方法是盡量利用性能 優(yōu)良的商品化軟件進行本地化、用戶化開發(fā)。常用的軟件有AutoCAD Pro/Engineer、UG SolidWorks等交互式圖形軟件,其具有很強的人機交互生成及編輯處理圖形的功能。這些軟件均可以作為 CAD系統(tǒng)的基本平臺,利用其二次開發(fā)功能,研制符合國家標準、企業(yè)實際情況的專業(yè)化軟件,以形成設計計算、 幾何造型、數(shù)據(jù)管理、校核分析等一系列工作有機集成的CAD軟件系統(tǒng)。其中,應用極為廣泛的AutoCAD軟件,不但具有強大的圖形功能
3、,同時還提供了多種二次開發(fā)工具,例如Visual LISP、ObjectARX及VBA等開發(fā)環(huán)境。LISP語言可直接調用 AutoCAD的全部命令,具有強大的圖形處理功能。VBA作為功能強大 的可視化編程工具,充分利用了面向對象的開發(fā)技術及AutoCAD的資源,擴展了 AutoCAD集成用戶化工具的能力,并在制作界面方面有著不可忽視的優(yōu)勢。而ObjectARX開發(fā)工具允許程序運行更快,但實現(xiàn)較困難,對開發(fā)人員的要求也更高。針對這些特點,我們充分利用VLISP易于編程而 VBA便于制作界面的優(yōu)勢,將二者結合進行交叉編程,實現(xiàn)零件的參數(shù)化設計及繪圖。一、VLISP與VBA交叉編程技術簡介在工程圖中
4、,許多對象如果通過逐條調用命令來、設計及繪圖,效率將十分低下。采用參數(shù)化編程 可以大大提高設計效率。本文所介紹的參數(shù)化設計方法是通過程序設計,將設計對象的形狀和結構尺寸 的條件,設計為一個或多個參數(shù),通過給參數(shù)賦予不同的值,即可由同一軟件生成形狀相似、尺寸不同 的圖形。根據(jù)有關零件的尺寸等信息,建立工程數(shù)據(jù)庫。Visual LISP是AutoDesk公司提供給用戶的可視化的功能強大的集成開發(fā)環(huán)境。利用內嵌在 AutoCAD內部的LISP編程語言,可直接調用AutoCAD的全部命令。它既具有一般高級語言的基本結構和功能,又具有一般高級語言所沒有的強大的圖形處理功能。因而在計算機輔助設計及自動繪圖
5、中廣泛應用。但其 用戶界面編制較麻煩,使用也不便。而另一應用程序集成開發(fā)環(huán)境一一VBA則提供了高質量的用戶化編程 能力,能夠使 AutoCAD程序與其他 VBA應用程序進行共享,通過 ActiveX Automation接口與AutoCAD進 行通訊,實現(xiàn) VBA與AutoCAD的交互,就將 VBA的面向對象的程序設計技術引入到AutoCAD的程序設計開發(fā)中,豐富了 AutoCAD的開發(fā)手段。VLISP與VBA交叉編程技術的核心即是利用VLISP建立工程數(shù)據(jù)庫、進行圖形處理;利用 VBA進行用戶界面制作,實現(xiàn)人機交互中獲得設計參數(shù)。這種技術應用的關鍵在于 如何成功地在VBA程序及VLISP程序
6、中進行數(shù)據(jù)與信息傳遞。本文以一個典型零件為例來說明此種交叉 編程技術的實現(xiàn)過程。二、利用Visual LISP 建立零件的工程數(shù)據(jù)庫零件工程數(shù)據(jù)庫的建立通過Visual LISP 編程實現(xiàn)。圖1所示為塑料注射模典型零件帶頭導柱的示意圖,其尺寸及偏差見表 1。收稿日期:2007 0619作者簡介:甘輝(1972),女,湖北武漢人,江蘇信息職業(yè)技術學院,講師。78 1 *4-2010 Chirui Academic Journal Ekctronic PuKlijihing House. All rights reserved, http:/wavi. Jidt邢臺職業(yè)技術學院學報2007年 第5
7、期圖1帶頭導柱示意圖表1帶頭導柱尺寸系列及偏差表單位:mmd(f7)d1(k6)DSL1L基本尺寸極限偏差基本尺 寸極限偏差50-0.025-0.050500.0180.00256856-224112-45063-0.030-0.060630.0210.002701071-315140-67071718080-0.036-0.071800.0250.00390112-355224-750L156,71,90,112,125,140,160,180,200,224,280,315,355L112,125,140,160,180,200,240,280,315,355,400,450,500,53
8、0,560,600,630,670,710,750從表中可以看出,導柱的直徑d決定了其它尺寸,因此它應作為設計主參數(shù)或主變量,而長度L1、L的取值范圍受d限制,由用戶確定。利用LISP函數(shù)建立單變量數(shù)據(jù)庫(代碼略)。三、利用VBA制作面向對象的用戶界面VBA提供了許多控件工具,以便用戶方便地設計界面。在VBA編程環(huán)境中,通過拖曳的方式從控件箱 中選擇控件,調整其位置和大小(如圖2所示)。建立VBA的宏程序,命名為“draw”,供程序運行時調用。分別為各控件及命令添加代碼。最后將主參數(shù)d及尺寸L1、L系列值添加到對應控件的下拉列表中。調試程序。四、兩種開發(fā)手段間的數(shù)據(jù)傳遞在設計模式中的 VBA用
9、戶界面與Visual LISP 程序之間沒有數(shù)據(jù)交換。當運行程序時,出現(xiàn)顯示在 AutoCAD環(huán)境中的用戶界面,用戶與界面之間交互信息,該信息需要通過VBA與LISP程序之間的通訊來實現(xiàn)數(shù)據(jù)傳遞,然后在LISP程序中進行處理、實現(xiàn)繪圖。這是交叉編程實現(xiàn)參數(shù)化設計的關鍵,可以通過以下方法來實現(xiàn)。在VLISP程序使用VBALOA指令,將以下代碼添加到LISP主程序中,當運行主程序時,將會自動載入VBA工程,調出 VBA的用戶界面:(defu n huitu1();主程序名(command _vbaload e: WautocadW參數(shù)化繪圖 綜合 1.dvb);載入 VBA工程(comma nd
10、_vbaru n draw);運行VBA 工程而在VBA工程中添加以下代碼ThisDrawi ng.Se ndComma nd (huit u & ” ” & ” ” & ComboBox3.Text & ” ” & ComboBox1.Text & ComboBox2.Text & & Label4.Caption & ) & 使用SendCommanc命令可以將操作命令傳送到AutoCAD的命令提示行,該方法需要一個參數(shù),即要傳送的命令字符串,該字符串里必須包含有命令所需要的參數(shù),并且按照命令的執(zhí)行順序依次排列。這 些參數(shù)對應所選擇的直徑d、L1、L等,一旦在對話框中選定其值,運行中就將其
11、傳遞到LISP主程序中79 1*4-2010 China Academic Journal Electronic Publishing House. Al rigilts reserved.邢臺職業(yè)技術學院學報2007年 第5期VBA 和 VLISP進行進一步檢索并用于繪圖。這樣,就保證了執(zhí)行程序過程中二者的數(shù)據(jù)傳遞。在我們用 進行交叉編程的過程中,這是主要的技術關鍵。五、繪圖過程的實現(xiàn)示例繪制一根直徑為 63叫 長度為 200 c血的帶頭導柱。1)在 AutoCAD環(huán)境下的命令行輸入主程序名 (huitul),進行初始環(huán)境設置,并出現(xiàn)用戶界面;2)在對話框的下拉列表中選擇所需尺寸,點擊“零件
12、圖” 按鈕,則回到 AUTOCAD繪圖環(huán)境調用繪圖程序進行檢索及繪圖,并根據(jù)提示給出所需條件,得到最后的零件工作圖(圖3); 3)將圖形保存。圖2用戶界面由VBA建立友好的用戶界面,用圖 3繪圖結果VisualLISP建立數(shù)據(jù)庫及進行繪圖程序的編制,實現(xiàn)在繪圖過程中 1 *4-2010 China Academic Journal Electronic Publijihing House. Al rights reserved, http:WUwAnki.iidt邢臺職業(yè)技術學院學報2007年 第5期VLISP的簡單便利的編程自動檢索數(shù)據(jù)實現(xiàn)零件的參數(shù)化設計、繪圖,簡單易行,調試方便。其兼顧了
13、 繪圖功能及 VBA在制作界面上的方便可行之優(yōu)點,只要解決好了數(shù)據(jù)傳遞的問題,這種交叉編程手段即是工程技術人員可優(yōu)先選擇的開發(fā)手段。參考文獻:1 李長勛.AutoCAD Visual LISP 程序開發(fā)技術M.北京:國防工業(yè)出版社,2004.2 李長勛.AutoCAD VBA程序開發(fā)技術M.北京:國防工業(yè)出版社,2004.Tech niq ues to Realize Programmi ng by Means ofVBA and VLISP in CAD SoftwareGAN Hui(Jia ngsu In formati on Vocati onal Tech nical College, Wuxi Jia ngsu 214061)Abstract : In the paper the tech no logy to in tercross program by the use of VBA and Visual LISP is prese nted. At the same time , the article solves the problem that how to transfer data between them during the cou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款合同服務協(xié)議書(2篇)
- 吉林長春外國語學校2025屆高三上學期期中考試化學試卷試題及答案解析
- 豐田汽車租賃合同
- 債權融資服務合同
- 停車場地出租合同
- 八年級語文上冊第四單元寫作語言要連貫教案新人教版1
- 六年級數(shù)學上冊5圓綜合與實踐確定起跑線教案新人教版
- 2024年金融科技公司應收賬款質押業(yè)務合作協(xié)議3篇
- 2025年硫代硫酸鹽項目發(fā)展計劃
- 第2課 第二次鴉片戰(zhàn)爭(解析版)
- 2024年版移動通信基站專用房屋及土地租賃合同
- 部編版五年級語文上冊第六單元教案(共6課時)
- 鉆井與完井工程-第一章-鉆井與完井工程概述
- (新版)工業(yè)機器人系統(tǒng)操作員(三級)職業(yè)鑒定理論考試題庫(含答案)
- 食材配送服務方案(技術方案)
- 課件:《中華民族共同體概論》第一講 中華民族共同體基礎理論
- 2024-2025學年安徽省合肥市蜀山區(qū)數(shù)學四年級第一學期期末質量檢測試題含解析
- 離婚協(xié)議書模板可打印(2024版)
- 2024國家開放大學電大??啤东F醫(yī)基礎》期末試題及答案試卷號2776
- 廠區(qū)保潔服務投標方案【2024版】技術方案
- 養(yǎng)老機構績效考核及獎勵制度
評論
0/150
提交評論