




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗一ObjectARX.NET托管開發(fā)包的使用一、主要內(nèi)容1、下載安裝ObjectARX.NET托管開發(fā)包2、創(chuàng)建AutoCAD命令3、創(chuàng)建自定義用戶菜單4、創(chuàng)建自定義用戶工具條5、創(chuàng)建用戶自定義窗體二、學(xué)時安排三、預(yù)習(xí)內(nèi)容及要求回顧ObjectARXAPI和其托管API之間的對應(yīng)關(guān)系;掌握不同API版本對應(yīng)的VS.NET開發(fā)版本;熟悉創(chuàng)建用戶需求所要引用命名空間。開發(fā)語言使用C#,AutoCAD版本2010,objectARX2010。四、下載安裝ObjectARX4.1下載ObjectARX不同的ACAD版本用不同的開發(fā)包及開發(fā)環(huán)境ACAD2000ACAD2002:VC+6.0ACAD2
2、004ACAD2006:VS.NET2002ACAD2007ACAD2009:VS.NET2005ACAD2010ACAD2011:VS.NET2008ACAD2012:VS.NET2010下載ObjectARX在打開打開默認網(wǎng)頁瀏覽器并瀏覽網(wǎng)站.的網(wǎng)頁上,點擊License&Downloaded可&下載).填寫必填字段并選擇ObjectARXforAutoCAD2010.點擊Submit(提交)按扭.在下載頁,點擊DownloadNow(現(xiàn)在下載)使用下載管理器或點擊StandardDownloadMethod(標準下載方法使用你的網(wǎng)頁瀏覽器的默認下載方法下載.點擊Save(保存)或用于保存
3、文件到你的本地驅(qū)動器的選項。指定下載ObjectARXSDK安裝包文件存放的位置。一旦安裝包文件下載完成,就瀏覽你保存在本地的安裝并雙擊它,安裝向?qū)@示在ObjectARX釋放對話框中,指定一個新的安裝位置或接受默認的安裝位置。點擊Install安裝)按扭.如果沒有遇到問題,安裝向?qū)瓿珊箨P(guān)閉它安裝ObjectARX向?qū)Ш屯泄茼椖磕0逡坏㎡bjectARXSDK被安裝,請使用默認目錄c:ObjectARXvRelease瀏覽它的安裝文件夾。瀏覽安裝文件夾后,打開Utils文件夾和ObjARXWiz文件夾。在ObjARXWiz文件夾中,雙擊ArxWizards.msi文件。在ObjectARX
4、WizardsforAutoCAD2010對話框中,點擊Next.在EnterYourPreferredDefaultRDSSymbol框中,輸入你的公司名字的縮寫并點擊Next按扭。你輸入的RDS文字被用于默認名字的前綴,這個名字是用ObjectARX向?qū)c工程模板創(chuàng)建類或命令時使用的。注意RDS代表RegisteredDeveloperSymbol,它用于創(chuàng)建命令和類的標識,以幫助避免與其它應(yīng)用程序之間的潛在沖突。在MemberVariableWizard頁,選擇同意ReplaceMSMemberVariableWizardbyAutodeskMemberVariableWizard并單擊
5、Next按扭.在選擇SelectInstallationFolder(安裝文件夾)頁,點擊向?qū)У腂rowse按扭指定一個新的安裝位置或者同意默認位置。點擊Next按扭.再次點擊安裝向?qū)У腘ext按扭。點擊向?qū)У腃lose按扭退出。4.2HelloWorl程序創(chuàng)建在VS.Net2010中建項目HelloWorld如果使用托管ObjectARXAPI,則使用C#語言作為開發(fā)語言,操作如下:選擇VisualC#下的ObjectARX一選擇項目類型本實驗采用.NET托管API從“項目類型”列表中選擇第二個“VisualC#”,從模板中選擇“AutoCADManagedProject”,輸入項目名稱“H
6、elloWorld”.Net擴展選項,單擊“完成”按鈕如果彈出如下對話框說明沒安裝正確,可以手動加載托管DLL從ObjectARX安裝目錄下加載acmgd.dll和acdbmgd.dll使用.NET對象瀏覽器查看acmgd.dllAutoCAD.NET托管類acdbmgd.dll-ObjectDBX.NET托管類完整程序如下usingSystem;usingAutodesk.AutoCAD.Runtime;usingAutodesk.AutoCAD.ApplicationServices;usingAutodesk.AutoCAD.DatabaseServices;usingAutodesk.
7、AutoCAD.Geometry;usingAutodesk.AutoCAD.EditorInput;assembly:CommandClass(typeof(HelloWorld.Hello)namespaceHelloWorld/SummarydescriptionforrdsCommands./publicclassHellopublicHello()CommandMethod(HW)staticpublicvoidHW()EditorpEd=Application.DocumentManager.MdiActiveDocument.Editor;pEd.WriteMessage(CAD
8、歡迎你!“);編譯,并在AutoCAD加載DLL輸入命令“HW”,查看運行結(jié)果.DshlC*4國試E3UI*IL:r妲BAuiDiLlStt201|/5/31LftULDll期4.3、創(chuàng)建上下文菜單usingSystem;usingAutodesk.AutoCAD.Windows;usingAutodesk.AutoCAD.Runtime;assembly:CommandClass(typeof(Contextmenu.Contextmenu)namespaceContextmenupublicclassContextmenu:IExtensionApplicationContextMenuE
9、xtensioncontextMenu;HelloFormhfrm;/初始化菜單publicvoidInitialize()AddMenu();/釋放資源,移除菜單publicvoidTerminate()Remove();/添加菜單publicvoidAddMenu()trycontextMenu=newContextMenuExtension();contextMenu.Title=Ting_Menu;Autodesk.AutoCAD.Windows.MenuItemmenuItem;menuItem=newAutodesk.AutoCAD.Windows.MenuItem(welcome
10、);menuItem.Click+=newEventHandler(CallbackOnClick);contextMenu.MenuItems.Add(menuItem);Autodesk.AutoCAD.ApplicationServices.Application.AddDefaultContextMenuExtension(contextMenu)catch(System.Exceptionex)hfrm=newHelloForm(ex.ToString(),異常);/移除菜單publicvoidRemove()tryif(contextMenu!=null)Autodesk.Auto
11、CAD.ApplicationServices.Application.RemoveDefaultContextMenuExtension(contextMenu);catch(System.Exceptionex)hfrm=newHelloForm(ex.ToString(),異常);publicvoidCallbackOnClick(objectsender,EventArgse)hfrm=newHelloForm(”歡迎進入我的CAD二次開發(fā)”);hfrm.Show();SNETLOAD(R)MY_hflenu卜SW6HaUNrtlDdSffilR)如艸ISteeringVjheels4
12、.4、創(chuàng)建彈出式下拉菜單1)在vs2010中,選擇模板C#,創(chuàng)建類庫命名為TurndownMenu。2)從ObjectARX安裝目錄下加載acmgd.dll、accui和acdbmgd.dll3)主要代碼CustomizationSectioncs;CustomizationSectionentCs;CustomizationSectionpartials;intnumPartialFiles;boolentCsLoaded;CommandMethod(Ad_Cui)publicvoidAD_CUI_Load()this.init_cui();this.add_menu();this.save
13、_cui();privatevoidinit_cui()stringmainCuiFile=(string)Application.GetSystemVariable(MENUNAME);mainCuiFile+=.cuix;cs=newCustomizationSection(mainCuiFile);stringentCuiFile(string)Application.GetSystemVariable(ENTERPRISEMENU);if(entCuiFile.Equals(.)entCsLoaded=false;elseentCs=newCustomizationSection(en
14、tCuiFile);entCsLoaded=true;partials=newCustomizationSectioncs.PartialCuiFiles.Count;inti=0;foreach(stringfileNameincs.PartialCuiFiles)if(File.Exists(fileName)partialsi=newCustomizationSection(fileName);i+;numPartialFiles=i;/添加菜單privatevoidadd_menu()if(cs.MenuGroup.PopMenus.IsNameFree(測試菜單)MacroGroup
15、mg=newMacroGroup(cs.MenuGroupName,cs.MenuGroup);MenuMacroml=newMenuMacro(mg,wdgl_cmdl,ACACAd_FindCAD,ID_AD_FindCAD);MenuMacrom2=newMenuMacro(mg,wdgl_cmd2,ACACAd_FileInfo,ID_Ad_FileInfo);MenuMacrom3=newMenuMacro(mg,wdgl_cmd3,ACACAd_Help,ID_Ad_Help);System.Collections.Specialized.StringCollectionpmAli
16、ases=newSystem.Collections.Specialized.StringCollection();pmAliases.Add(POPl2);PopMenupm=newPopMenu(測試菜單,pmAliases,測試菜單,cs.MenuGroup);PopMenuItempmi=newPopMenuItem(m1,測試菜單,pm,-1);pmi=newPopMenuItem(m2,測試菜單,pm,-1);pmi=newPopMenuItem(pm,-1);pmi=newPopMenuItem(m3,菜單項,pm,-1);addMenu2Workspaces(pm);forea
17、ch(Workspacewkincs.Workspaces)WorkspacePopMenuwkpm=newWorkspacePopMenu(wk,pm);wkpm.Display=1;elseprivatevoidaddMenu2Workspaces(PopMenupm)privatevoidsave_cui()if(cs.IsModified)cs.Save();for(inti=0;inumPartialFiles;i+)if(partialsi.IsModified)partialsi.Save();if(entCsLoaded&entCs.IsModified)entCs.Save(
18、);stringflName=cs.CUIFileBaseName;Application.SetSystemVariable(FILEDIA,0);Application.DocumentManager.MdiActiveDocument.SendStringToExecutecuiunload+flName+,false,false,false);Application.DocumentManager.MdiActiveDocument.SendStringToExecutecuiload+flName+filedia1,false,false,false);4)編譯,并在AutoCAD加
19、載DLL,輸入命令“ad_cui,查看運行結(jié)果a_cui1|5AX(AXEWTER)BfiECLOSEFHHA&CCLISTOMMAVIGATE151AMENTER(ADCEFiTER)一.:笑斗AKMAVI-6ATEAODPALETTE命令:叫4.5、創(chuàng)建工具條在vs2010中,選擇模板C#,創(chuàng)建類庫命名為AddToolbar。從ObjectARX安裝目錄下加載acmgd.dll、AcCui.dll和acdbmgd.dll完整程序如下publicvoidaddToolbar()ToolbarnewTb=newToolbar(NewToolbar,cs.MenuGroup);foreach(W
20、orkspacewkincs.Workspaces)WorkspaceToolbarwkTb=newWorkspaceToolbar(wk,newTb);wk.WorkspaceToolbars.Add(wkTb);wkTb.Display=1;EditorpEd=Application.DocumentManager.MdiActiveDocument.Editor;pEd.WriteMessage(HelloWorld);LispFunction(adtoolbar)publicvoidaddToolbar(ResultBufferargs)addToolbar();publicvoidr
21、emToolbar()Toolbartbr=cs.MenuGroup.Toolbars.FindToolbarWithName(NewToolbar);if(tbr!=null)foreach(Workspacewkincs.Workspaces)WorkspaceToolbarwkTbwk.WorkspaceToolbars.FindWorkspaceToolbar(tbr.ElementID,tbr.Parent.Name);if(wkTb!=null)wk.WorkspaceToolbars.Remove(wkTb);cs.MenuGroup.Toolbars.Remove(tbr);4
22、)編譯,并在AutoCAD加載DLL,輸入命令“addtoolbar”,查看運行結(jié)果1-瀝楓H二於團Ea命令:輸入FILEDM的新值:命令:ADDtSBS麵插入注釋瑋毗觀罔晉理耐藉件ral呼廉卻O-/-”A乜層剤血丟is園角-用Q拉伸!7磁開岸列逞4.6、創(chuàng)建有模態(tài)和無模態(tài)對話框在vs2010中,選擇模板C#,創(chuàng)建類庫命名為pallelate。從ObjectARX安裝目錄下加載acmgd.dll和acdbmgd.dll完整程序如下CommandMethod(Palette)publicvoidaddPalette()edEditorAutodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;PaletteSetps=newPaletteSet(testpalletteset);ps.MinimumSize=newSystem.Drawing.Size(300,300);System.Windows.Forms.UserControlmyctrl=newSystem.Windows.Forms.UserControl();ps.Add(test,myctrl);ps.Visible=true;ps.Style=PaletteS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中考說明文相關(guān)知識點
- 如何加強供電所管理
- 技術(shù)類實習(xí)生合同范本
- 培訓(xùn)出差報告
- 會員權(quán)益轉(zhuǎn)讓合同
- 彩妝創(chuàng)業(yè)財務(wù)分析報告
- 房地產(chǎn)拍賣合同示范
- 教學(xué)設(shè)計人物課件
- 6S管理在醫(yī)院藥品管理中的應(yīng)用
- 技術(shù)部經(jīng)理履新述職報告
- 拉赫瑪尼諾夫鋼琴作品和聲的結(jié)合與表現(xiàn)
- 高三英語語法填空專項訓(xùn)練及答案含解析
- (完整版)S312防水套管圖集
- 常用儀器設(shè)備和搶救物品使用的制度及流程
- 2023年浙江省杭州市余杭區(qū)徑山鎮(zhèn)招聘村務(wù)工作者招聘14人(共500題含答案解析)筆試歷年難、易錯考點試題含答案附詳解
- 妊娠滋養(yǎng)細胞腫瘤課件
- 個人原因動物檢產(chǎn)品檢疫合格證明丟失情況說明
- 中國的預(yù)算管理
- 如坐針氈:我與通用電氣的風(fēng)雨16年
- 部編小學(xué)語文四年級下冊第四單元教材分析解讀課件
- 塔機基礎(chǔ)轉(zhuǎn)換腳計算書
評論
0/150
提交評論