1、自动加载dll的方法(个人觉得下面第4个方法会更方便)

cad加载dll_实现CAD插件启动自动加载的三种方法_weixin_39774556的博客-CSDN博客从网上或者别处淘来的CAD插件,效率很高,但是每次都要手工加载,或者采用了自动加载的方法,但总是不凑效,怎么来有效解决呢?这里提供三种方法供你选择。第一种,也是最常用的方法。点击工具——加载应用程序,或者直接输入命令appload,把插件加载到启动组。不过这种方法经常失效,如果没用可以试试下面两种方法。方法一:添加程序到启动组第二种,也是经过测试最有效通用性最高的方法。找到CAD安装目录下Supp...https://blog.csdn.net/weixin_39774556/article/details/110596286

2、自动加载菜单

AutoCAD .NET 二次开发实例(12) 个人菜单栏实现 - 知乎# 0 引言当你做了一些属于自己的小功能插件以后,你就可以把它们整合到工具栏,然后直接调用就行了。就比如下面这样: 不用每次都netload单独加载那个dll,然后才是输入命令调用它。 我们直接把所有的插件功能都整…https://zhuanlan.zhihu.com/p/161292735

3、添加ribbion

AutoCAD二次开发添加Ribbon菜单 - 颜廷国 - 博客园对一款软件进行二次开发,不可避免的要添加菜单或者功能栏,通过一些按钮触发命令。以下是对AutoCAD二次开发添加Ribbon菜单的代码编写: 本文参考的文章如下: https://www.cnbloghttps://www.cnblogs.com/yantingguo/p/11806506.html

4、通过编写bundle的方式默认加载dll

cad二开之不通过netload加载命令(bundle文件的使用)_黑夜の骑士的博客-CSDN博客_netload一、背景小伙伴们在cad二次开发时,当项目完成后,需要把程序做成安装文件,供他人使用,而不是通过netload去加载,那么如何实现呢?二、解决思路可以使用bundle文件,来包装自己的插件第一步:在电脑中建立一个.bundle后缀的文件夹比如:cadPlugin.bundle第二步:将我们的插件dll文件放入其中比如这里的插件在bundle文件下的debug目录中第三步,在bu...https://blog.csdn.net/birdfly2015/article/details/103402644

5、代码样例

