(1)編寫各種用戶自定義函數(shù)并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。
(2)建立符合自己要求的菜單文件,一般可在AutoCAD原菜單文件內(nèi)添加自己的內(nèi)容,對(duì)于 AutoCAD200x版本還可增加部分菜單文件,然后經(jīng)交互方式加入到系統(tǒng)中去。
(3)在系統(tǒng)的AutoCAD.LSP或類似文件中加入某些內(nèi)容以便進(jìn)行各種初始化操作,如在啟動(dòng)時(shí)立即裝入一些文件等。
(4)通過(guò)系統(tǒng)對(duì)話框設(shè)置某些路徑。這些操作在程序開發(fā)成功后向其它AutoCAD系統(tǒng)上安裝應(yīng)用,特別是需要大批安裝時(shí),需要進(jìn)行很多文件檢索、內(nèi)容增刪、子目錄創(chuàng)建、文件拷貝、系統(tǒng)設(shè)置等繁瑣工作,如能令上述工作全部自動(dòng)進(jìn)行,使整個(gè)二次開發(fā)程序在無(wú)人干預(yù)的情況下嵌入系統(tǒng),將大大提高工作效率
(5)面向?qū)ο?,讓用戶能夠根?jù)自己的需要編寫相關(guān)程序,進(jìn)行二次開發(fā)。2100433B
當(dāng)前AutoCAD的二次開發(fā)工具主要有:VisualLisp、VBA、ObjectARX和.NET API等。其中,VisualLisp與VBA較為簡(jiǎn)單,特別是VBA,使用方便且開發(fā)速度較快,但其功能相比ObjectARX有所不足,尤其是對(duì)面向?qū)ο蟮墓δ苤С植缓?。而ObjectARX基于VC平臺(tái),在C 的支持下,其功能非常強(qiáng)大,可以很好地運(yùn)用各種面向?qū)ο蠹夹g(shù),但其缺點(diǎn)是開發(fā)速度比較慢,同時(shí)對(duì)開發(fā)人員的能力要求較高。
.NET是微軟新推出的開發(fā)平臺(tái),具有眾多優(yōu)點(diǎn)。
基于.NET平臺(tái)對(duì)AutoCAD進(jìn)行二次開發(fā),可充分利用.NET 的各種優(yōu)勢(shì),在保證功能強(qiáng)大的前提下大大提高開發(fā)速度。
1 AutoLISP
AutoLISP的全名是LIST Processing Language,它出現(xiàn)于1985年推出的AutoCAD R2.18中,是一種嵌入在AutoCAD內(nèi)部的編程語(yǔ)言,是LISP原版的一個(gè)子集,它一直是低版本AutoCAD的首選編程語(yǔ)言。它是一種表處理語(yǔ)言,是被解釋執(zhí)行的,任何一個(gè)語(yǔ)句鍵入后就能馬上執(zhí)行,它對(duì)于交互式的程序開發(fā)非常方便。其缺點(diǎn)是繼承了LISP語(yǔ)言的編程規(guī)則而導(dǎo)致繁多的括號(hào)。
2 ADS
ADS的全名是AutoCAD Development System,它是AutoCAD的C語(yǔ)言開發(fā)系統(tǒng),ADS本質(zhì)上是一組可以用C語(yǔ)言編寫AutoCAD應(yīng)用程序的頭文件和目標(biāo)庫(kù),它直接利用用戶熟悉的各種流行的C語(yǔ)言編譯器,將應(yīng)用程序編譯成可執(zhí)行的文件在AutoCAD環(huán)境下運(yùn)行,這種可以在AutoCAD環(huán)境中直接運(yùn)行的可執(zhí)行文件叫做ADS應(yīng)用程序。ADS由于其速度快,又采用結(jié)構(gòu)化的編程體系,因而很適合于高強(qiáng)度的數(shù)據(jù)處理,如二次開發(fā)的機(jī)械設(shè)計(jì)CAD、工程分析CAD、建筑結(jié)構(gòu)CAD、土木工程CAD、化學(xué)工程CAD、電氣工程CAD等。
3 ObjectARX
ObjectARX是一種嶄新的開發(fā)AutoCAD應(yīng)用程序的工具,它以C 為編程語(yǔ)言,采用先進(jìn)的面向?qū)ο蟮木幊淘恚峁┛膳cAutoCAD直接交互的開發(fā)環(huán)境,能使用戶方便快捷地開發(fā)出高效簡(jiǎn)潔的Auto CAD應(yīng)用程序。ObjectARX并沒(méi)有包含在AutoCAD中,可在AutoDESK公司網(wǎng)站中去下載,其最新版本是ObjectARX for AutoCAD 2000,它能夠?qū)utoCAD的所有事務(wù)進(jìn)行完整的、先進(jìn)的、面向?qū)ο蟮脑O(shè)計(jì)與開發(fā),并且開發(fā)的應(yīng)用程序速度更快、集成度更高、穩(wěn)定性更強(qiáng)。ObjectARX從本質(zhì)上講,是一種特定的C 編程環(huán)境,她包括一組動(dòng)態(tài)鏈接庫(kù)(DLL),這些庫(kù)與AutoCAD在同一地址空間運(yùn)行并能直接利用AutoCAD核心數(shù)據(jù)結(jié)構(gòu)和代碼,庫(kù)中包含一組通用工具,使得二次開發(fā)者可以充分利用AutoCAD的開放結(jié)構(gòu),直接訪問(wèn)AutoCAD數(shù)據(jù)庫(kù)結(jié)構(gòu)、圖形系統(tǒng)以及CAD幾何造型核心,以便能在運(yùn)行期間實(shí)時(shí)擴(kuò)展AutoCAD的功能,創(chuàng)建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是兩組關(guān)鍵的API,即AcDb(Auto CAD數(shù)據(jù)庫(kù))和AcEd(Auto CAD編譯器),另外還有其它的一些重要庫(kù)組件,如AcRX(Auto CAD實(shí)時(shí)擴(kuò)展)、AcGi(Auto CAD圖形接口)、AcGe(Auto CAD幾何庫(kù))、ADSRX(Auto CAD開發(fā)系統(tǒng)實(shí)時(shí)擴(kuò)展)。ObjectARX 還可以按需要加載應(yīng)用程序;使用ObjectARX進(jìn)行應(yīng)用開發(fā)還可以在同一水平上與Windows系統(tǒng)集成,并與其它Windows應(yīng)用程序?qū)崿F(xiàn)交互操作。
4 VisualLISP
VisualLISP已經(jīng)被完整地集成到AutoCAD 2000中,她為開發(fā)者提供了嶄新的、增強(qiáng)的集成開發(fā)環(huán)境,一改過(guò)去在AutoCAD中內(nèi)嵌AtuoLISP運(yùn)行引擎的機(jī)制,這樣開發(fā)者可以直接使用AutoCAD中的對(duì)象和反應(yīng)器,進(jìn)行更底層的開發(fā)。其特點(diǎn)為自身是AutoCAD 2000中默認(rèn)的代碼編輯工具;用它開發(fā)AutoLISP程序的時(shí)間被大大地縮短,原始代碼能被保密,以防盜版和被更改;能幫助大家使用ActiveX對(duì)象及其事件;使用了流行的有色代碼編輯器和完善的調(diào)試工具,使大家很容易創(chuàng)建和分析LISP程序的運(yùn)行情況。在VisualLISP中新增了一些函數(shù):如基于AutoLISP的ActiveX/COM自動(dòng)化操作接口;用于執(zhí)行基于Auto CAD內(nèi)部事件的LISP程序的對(duì)象反應(yīng)器;新增了能夠?qū)Σ僮飨到y(tǒng)文件進(jìn)行操作的函數(shù)。
5 VBA
VBA 即Microsoft office中的Visual Basic for Applications,它被集成到AutoCAD 2000中。VBA為開發(fā)者提供了一種新的選擇,也為用戶訪問(wèn)AutoCAD 2000中豐富的技術(shù)框架打開一條新的通道。VBA和AutoCAD 2000中強(qiáng)大的ActiveX自動(dòng)化對(duì)象模型的結(jié)合,代表了一種新型的定制AutoCAD的模式構(gòu)架。通過(guò)VBA,我們可以操作AutoCAD,控制ActiveX和其它一些應(yīng)用程序,使之相互之間發(fā)生互易活動(dòng)。
《深入淺出AutoCAD .NET二次開發(fā)》教程(含光盤)中介紹了這幾種開發(fā)方式,并且介紹了常用開發(fā)方式的混合開發(fā)方法 。
機(jī)械設(shè)計(jì)中一般都采用AutoCAD設(shè)計(jì)軟件,在復(fù)雜 CAD問(wèn)題或特殊用途的設(shè)計(jì)中,依據(jù)原有軟件的功能往往難以解決問(wèn)題,在此情況下,只是會(huì)使用軟件的基本功能是不夠的
主要是有兩種方式 :一種是通過(guò)VBA,不過(guò)基本已經(jīng)過(guò)時(shí)了,另外一種就是達(dá)索公司提供的CAAT,專門針catia進(jìn)行二次開發(fā)的工具,不過(guò)比較貴,新版的破解版基本找不到
AutoCAD的二次開發(fā)主要涉及以下內(nèi)容:(1)編寫各種用戶自定義函數(shù)并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。(2)建立符合自己要求的菜單文件,一般可在AutoCAD原菜單...
就是 cad插件,輔助功能,例如工具,燕秀工具之類的
格式:pdf
大小:9KB
頁(yè)數(shù): 4頁(yè)
評(píng)分: 4.4
利用 VBA 二次開發(fā) CAD 筆記 一 開發(fā)環(huán)境和準(zhǔn)備工作 1. 開發(fā)環(huán)境: windowsXP 系統(tǒng)(其他系統(tǒng)未測(cè)試) 2.編程語(yǔ)言: VBA 語(yǔ)言 3.CAD 版本: 安裝 CAD2004 ,2006,2007 版本,可直接運(yùn)行。 安裝 2010 以上版本需要單獨(dú)安裝 VBA ,由于 2010 以上版本的 VBA ,官方已經(jīng)不再綁定安裝 VBA ,因此需要安裝獨(dú)立的 VBA 。 4. 打開一個(gè) CAD 文件,打開 菜單》工具》宏, Visual Basic 編輯器,添加對(duì)象,窗體等等, 保存工程文件,文件名 .dvb,其中 dvb 是后綴。把該文件放在 CAD 的安裝目錄下。 5. 自動(dòng)加載 dvb 文件, 大約有如下幾種方法: (1)vba 自己加載法。將你的 vba工程文件改名為 acad.dvb,放在 cad的安裝 目錄下, vba 初始 化后自動(dòng)加載。 (2)startup
格式:pdf
大?。?span id="66xvtyw" class="single-tag-height">9KB
頁(yè)數(shù): 2頁(yè)
評(píng)分: 4.3
本文主要針對(duì)CAD的二次開發(fā)平臺(tái)進(jìn)行研究,在此基礎(chǔ)上開發(fā)出一個(gè)關(guān)于壩下箱涵自動(dòng)化設(shè)計(jì)的軟件,目的是促使基層人員設(shè)計(jì)效率的提高。
書 名: CAD二次開發(fā)技術(shù)及其工程應(yīng)用
作 者:王玉琨
出版社: 清華大學(xué)出版社
出版時(shí)間: 2008
ISBN: 9787302167990
開本: 16
定價(jià): 31.00 元
第1章 AutoCAD定制與開發(fā)概述
1.1 AutoCAD二次開發(fā)特性
1.2 設(shè)置繪圖環(huán)境
1.3 用戶系統(tǒng)配置
本章小結(jié)
練習(xí)
第2章 形定義與圖形符號(hào)庫(kù)開發(fā)
2.1 形的創(chuàng)建
2.2 圖形符號(hào)庫(kù)開發(fā)
2.3 字體定義
本章小結(jié)
練習(xí)
第3章 線開園與圖案文件的擴(kuò)充
3.1 線型的定制
3.2 填充圖案
本章小結(jié)
練習(xí)
第4章 菜單和工具欄的開發(fā)
4.1 菜單及菜單文件
4.2 菜單文件的開發(fā)方法
4.3 定制工具欄
本章小結(jié)
練習(xí)
第5章 VisualLISP程序設(shè)計(jì)
5.1 VisualLISP概述
5.2 VisualLISP基礎(chǔ)
5.3 VisualLISP內(nèi)部函數(shù)
5.4 VisualLISP應(yīng)用程序開發(fā)實(shí)例
5.5 VisualLISP程序開發(fā)環(huán)境
本章小結(jié)
練習(xí)
第6章 圖形轉(zhuǎn)換接口文件
6.1 命令組文件格式及實(shí)現(xiàn)
6.2 DXF文件格式及實(shí)現(xiàn)
本章小結(jié)
練習(xí)
第7章 對(duì)話框的設(shè)計(jì)與制作
7.1 概述
7.2 對(duì)話框管理程序設(shè)計(jì)
7.3 對(duì)話框應(yīng)用舉例
本章小結(jié)
練習(xí)
第8章 工程圖的二次開發(fā)基礎(chǔ)
8.1 繪圖環(huán)境的設(shè)定
8.2 程序化繪圖過(guò)程
8.3 常用繪圖程序的編制
8.4 可視化圖庫(kù)建立方法
本章小結(jié)
練習(xí)
第9章 CAD開發(fā)技術(shù)在機(jī)械設(shè)計(jì)中的應(yīng)用
9.1 視圖標(biāo)注程序設(shè)計(jì)
9.2 常用尺寸標(biāo)注程序設(shè)計(jì)
9.3 標(biāo)準(zhǔn)件圖庫(kù)設(shè)計(jì)
9.4 參數(shù)化圖形繪制
9.5 三維造型設(shè)計(jì)實(shí)例
本章小結(jié)
練習(xí)
第10章 CAD開發(fā)技術(shù)在建筑設(shè)計(jì)中的應(yīng)用
10.1 常用建筑設(shè)計(jì)應(yīng)用程序
10.2 墻體設(shè)計(jì)程序設(shè)計(jì)
10.3 樓梯程序設(shè)計(jì)
本章小結(jié)
練習(xí)
第11章 CAD開發(fā)技術(shù)在礦圖設(shè)計(jì)中的應(yīng)用
11.1 坐標(biāo)方格網(wǎng)繪制
11.2 邊界線程序設(shè)計(jì)
11.3 鉆孔符號(hào)繪制
11.4 斷層符號(hào)繪制
11.5 回采工作面及采空區(qū)處理
本章小結(jié)
練習(xí)
附錄AAutoCAD2004的系統(tǒng)變量一覽表
附錄B AutoCAD2004的尺寸標(biāo)注系統(tǒng)變量表
附錄C VisualLISP內(nèi)部函數(shù)
參考文獻(xiàn)
……2100433B
比較各種開發(fā)AutoCAD的編程接口,需要從以下幾個(gè)方面進(jìn)行考慮:
1. 速度:直接與AutoCAD通訊的API比利用IPC進(jìn)行通訊的API在速度方面要快。編譯型的API比解釋型的API速度要快。因此,ObjectARX的速度最快,Com接口開發(fā)的外部程序速度最慢。
2. 穩(wěn)定性:運(yùn)行穩(wěn)定性反映出因程序可能出現(xiàn)的嚴(yán)重錯(cuò)誤所導(dǎo)致的危險(xiǎn)。采用LISP開發(fā)的程序一旦失敗或崩潰,并不危害AutoCAD自身進(jìn)程;而由于ObjectARX應(yīng)用程序共享AutoCAD的地址空間,所以其一旦運(yùn)行失敗,AutoCAD進(jìn)程隨之崩潰。
3. 性能:ObjectARX的應(yīng)用程序能在運(yùn)行期間實(shí)時(shí)擴(kuò)展AutoCAD,共享AutoCAD地址空間,甚至為所欲為,因此性能無(wú)比強(qiáng)大,以至于AutoCAD自身的許多功能模塊都是由ObjectARX進(jìn)行制作。相反,解釋型API如AutoLISP僅被限用于使用靜態(tài)的AutoCAD命令集提供結(jié)構(gòu)化函數(shù)庫(kù)
4. 技術(shù)難度:AutoLISP和VBA均是解釋型語(yǔ)言,方便易學(xué),開發(fā)周期短。許多程序員或一些技術(shù)人員都在使用它們。相比之下ObjectARX依賴于C 語(yǔ)言,它必須經(jīng)過(guò)嚴(yán)格控制的編譯、鏈接才能生成應(yīng)用程序。這就需要編程人員需要積累經(jīng)驗(yàn),這樣才能去發(fā)現(xiàn)問(wèn)題從而解決問(wèn)題。
5. 保密性:編譯型程序要比解釋型保密性要好,保護(hù)了開發(fā)人員的著作權(quán),解釋型語(yǔ)言往往保密性能不高。導(dǎo)致用戶誤操作源碼造成不應(yīng)有的錯(cuò)誤。
另外:雖然.NET開發(fā)出來(lái)的DLL文件是編譯后的程序,但是由于其程序可以反編譯回源碼造成了代碼的保密性差,也是不容忽視的問(wèn)題。
相比之下,如果以前已熟悉使用LISP語(yǔ)言的朋友,則可選用VisualLISP。
如果用戶只想利用開發(fā)一些簡(jiǎn)單的周期性短的應(yīng)用程序,則可以依個(gè)人愛(ài)好和經(jīng)驗(yàn)選擇Visual Basic和VisualLISP。若用戶有較好的C 基礎(chǔ)和AutoLISP函數(shù)基礎(chǔ),同時(shí)又要開發(fā)速度和性能要求都很高的應(yīng)用程序或大型CAD應(yīng)用軟件,則要使用ObjectARX。2100433B