AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第1頁(yè)
AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第2頁(yè)
AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第3頁(yè)
AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第4頁(yè)
AutoCAD二次開(kāi)發(fā)實(shí)驗(yàn)一_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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門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門亡已汗自匸已|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ù)命名為TurndownMen

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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論