许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  CAD插件开发技术详解:C#调用acdbmgd.dll和acmgd.dll实现

CAD插件开发技术详解:C#调用acdbmgd.dll和acmgd.dll实现

阅读数 3
点赞 0
article_banner


 CAD插件看起来很神秘,其实一个合格码农经过几天就能快速掌握。没什么秘密,开发CAD插件和winform一样简单学几个类库用法就是(只是太多人不喜欢知识分享),在CAD里展现界面和winform略有不同(整个项目工程在文章的最后有下载)。
 
  学习CAD插件开发的动机是为了薪水,由于公司是做显示屏和触摸屏的,养了一堆CAD的设计工程师拿着8K以上的薪水,当时我做为信息系统开发人员才拿4K,4个人要开发维护整个公司(2万人,几十个部门)的系统,感觉严重不平衡,便挑战一下设计工程师,借此提高自身价值。
 
  适用案例,公司做手机屏要放UV胶来贴合,用CAD画一个边框加一些线条。看着设计工程师们画画CAD也有那么多薪水,心里不平衡就搞出一个按照参数自动出图的东西。当然实际的项目比我放出的复杂得多,这里只是讲讲CAD插件技术,不涉及实际项目。总之无论多复杂,凡是根据参数生成固定图形的,CAD插件程序都可以胜任。
 
  效果展示:
 
  1,命令行:
 
  2,右键菜单:
 
  3,工具条,CAD内嵌界面,和winform一样简单
 
  闲话少说,直接上原理和代码:
 
  0,
 
  项目效果查看:
 
  a:在CAD2006的命令行输入netload,加载Test.dll
 
  b1:在命令行输入helloworld可以看到命令功能
 
  b2:右键可以看到右键菜单,画一个红色的圆
 
  b3:左边工具面板多了一个工具条,有个界面可以输入各种参数来画一个组合图形
 
  1,建一个xindows窗体程序项目,设置输出为类库
 
  2,引用acdbmgd.dll和acmgd.dll
 
  3,引用如下命名空间
 
  using Autodesk.AutoCAD.EditorInput;
 
  using Autodesk.AutoCAD.ApplicationServices;
 
  using Autodesk.AutoCAD.Runtime;
 
  using Autodesk.AutoCAD.DatabaseServices;
 
  using Autodesk.AutoCAD.Geometry;
 
  using Autodesk.AutoCAD.Windows.ToolPalette;
 
  using Autodesk.AutoCAD.Windows;
 
  4,在Form1上规划界面和后台代码。重点看代码如何实现
 
  5,计划是CAD上增加一个面板按钮,点击按钮就打开Form1来自动画图。
 

     这里我们加一个用户控件,拖一个按钮,按钮方法写:
 

  Form1 modalForm = new Form1();          
 

  Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(modalForm);
 

  注意这里仅仅是打开的窗体的方式选择了AutoCAD的方式。  
 

  想建立一整套工具栏,就多拉几个按钮。按4的方法写好每个按钮执行的代码(可以要个Form1这样的界面,也可以不要,自由选择)
 

  6,把这个项目导出还需要一个类来辅助
 

  先看初始化Initialize()和Terminate()方法。这里给CAD加了一个面板工具栏和右键菜单,以及一些命令行
 

  1,这个class1类分别演示了命令行、右键菜单、工具条的实现。注释得非常清楚了,就不做多解释。 
 

   View Code
 
  2,CAD展现工具条,添加一个用户控件,取名为ModelessForm。两行代码显示Form1窗体而已。
 

   View Code
 

  3,Form1窗体的功能,是根据长宽画一个矩形,矩形的四个角分别画一个圆。因为在CAD里运行,所以使用的类库和正常C#的不同。这里是实现的重点,根据需要写自己的代码。class1类是一个框架,基本不用改。
 

   View Code
 
  整个工程打包上来,有兴趣的朋友跑起来玩玩。很少写博客,不知道哪里能上传,放个360网盘分享吧,http://yunpan.cn/Q5t2pTptiUm4b。
 http://files.cnblogs.com/files/zkp2010/CAD%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91%E2%80%94%E2%80%94%E4%BB%A5CAD2006%E4%B8%BA%E4%BE%8B.rar
 

   CAD插件技术真心不难,无非是画点线条,CAD内部能实现的,C#调用acdbmgd.dll和acmgd.dll也能实现。
 
  花几天时间让自己掌握多一件技术也是件开心的事,也可以拿去镇镇设计工程师,让他们知道码农的强大。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空