切換到寬版
  • 廣告投放
  • 稿件投遞
  • 繁體中文
  • AutoCAD開(kāi)發(fā)工具介紹

    作者:佚名 來(lái)源:網(wǎng)絡(luò) 時(shí)間:2011-03-14 16:14 閱讀:3957 [投稿]
    到目前為止,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中。
    分享到:
    掃一掃,關(guān)注光行天下的微信訂閱號(hào)!
    【溫馨提示】本頻道長(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
    文章點(diǎn)評(píng)