AutoCAD開(kāi)發(fā)工具介紹
到目前為止,Autodesk公司提供了4種主要的二次開(kāi)發(fā)工具:AutoLisp(VisuaLisp)、ADS、ObjectARX及VBA(VB)。本文就此向大家分別做一介紹。
3 ObjectARX( AutoCAD Runtime Extension)開(kāi)發(fā)系統(tǒng)
近幾年廣為應(yīng)用的ObjectARX是從AutoCADR13開(kāi)始推出的一個(gè)全新的面向?qū)ο蟮拈_(kāi)發(fā)環(huán)境,是AutoCAD提供的第一個(gè)面向?qū)ο蟮拈_(kāi)發(fā)工具。它提供了以C++為基礎(chǔ)的面向?qū)ο蟮拈_(kāi)發(fā)環(huán)境及應(yīng)用程序接口,能真正快速訪問(wèn)AutoCAD圖形、數(shù)據(jù)庫(kù)。ObjectARX支持面向?qū)ο缶幊谭椒,同時(shí)向下兼容ADS。它的特點(diǎn)是很明顯的: ARX程序在很多方面與ADS程序和AutoLisp程序都不相同。最重要的一點(diǎn)是,ARX程序?qū)嵸|(zhì)上是一個(gè)動(dòng)態(tài)鏈接庫(kù)(DLL),它和AutoCAD共享地址空間并且直接和AutoCAD進(jìn)行通訊。在ARX中,每個(gè)命令都有獨(dú)立的入口。ARX程序還可以創(chuàng)建新的類(lèi)(class),這些類(lèi)可以為其他程序所共享,從而充分利用面向?qū)ο蟮木幊痰膬?yōu)點(diǎn).ARX程序創(chuàng)建的實(shí)體和AutoCAD的內(nèi)在實(shí)體幾乎是完全等同的。 對(duì)于需要經(jīng)常和AutoCAD通訊的應(yīng)用程序來(lái)說(shuō),ARX程序比ADS程序運(yùn)行速度更快,這里的運(yùn)行速度主要指是訪問(wèn)AutoCAD數(shù)據(jù)庫(kù)的速度。但ARX更“脆弱”,’ARX程序和AutoCAD共享進(jìn)程空間,ARX程序崩潰通常會(huì)導(dǎo)致AutoCAD系統(tǒng)的崩潰。 相比之下,ARX程序是比宏更基本的程序。主程序(AutoCAD)可調(diào)用每個(gè)由ARX程序注冊(cè)的命令。 ARX程序具有ADS程序和AutoLisp程序所不具備的訪問(wèn)和控制AutoCAD的能力。ARX程序可以監(jiān)控和處理AutoCAD各種事件,可以定義AutoCAD命令,包括可以透明執(zhí)行的命令。這些命令可以像AutoCAD自身的命令一樣被AutoLisp和ADS所調(diào)用。 ARX提供了面向?qū)ο蟮木幊碳夹g(shù),面向?qū)ο蟮木幊碳夹g(shù)己經(jīng)成為軟件開(kāi)發(fā)的主流技術(shù)。ARX可充分支持C++,充分支持面向?qū)ο缶幊碳夹g(shù)。 對(duì)于ARX編程,Autodesk公司建議使用VisualC++4.2及以上版本的開(kāi)發(fā)環(huán)境,這一點(diǎn)對(duì)于語(yǔ)言的學(xué)習(xí)要求較高。這里給出直線繪制函數(shù)的部分代碼: void myLine(AcGcPoint3d.AcGePoint3d Pt2) {AcDbLine * pline=new AcDbLine(Pt1,Pt2): AcDbBlockTable * pBlockTable: AcdbCurDwg()->getBlockTable(pBlockTable.AcDb::kForRead); AcDbBlockTableRecord * pBlockTableRecord; pBlockTable->getAt(ACDB MODEL_SPACE pBlockTableRecord,AcDb::kForWrite); pBlockTable->close(); AcDbObjectld lineld; pBlockTableRecord->appendAcDbEntity(lineld,pline): pBlockTableRecord->closc(); pLine->close();} 4.VBA (Visual Basic for Application)和VB 作為從AutoCADR14之后提供的二次開(kāi)發(fā)工具VBA(VB),使渴望CAD編程的人有一個(gè)更好的選擇,用戶(hù)不必學(xué)習(xí)ADS,ARX和AutoLisp就可以用VBA(VB)來(lái)開(kāi)發(fā)AutoCAD,Autodesk公司從R14開(kāi)始內(nèi)置了VBA開(kāi)發(fā)工具,同時(shí)提供了適于VBA(VB)開(kāi)發(fā)的ActiveXAutomation對(duì)象模型。VBA(VB)的主要特點(diǎn)如下: VBA最早是內(nèi)嵌在Ofice97中的一種編程語(yǔ)言,它易學(xué)易用,功能強(qiáng)大。所以Autodesk公司從Rl4之后把它也嵌入了AutoCAD中。 |
【溫馨提示】本頻道長(zhǎng)期接受投稿,內(nèi)容可以是:
1.行業(yè)新聞、市場(chǎng)分析。 2.新品新技術(shù)(最新研發(fā)出來(lái)的產(chǎn)品技術(shù)介紹,包括產(chǎn)品性能參數(shù)、作用、應(yīng)用領(lǐng)域及圖片); 3.解決方案/專(zhuān)業(yè)論文(針對(duì)問(wèn)題及需求,提出一個(gè)解決問(wèn)題的執(zhí)行方案); 4.技術(shù)文章、白皮書(shū),光學(xué)軟件運(yùn)用技術(shù)(光電行業(yè)內(nèi)技術(shù)文檔);
如果想要將你的內(nèi)容出現(xiàn)在這里,歡迎聯(lián)系我們,投稿郵箱:service@opticsky.cn
1.行業(yè)新聞、市場(chǎng)分析。 2.新品新技術(shù)(最新研發(fā)出來(lái)的產(chǎn)品技術(shù)介紹,包括產(chǎn)品性能參數(shù)、作用、應(yīng)用領(lǐng)域及圖片); 3.解決方案/專(zhuān)業(yè)論文(針對(duì)問(wèn)題及需求,提出一個(gè)解決問(wèn)題的執(zhí)行方案); 4.技術(shù)文章、白皮書(shū),光學(xué)軟件運(yùn)用技術(shù)(光電行業(yè)內(nèi)技術(shù)文檔);
如果想要將你的內(nèi)容出現(xiàn)在這里,歡迎聯(lián)系我們,投稿郵箱:service@opticsky.cn
文章點(diǎn)評(píng)
機(jī)械軟件
24小時(shí)人氣排行
- 一文了解柱面透鏡
- 阿里巴巴達(dá)摩院:2024青橙獎(jiǎng)獲獎(jiǎng)結(jié)果揭曉
- 一種顯微鏡用光學(xué)鏡片
- 南開(kāi)大學(xué)科研團(tuán)隊(duì)在全譜多模式發(fā)光材料方面取得重要進(jìn)展
- 亮道智能發(fā)布新一代固態(tài)激光雷達(dá)
- 上海光機(jī)所在過(guò)渡金屬摻雜CdO薄膜調(diào)控ENZ非線性光學(xué)研究方面取得進(jìn)展
- 舜宇光學(xué)“光學(xué)成像鏡頭”專(zhuān)利公布
- 上海光機(jī)所在基于納米疊層的寬帶減反射膜方面取得新進(jìn)展
- 什么是奇點(diǎn)介電納米激光器?
最新文章
- 舜宇光學(xué)“光學(xué)成像鏡頭”專(zhuān)利公布
- 上海光機(jī)所在基于納米疊層的寬帶減反射膜方面取得新進(jìn)展
- 什么是奇點(diǎn)介電納米激光器?
- 南開(kāi)大學(xué)科研團(tuán)隊(duì)在全譜多模式發(fā)光材料方面取得重要進(jìn)展
- 阿里巴巴達(dá)摩院:2024青橙獎(jiǎng)獲獎(jiǎng)結(jié)果揭曉
- 上海光機(jī)所在過(guò)渡金屬摻雜CdO薄膜調(diào)控ENZ非線性光學(xué)研究方面取得進(jìn)展
- 一文了解柱面透鏡
- 亮道智能發(fā)布新一代固態(tài)激光雷達(dá)
- 一種顯微鏡用光學(xué)鏡片
- 一種偏振可調(diào)的綠光激光器