• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
梧桐爱凤
博客园    首页    新随笔    联系   管理    订阅  订阅

AutoCAD.NET 二次开发(一) 自定义菜单及自动加载

分为两个步骤,一个是菜单的自定义,一个是生成的dll的自动加载。

完成此次目的,分为两个步骤,一个是菜单的自定义,一个是生成的dll的自动加载。

参考文章:http://blog.sina.com.cn/s/blog_69e8fdf00100m337.html

基本上是复制了下卡卡尼莫的代码,搞定了菜单和加载的问题。

总结下:

此解决方案分两步:

1、菜单的自定义:是通过COM的方式引入AcadApplication,从而调用菜单的相关功能。使用此类的时候,需要通过 添加引用->com->AutoCAD 2010(或其它版本) Type Library 的方式引入Autodesk.AutoCAD.Interop这样一个命名空间。
2、dll的自动加载:通过注册表写入的方式,来使cad在启动的时候,进行dll加载的。

另外,在这个过程中也看到了其它的几种方案:

1、菜单部分:也可以使用cui的方式来进行添加。开始看了 http://www.objectarx.net/forum.php?mod=viewthread&tid=4990 这里,只看到生成cui文件,没看到怎么加载的,后来放弃了这种方式后,又看到http://www.objectarx.net/forum.php?mod=viewthread&tid=5000 这里,基本上也是可以搞定的,不过比起com的方式似乎麻烦了很多,但是可定制性就大了许多。同时在2010中cui文件的后缀为 .cuix,这一点要注意,要不然在 “从AUTOCAD系统变量MENUNAME得到main.cui文件”这一步的时候,就会出错了,因为实际的文件时main.cuix.

2.dll的自动加载部分也可以使用修改.lsp文件的方式去做,不过我试了试发现没法自动启动,似乎杀毒软件(如360)会认为是病毒,所以,最后还是采用了注册表的方式。

每多学一点知识,就少写一行代码
posted @ 2012-08-21 14:36  梧桐爱凤  阅读(7500)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3