“Fork

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检查一下自己编写的成果吧。

posted @ 2019-11-09 11:16  颜廷国  阅读(3403)  评论(3编辑  收藏  举报