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也能实现。

花几天时间让自己掌握多一件技术也是件开心的事,也可以拿去镇镇设计工程师,让他们知道码农的强大。

CAD插件技术真心不难,无非是画点线条,CAD内部能实现的,C#调用acdbmgd.dll和acmgd.dll也能实现相关推荐

  1. 用C#来开发CAD插件,含源代

    CAD插件看起来很神秘,其实一个合格码农经过几天就能快速掌握.没什么秘密,开发CAD插件和winform一样简单,多学几个类库用法就是,在CAD里展现界面和winform略有不同.学习CAD插件开发的 ...

  2. matlab画孔斯曲面,CAD CAM技术基础:第五讲 孔斯曲面

    <CAD CAM技术基础:第五讲 孔斯曲面>由会员分享,可在线阅读,更多相关<CAD CAM技术基础:第五讲 孔斯曲面(33页珍藏版)>请在人人文库网上搜索. 1.CAD/CA ...

  3. LISP道路中线_如何画两条样条线间中心线之三:CAD插件/Lisp编程法

    前面有介绍过两种CAD画两条样条线的中心线的方法,分别是用三维曲面提取中心线和画辅助取中心线,这两种方法.其实还有更简单的方法,就是用插件,感兴趣的可以自己找有相关功能的插件来使用. 这里提供一个. ...

  4. cad管线交叉怎么画_「CAD插件」CAD尺寸距离标注(十六式)_CAD尺寸标注

    尺寸距离标注(十六式) 主界面 CAD插件_小懒人CAD工具箱 [CAD插件]CAD尺寸距离标注(十六式)_小懒人CAD插件_CASS插件 CAD插件,尺寸标注,距离标注 01.尺寸拉线快标 CAD插 ...

  5. Android 插件技术实战总结

    前言 安卓应用开发的大量难题,其实最后都需要插件技术去解决. 现今插件技术的使用非常普遍,比如微信.QQ.淘宝.天猫.空间.携程.大众点评.手机管家等等这些大家在熟悉不过的应用都在使用. 插件技术可以 ...

  6. 【腾讯Bugly干货分享】Android 插件技术实战总结

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/1p5Y0f5XdVXN2EZYT0AM_A 前言 安 ...

  7. 卸载 插件_永远都不会卸载的CAD插件,好用到怀疑人生

    相信大家都用过不少好用的CAD插件,下面这几款你用过吗?随时让你效率倍增,工资猛涨!今天小编就带大家一起看看吧! 1.cad迷你建筑工具箱 这款永久免费的CAD插件有什么神奇的地方呢?其实其可以用于家 ...

  8. cad求和插件_黑科技 | 无BIM建模下平面CAD自动生成门窗表

    如果你接到的施工图既不是用天正出的,也不是用revit出的,还得统计门窗表,那么你需要读完这篇文章. 为了能够让自己和所有底层同行们从这项无脑又烧脑的机械劳动中解脱,C君近期利用茶余饭后的时间开发了一 ...

  9. cad小插件文字刷_小懒人CAD插件管理工具

    小懒人cad插件管理工具是一款CAD插件管理软件,可以帮助用户管理CAD插件,不需要单个安装,支持一键加载,小懒人CAD插件管理软件不需要安装,下载即可使用.有需要的小伙伴欢迎来西西下载. 软件特征: ...

最新文章

  1. 今天带你们走进缓存的雪崩、击穿、穿透基本概念
  2. PTA 基础编程题目集 7-13 日K蜡烛图 C语言
  3. Oracle session解释
  4. 用top方法查看内存消耗的方法
  5. 今日arXiv精选 | 14篇EMNLP 2021最新论文
  6. java js 执行效率_JavaScript提高加载和执行效率的方法
  7. LeetCode 665. 非递减数列(双指针)
  8. html 模板 引用,模板引用说明
  9. HTML5程序设计 SVG
  10. NeatUpload 同时选择并上传多个文件
  11. matlab程控开关,基于单片机和FPGA设计的程控滤波器(MAX297+LTC1068)
  12. 未来IT技术展现——虚拟化技术大盘点
  13. FIN断开-TCP segment of a reassembled PDU-原因分析
  14. JavaScript基础学习笔记
  15. [Codeforces Round #428 DIV2E (CF839E)] Mother of Dragons
  16. LaTeX中的拼写及语法检查
  17. 【广告计算】互联网控制舆论的三个方法
  18. 登录前的人机验证VAPTCHA
  19. Windows10系统电脑怎么查看自己电脑虚拟化技术是否开启?
  20. 安卓 体验linux mux,Linux下TI omap芯片 MUX 配置分析(以AM335X芯片为例)

热门文章

  1. Java使用JDBC向数据库存取二进制数据(如图片,视频,音频等)
  2. SAP中销项税MWSI和MWST区别
  3. 将Typora中的md文件导入博客中时,图片无法存入,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传]
  4. vue3 引入高德地图实例
  5. python request大批量发送请求调用接口时,报错:[WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
  6. Docker本地仓库
  7. Makefile十之origin函数
  8. php 获取来源域名方法,PHP实现获取域名的方法小结_PHP
  9. 游戏开发入门图书推荐
  10. 03概率论与数理统计笔记 多维随机变量——基于《概率论与数理统计》许忠好