AutoCAD二次开发自动加载dll并且自动加载显示Ribbon菜单
1、利用.net编辑好AutoCAD的.dll文件,加载的方式有两种。
(1)手动加载。打开AutoCAD,命令行输入netload命令,选择生成的.dll文件,可以实现加载。
(2)自动加载。找到AutoCAD安装目录路径下的support文件下的acad20xx.lsp文件,用记事本或者notepad进行编辑,打开之后在第二行添加以下代码:(符号必须是英文状态的)
(command “netload” “C:\\Users\\Administrator\\Desktop\\xxxx.dll”)
添加后的文件内容如下:
(if (not (= (substr (ver) 1 11) "Visual LISP")) (load "acad2018doc.lsp"))
(command "netload" "C:\\Users\\Administrator\\Desktop\\NEWLayersAdd.dll")
;; Silent load.
(princ)
保存为lsp格式的文件即可,每次打开AutoCAD都会提示,是否加载xxx.dll文件,根据情况进行选择。
2、加载dll之后利用委托,把编写的Ribbon显示出来。如果只是自动加载,并不能实现显示,需要加载完毕之后才能显示,这是顺序问题。
void IExtensionApplication.Initialize() { Autodesk.Windows.ComponentManager.ItemInitialized += this.EventHandler(ComponentManager_ItemInitialized); } public void ComponentManager_ItemInitialized(object sender, RibbonItemEventArgs e) { if (Autodesk.Windows.ComponentManager.Ribbon != null) { createRibbon();//添加ribbon菜单的函数 Autodesk.Windows.ComponentManager.ItemInitialized -= this.EventHandler(ComponentManager_ItemInitialized); } } public static void createRibbon()//生成菜单的代码 { //add ribbon here.. } public void Terminate() { }
现在就可以打开AutoCAD检查一下自己编写的成果吧。