版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一ObjectARX.NET托管开发包的使用一、主要内容1、下载安装ObjectARX.NET托管开发包2、创建AutoCAD命令3、创建自定义用户菜单4、创建自定义用户工具条5、创建用户自定义窗体二、学时安排三、预习内容及要求回顾ObjectARXAPI和其托管API之间的对应关系;掌握不同API版本对应的VS.NET开发版本;熟悉创建用户需求所要引用命名空间。开发语言使用C#,AutoCAD版本2010,objectARX2010。四、下载安装ObjectARX4.1下载ObjectARX不同的ACAD版本用不同的开发包及开发环境ACAD2000ACAD2002:VC+6.0ACAD2
2、004ACAD2006:VS.NET2002ACAD2007ACAD2009:VS.NET2005ACAD2010ACAD2011:VS.NET2008ACAD2012:VS.NET2010下载ObjectARX在打开打开默认网页浏览器并浏览网站.的网页上,点击License&Downloaded可&下载).填写必填字段并选择ObjectARXforAutoCAD2010.点击Submit(提交)按扭.在下载页,点击DownloadNow(现在下载)使用下载管理器或点击StandardDownloadMethod(标准下载方法使用你的网页浏览器的默认下载方法下载.点击Save(保存)或用于保存
3、文件到你的本地驱动器的选项。指定下载ObjectARXSDK安装包文件存放的位置。一旦安装包文件下载完成,就浏览你保存在本地的安装并双击它,安装向导将显示在ObjectARX释放对话框中,指定一个新的安装位置或接受默认的安装位置。点击Install安装)按扭.如果没有遇到问题,安装向导完成后关闭它安装ObjectARX向导和托管项目模板一旦ObjectARXSDK被安装,请使用默认目录c:ObjectARXvRelease浏览它的安装文件夹。浏览安装文件夹后,打开Utils文件夹和ObjARXWiz文件夹。在ObjARXWiz文件夹中,双击ArxWizards.msi文件。在ObjectARX
4、WizardsforAutoCAD2010对话框中,点击Next.在EnterYourPreferredDefaultRDSSymbol框中,输入你的公司名字的缩写并点击Next按扭。你输入的RDS文字被用于默认名字的前缀,这个名字是用ObjectARX向导与工程模板创建类或命令时使用的。注意RDS代表RegisteredDeveloperSymbol,它用于创建命令和类的标识,以帮助避免与其它应用程序之间的潜在冲突。在MemberVariableWizard页,选择同意ReplaceMSMemberVariableWizardbyAutodeskMemberVariableWizard并单击
5、Next按扭.在选择SelectInstallationFolder(安装文件夹)页,点击向导的Browse按扭指定一个新的安装位置或者同意默认位置。点击Next按扭.再次点击安装向导的Next按扭。点击向导的Close按扭退出。4.2HelloWorl程序创建在VS.Net2010中建项目HelloWorld如果使用托管ObjectARXAPI,则使用C#语言作为开发语言,操作如下:选择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”,查看运行结果.DshlC*4国试E3UI*IL:r妲BAuiDiLlStt201|/5/31LftULDll期4.3、创建上下文菜单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二次开发”);hfrm.Show();SNETLOAD(R)MY_hflenu卜SW6HaUNrtlDdSffilR)如艸ISteeringVjheels4
12、.4、创建弹出式下拉菜单1)在vs2010中,选择模板C#,创建类库命名为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,查看运行结果a_cui1|5AX(AXEWTER)BfiECLOSEFHHA&CCLISTOMMAVIGATE151AMENTER(ADCEFiTER)一.:笑斗AKMAVI-6ATEAODPALETTE命令:叫4.5、创建工具条在vs2010中,选择模板C#,创建类库命名为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”,查看运行结果1-沥枫H二於团Ea命令:输入FILEDM的新值:命令:ADDtSBS麵插入注釋玮毗观罔晉理耐藉件ral呼廉却O-/-”A乜层剤血丟is园角-用Q拉伸!7磁開岸列逞4.6、创建有模态和无模态对话框在vs2010中,选择模板C#,创建类库命名为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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理新员工入职培训
- 中秋节前培训
- 电子厂专项稽核年终总结
- 13.3 比热容(7大题型)(含答案解析)
- 山东省青岛市崂山区2024-2025学年度第一学期期中检测七年级语文试题(胶州、黄岛联考)(A4师用)
- 河北省邯郸市第十一中学2024-2025学年九年级上学期期中考试化学试题(无答案)
- 第六单元 组合图形的面积 2024-2025学年数学北师大版五年级上册单元检测(含解析)
- 2024-2025学年湖南省长沙市立信中学八年级(上)第一次月考物理试卷(含答案)
- T-YNZYC 0118-2024 绿色药材 天门冬种苗繁育技术规程
- T-XMTM 8-2023 综合管廊运行维护技术规范
- 餐饮MBO目标管理课件
- 音响行业设计标准总结
- 2022年2022年急诊科医患沟通制度
- 《2021国标结构专业图集资料》15G323-2 钢筋混凝土吊车梁(A4、A5级)(有水印)
- 设备管理系统概要设计说明书.doc
- 青霉素V钾提取工艺与研究进展
- 运营管理体系建设
- 水稳(沥青)拌和站建站方案
- 幕墙分项施工工艺样板验收单
- 毒理学复习纲要 归纳
- 关于地材涨价的报告 (2)
评论
0/150
提交评论