加载dll后,cad会默认执行Initialize()方法。亲试可行。

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Interop;
using Autodesk.AutoCAD.Runtime;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;[assembly: ExtensionApplication(typeof(CadTest001.AcadNetApp))]
namespace CadTest001
{//添加项目类引用public class AcadNetApp : Autodesk.AutoCAD.Runtime.IExtensionApplication{public void Initialize(){//加载后初始化的程序放在这里 这样程序一加载DLL文件就会执行Document doc = Application.DocumentManager.MdiActiveDocument;doc.Editor.WriteMessage("\n加载程序中...........\n");//加载菜单栏需AddMenu();}public void Terminate(){// do somehing to cleanup resource}//加载菜单栏public void AddMenu(){Document doc = Application.DocumentManager.MdiActiveDocument;doc.Editor.WriteMessage("添加菜单栏成功!>>>>>>>>>>>>>>");AcadApplication acadApp = Application.AcadApplication as AcadApplication;//创建建菜单栏的对象AcadPopupMenu myMenu = null;// 创建菜单if (myMenu == null){// 菜单名称myMenu = acadApp.MenuGroups.Item(0).Menus.Add("个人测试菜单");myMenu.AddMenuItem(myMenu.Count, "文字批量替换", "TBR "); //每个命令后面有一个空格,相当于咱们输入命令按空格myMenu.AddMenuItem(myMenu.Count, "文字批量对齐", "TBA ");myMenu.AddMenuItem(myMenu.Count, "输出文本", "CTE ");//开始加子菜单栏AcadPopupMenu subMenu = myMenu.AddSubMenu(myMenu.Count, "CADLinkToEXcel");  //子菜单对象subMenu.AddMenuItem(myMenu.Count, "Excel表格导入", "CTES ");subMenu.AddMenuItem(myMenu.Count, "由Excel数据更新CAD表格数据", "UCTFE ");subMenu.AddMenuItem(myMenu.Count, "由CAD表格数据更新Excel表格数据", "UEFCT ");myMenu.AddSeparator(myMenu.Count); //加入分割符号//结束加子菜单栏}// 菜单是否显示  看看已经显示的菜单栏里面有没有这一栏bool isShowed = false;  //初始化没有显示foreach (AcadPopupMenu menu in acadApp.MenuBar)  //遍历现有所有菜单栏{if (menu == myMenu){isShowed = true;break;}}// 显示菜单 加载自定义的菜单栏if (!isShowed){myMenu.InsertInMenuBar(acadApp.MenuBar.Count);}}}
}
using Autodesk.AutoCAD.Runtime;
using System.Windows;namespace CadTest001
{public class MyCommands{[CommandMethod("TBA")]public void TextBatchAlign(){MessageBox.Show("TBA");}[CommandMethod("TBR")]public void TextBatchReplace(){MessageBox.Show("TBR");}//输出文本到Excel和Txt 打开窗口[CommandMethod("CTE")] //CAD启动界面public void CADTextExport(){MessageBox.Show("CTE");}[CommandMethod("CTES")]static public void CADTablebyExcelSheet(){MessageBox.Show("CTES");}[CommandMethod("UCTFE")]static public void UpdateCADTableFromExcel(){MessageBox.Show("UCTFE");}/// <summary>/// 由CAD表格数据更新Excle中的数据/// </summary>[CommandMethod("UEFCT")]static public void UpdateExcelFromCADTable(){MessageBox.Show("UEFCT");}}
}

cad二次开发——自动运行dll,加载菜单(收集)相关推荐

  1. cad通过钢筋大样生成钢筋明细表插件_Revit二次开发——自动生成构件图(总结)...

    之前测试导出构件图的功能实现,拆分了各模块分布进行测试:Revit二次开发--一键导出构件图(1) Revit二次开发--叠合板自动配筋(2) Revit二次开发--自动标注钢筋思路(3) 本篇为这个 ...

  2. c# cad二次开发 通过选择txt文件将自动转换成多段线

    c# cad二次开发 通过选择txt文件将自动转换成多段线,txt样式如下 using System; using System.Collections.Generic; using System.T ...

  3. CAD自控lisp_基于AutoLisp的AutoCAD二次开发自动生成系统图

    基于 AutoLisp 的 AutoCAD 二次开发自动生成系统图 [摘 要]本文主要阐述了应用 autolisp 语言二次开发 autocad 自动生成系统图的实现方案. [关键词] autocad ...

  4. c# cad二次开发 ribbon界面 给CAD加个菜单栏

    c# cad二次开发 ribbon界面 给CAD加个菜单栏 using System; using System.Collections.Generic; using System.Text; usi ...

  5. Delphi进行CAD二次开发教学(1)——基础学习:运行、新建、打开图形文件

    http://hi.baidu.com/piaoliuxia/blog/item/d61e03faed3bd18c9f514670.html 查看文章   [原创]Delphi进行CAD二次开发教学( ...

  6. lisp CAD二次开发 宗地线自动编号

    lisp CAD二次开发 宗地线自动编号 (defun c:ZZ () (setvar "osmode" 0) (princ "\n选取宗地线-") (setq ...

  7. CAD二次开发--像纬地与CASS程序一样双击桌面图标实现插件的自动挂载(不用netload也不用进入后输入挂载命令)

    先说一下我为什么要写这个文章,首先这一块我自己研究并查找了很久,始终没有很好的办法.二是网络上很多办法鱼龙混杂,要不很复杂,要不现在就已经过时了,总之不能解决问题.干脆自己写一下,防止遗忘! 要明白C ...

  8. cad 二次开发 插入图片_CAD如何加载二次开发程序?

    CAD给我们设计师提供了众多的绘图修改命令,满足了我们一般的绘图应用,但是有时候这些命令应用起来有时候并不太方便,为了使我们的绘图命令更加方便快捷,有时候我们需要加载二次开发程序;例如:lisp.VB ...

  9. CAD二次开发 插件初始化接口IExtensionApplication

    前言:在实际项目开发中,我们总会遇到一些问题.比如说在CAD打开之前,修改注册表的内容,或者解决CAD在没有完全加载想要的dll情况下,功能运行报错的bug.因此,下面和大家介绍一下IExtensio ...

最新文章

  1. postman简单教程,如何在请求中引用上次请求返回的值
  2. javascript 网页设计 怎么在同一位置显示几张不同的图片(图片自动变换)
  3. hdu5489(2015合肥网络赛F题)
  4. Pandas中的 transform() 结合 groupby() 用法示例
  5. jvm垃圾回收机制_JVM 垃圾回收机制之堆的分代回收
  6. $arr['id'],$arr[id]的区别
  7. Equals,ReferenceEquals,==的区别
  8. 分析SQL Server备份
  9. 转载:KOF97键盘连招
  10. 查看Linux是Redhat 还是centos 还是...
  11. Windows Server 2008 R2之三十八 Hyper-V的授权管理
  12. 100 个 pandas 案例,强烈建议保存
  13. AI笔刷 600+专业ai矢量笔刷套装(含安装教程)
  14. 软考网络工程师-华为设备命令学习笔记
  15. 麒麟V10系统-软件商店更新源问题
  16. linux 版本iomete,Linux系统下Iometer的使用方法
  17. 金蝶kiss专业版财务软件下载。
  18. golang 入门--定义数组的方式
  19. 虚拟机云服务器6.0教程pdf,虚拟机云服务器6.0教程pdf
  20. 4 变量、作用域与内存

热门文章

  1. 电子或通信领域当前的主流技术及其社会需求调查报告
  2. android开发,魅蓝note2无法连接到os x 的解决办法
  3. 四个关键词解读08下半场
  4. 分形、分形几何、数据可视化、Python绘图
  5. 爬取高德地图全国poi的爬虫
  6. bugku misc-小美的秘密
  7. Google Maps JavaScript API V3 叠加层
  8. 犀牛4.0鞋业插件orang1.2
  9. RNA核糖核酸修饰荧光染料|HiLyte Fluor 488/555/594/647/680/750标记RNA核糖核酸
  10. 盗版Win7的危害方面