![AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第1頁(yè)](http://file4.renrendoc.com/view/afa72d904d936dcd3205553588b963ab/afa72d904d936dcd3205553588b963ab1.gif)
![AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第2頁(yè)](http://file4.renrendoc.com/view/afa72d904d936dcd3205553588b963ab/afa72d904d936dcd3205553588b963ab2.gif)
![AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第3頁(yè)](http://file4.renrendoc.com/view/afa72d904d936dcd3205553588b963ab/afa72d904d936dcd3205553588b963ab3.gif)
![AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第4頁(yè)](http://file4.renrendoc.com/view/afa72d904d936dcd3205553588b963ab/afa72d904d936dcd3205553588b963ab4.gif)
![AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第5頁(yè)](http://file4.renrendoc.com/view/afa72d904d936dcd3205553588b963ab/afa72d904d936dcd3205553588b963ab5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)一ObjectARX.NET托管開(kāi)發(fā)包的使用一,主要內(nèi)容1、下載安裝ObjectARX.NET托管開(kāi)發(fā)包2、創(chuàng)建AutoCAD命令3、創(chuàng)建自定義用戶菜單4、創(chuàng)建自定義用戶工具條5、創(chuàng)建用戶自定義窗體二,主要步驟1,下載安裝ObjectARX不同的ACAD版本用不同的開(kāi)發(fā)包及開(kāi)發(fā)環(huán)境ACAD2000ACAD2002:VC+6.0ACAD2004ACAD2006:VS.NET2002ACAD2007ACAD2009:VS.NET2005ACAD2010ACAD2011:VS.NET2008ACAD2012:VS.NET2010下載ObjectARX在打開(kāi)打開(kāi)默認(rèn)網(wǎng)頁(yè)瀏覽器并瀏覽 HYPERLI
2、NK 網(wǎng)站.的網(wǎng)頁(yè)上,點(diǎn)擊License&Download(可&下載).填寫(xiě)必填字段并選擇ObjectARXforAutoCAD2012.點(diǎn)擊Submit(提交)按扭在下載頁(yè),點(diǎn)擊DownloadNow(現(xiàn)在下載)使用下載管理器或點(diǎn)擊StandardDownloadMethod標(biāo)準(zhǔn)下載方法使用你的網(wǎng)頁(yè)瀏覽器的默認(rèn)下載方法下載.點(diǎn)擊Save(保存)或用于保存文件到你的本地驅(qū)動(dòng)器的選項(xiàng)。指定下載ObjectARXSDK安裝包文件存放的位置。一旦安裝包文件下載完成,就瀏覽你保存在本地的安裝并雙擊它,安裝向?qū)@示在ObjectARX釋放對(duì)話框中,指定一個(gè)新的安裝位置或接受默認(rèn)的安裝位置。點(diǎn)擊Inst
3、all(安裝)按扭.如果沒(méi)有遇到問(wèn)題,安裝向?qū)瓿珊箨P(guān)閉它安裝ObjectARX向?qū)Ш屯泄茼?xiàng)目模板一旦ObjectARXSDK被安裝,請(qǐng)使用默認(rèn)目錄c:0bjectARXRelease瀏覽它的安裝文件夾。(1)AtuoCAD的類庫(kù)都在此庫(kù)。2,HelloWorld程序創(chuàng)建1)在VS.Net2012中建項(xiàng)目HelloWorld采用.NET托管API一從“項(xiàng)目類型”列表中選擇第二個(gè)“VisualC#”,從模板中選擇“類庫(kù)”,輸入項(xiàng)目名稱“HelloWorld”.單擊“確定”按鈕如果彈出如下對(duì)話框說(shuō)明沒(méi)安裝正確,可以手動(dòng)加載托管DLLf從ObjectARX安裝目錄下加載acmgd.dll和acdbm
4、gd.dll-使用.NET對(duì)象瀏覽器查看AcMgd.dllAutoCAD.NET托管類AcDbMgd.dll-ObjectDBX.NET托管類QAcMgd色AcAeNetServices至AcAeNetServices.Block卩3rameterTypeAcAeNetServices.UserP自rarneterType|先AcPublishServices色AcSmUtilsAutodesk.AutoC.AD.AppIicationService5Autodesk.Auto匚此D.Edit。廣InputlAutodesk.AutoCAD.6raphicsSystemAutodesk.Aut
5、o匚此DJ門(mén)t亡m自IlAutodesk.AutoC.ADJriternaI.CaIcuIatorAutodeskAuto匚此DJnternal.Dat自b自seervice5AutodeskAutoCADInternal.FormsAutodeskAuto匚此DJnternaI.PreviousinputJ.口AcDbMgd0.AdsNsrnetAutod已k:二凸D.Cdlow|Autodesk.AutoC.AD.ComponentModeltAutodesk.AutoCAD口自帖13自5已已皿匸A.Autodesk.AutoC.AD.DatabaseEervices.FiItersAut
6、odesk.AutoC.ADG已ometrytAutod已k:J4itcii二凸D.G白phicB門(mén)亡已汗自匸已|Autodesk.AutoC.AD.GraphicsSystemtAutodesk.AutoC.AD.LayerManager|.Autodesk.AutoC.AD尺lintirnef完整程序如下usingAutodesk.AutoCAD.Runtime;usingAutodesk.AutoCAD.EditorInput;usingAutodesk.AutoCAD.ApplicationServices;namespaceHelloWordpublicclassHello_Samp
7、leCommandMethod(Hello)publicvoidHello()Editored=Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage(歡迎進(jìn)入.NET的開(kāi)發(fā)的世界-火艇制作);f編譯,并在AutoCAD加載DLL,使用Netload命令加載宕稱|AcCui.dll|j:|AcDbMgd.dllAcMqd.dll|AcTcMqd.dllAdWindows.dll1趨HelloWord.dli修改日期2011/2/318:212011/2/317:402011/2/318:312011/2/318:
8、212011/1/621:4426T2/i2/2311:42命令:命令:NETLOAD侖茅:HELLO歡迎進(jìn)入.NET的開(kāi)發(fā)的世界一-火艇制作3,創(chuàng)建上下文菜單usingAutodesk.AutoCAD.Windows;放棄(U)Netload重做(R)平移展)堿(Z)SteeringWheelsCtrl+Y動(dòng)作錄制器usingAutodesk.AutoCAD.Runtime;assembly:CommandClass(typeof(Contextmenu.Contextmenu)namespaceContextmenupublicclassContextmenu:IExtensionAppl
9、icationContextMenuExtensioncontextMenu;HelloFormhfrm;/初始化菜單publicvoidInitialize()AddMenu();/釋放資源,移除菜單publicvoidTerminate()Remove();/添加菜單publicvoidAddMenu()trycontextMenu=newContextMenuExtension();contextMenu.Title=Ting_Menu;Autodesk.AutoCAD.Windows.MenuItemmenuItem;menuItem=newAutodesk.AutoCAD.Windo
10、ws.MenuItem(welcome);menuItem.Click+=newEventHandler(CallbackOnClick);contextMenu.MenuItems.Add(menuItem);Autodesk.AutoCAD.ApplicationServices.Application.AddDefaultContextMenuExtension(contextMenu)catch(System.Exceptionex)hfrm=newHelloForm(ex.ToString(),異常);/移除菜單publicvoidRemove()tryif(contextMenu!
11、=null)Autodesk.AutoCAD.ApplicationServices.Application.RemoveDefaultContextMenuExtension(contextMenu);catch(System.Exceptionex)hfrm=newHelloForm(ex.ToString(),異常);publicvoidCallbackOnClick(objectsender,EventArgse)hfrm=newHelloForm(歡迎進(jìn)入火艇工作室!);hfrm.Show();4,創(chuàng)建彈出式下拉菜單在vs2010中,選擇模板C#,創(chuàng)建類庫(kù)命名為T(mén)urndownMen
12、u。從ObjectARX安裝目錄下加載acmgd.dll、accui和acdbmgd.dll主要代碼CustomizationSectioncs;CustomizationSectionentCs;CustomizationSectionpartials;intnumPartialFiles;boolentCsLoaded;CommandMethod(Ad_Cui)publicvoidAD_CUI_Load()this.init_cui();this.add_menu();this.save_cui();privatevoidinit_cui()stringmainCuiFile=(strin
13、g)Application.GetSystemVariable(MENUNAME);mainCuiFile+=.cuix;cs=newCustomizationSection(mainCuiFile);stringentCuiFile=(string)Application.GetSystemVariable(ENTERPRISEMENU);if(entCuiFile.Equals(.)entCsLoaded=false;elseentCs=newCustomizationSection(entCuiFile);entCsLoaded=true;partials=newCustomizatio
14、nSectioncs.PartialCuiFiles.Count;inti=0;foreach(stringfileNameincs.PartialCuiFiles)if(File.Exists(fileName)partialsi=newCustomizationSection(fileName);i+;numPartialFiles=i;/添加菜單privatevoidadd_menu()if(cs.MenuGroup.PopMenus.IsNameFree(測(cè)試菜單)MacroGroupmg=newMacroGroup(cs.MenuGroupName,cs.MenuGroup);Men
15、uMacroml=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.StringCollectionpmAliases=newSystem.Collections.Specialized.StringCollec
16、tion();pmAliases.Add(POPl2);PopMenupm=newPopMenu(測(cè)試菜單,pmAliases,測(cè)試菜單,cs.MenuGroup);PopMenuItempmi=newPopMenuItem(m1,測(cè)試菜單,pm,-1);pmi=newPopMenuItem(m2,測(cè)試菜單,pm,-1);pmi=newPopMenuItem(pm,-1);pmi=newPopMenuItem(m3,菜單項(xiàng),pm,-1);addMenu2Workspaces(pm);foreach(Workspacewkincs.Workspaces)WorkspacePopMenuwkpm=
17、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();stringflName=cs.CUIFileBaseName;Application.SetSy
18、stemVariable(FILEDIA,0);Application.DocumentManager.MdiActiveDocument.SendStringToExecutecuiunload+flName+,false,false,false);Application.DocumentManager.MdiActiveDocument.SendStringToExecutecuiload+flName+filedia1,false,false,false);4)編譯,并在AutoCAD加載DLLf輸入命令“ad_cui,查看運(yùn)行結(jié)果5,創(chuàng)建工具條在vs2010中,選擇模板C#,創(chuàng)建類庫(kù)命
19、名為AddToolbar。從ObjectARX安裝目錄下加載acmgd.dll、AcCui.dll和acdbmgd.dll完整程序如下publicvoidaddToolbar()ToolbarnewTb=newToolbar(NewToolbar,cs.MenuGroup);foreach(Workspacewkincs.Workspaces)WorkspaceToolbarwkTb=newWorkspaceToolbar(wk,newTb);wk.WorkspaceToolbars.Add(wkTb);wkTb.Display=1;EditorpEd=Application.Document
20、Manager.MdiActiveDocument.Editor;pEd.WriteMessage(HelloWorld);LispFunction(adtoolbar)publicvoidaddToolbar(ResultBufferargs)addToolbar();publicvoidremToolbar()Toolbartbr=cs.MenuGroup.Toolbars.FindToolbarWithName(NewToolbar);if(tbr!=null)foreach(Workspacewkincs.Workspaces)WorkspaceToolbarwkTbwk.Worksp
21、aceToolbars.FindWorkspaceToolbar(tbr.ElementID,tbr.Parent.Name);if(wkTb!=null)wk.WorkspaceToolbars.Remove(wkTb);cs.MenuGroup.Toolbars.Remove(tbr);編譯,并在AutoCAD加載DLLYX欖型iNETLOAD命*NETWORKSRF(SURFNETWORK)命令:netload!【布局1k布局2$1-,1H:iiiLlltnimyJ-Ils”_=加,一N卞銳.:/Q0廠二直戔多段線圓圓弧一聲移動(dòng)0旋轉(zhuǎn)十辭z復(fù)制|h象像圓角各拉伸融弗呀!1型編腎綣彫未保存
22、的圖層狀態(tài)9煤直口。繪圖修改車藥主釋f輸入命令“addtoolbar”,查看運(yùn)行結(jié)果6,創(chuàng)建有模態(tài)和無(wú)模態(tài)對(duì)話框在vs2010中,選擇模板C#,創(chuàng)建類庫(kù)命名為pallelate。從ObjectARX安裝目錄下加載acmgd.dll和acdbmgd.dll3)完整程序如下CommandMethod(Palette)publicvoidaddPalette()Editored=Autodesk.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=PaletteSetStyles.ShowTabForSingle;ps.Opacity=90
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)藥公司宿舍房屋租賃合同范文
- 2025年債權(quán)債務(wù)清算執(zhí)行協(xié)議
- 2025年建筑現(xiàn)澆樓板合同樣本
- 2025年光學(xué)計(jì)量標(biāo)準(zhǔn)器具項(xiàng)目提案報(bào)告模板
- 2025年企業(yè)籌資借款策劃合同范本
- 2025年住宅購(gòu)置合同樣式
- 2025年臨時(shí)員工聘用協(xié)議規(guī)定
- 2025年個(gè)人司機(jī)工作合同
- 2025年企業(yè)消費(fèi)信貸擔(dān)保協(xié)議范本
- 2025年企業(yè)非全日制勞動(dòng)合同模板
- 說(shuō)課的技巧和方法專題講座
- SL631-637-2012-水利水電工程單元工程施工質(zhì)量驗(yàn)收評(píng)定標(biāo)準(zhǔn)
- 監(jiān)理質(zhì)量管理講義監(jiān)理工作的基本知識(shí)
- 浙江臺(tái)州仙居富民村鎮(zhèn)銀行2023年招聘人員筆試歷年高頻考點(diǎn)試題答案帶詳解
- 煙花爆竹考試真題模擬匯編(共758題)
- 四年級(jí)數(shù)學(xué)上冊(cè)口算天天練4
- 水利水電工程監(jiān)理平行檢測(cè)表部分
- 分部分項(xiàng)工程質(zhì)量檢驗(yàn)計(jì)劃表
- HY/T 266-2018外壓中空纖維超濾膜表面親水性的測(cè)試接觸角法
- GB/T 4857.3-2008包裝運(yùn)輸包裝件基本試驗(yàn)第3部分:靜載荷堆碼試驗(yàn)方法
- CB/T 465-1995法蘭鑄鐵閘閥
評(píng)論
0/150
提交評(píng)論