目录

前言

开发需要做什么准备?

编写自己的第一个程序


前言

本课程主要针对刚接触Cad二次开发或者准备入门Cad二次开发的朋友,笔者是用的C#进行开发,在该系列教程内,笔者会带着大家从最基础的开发到一些常见的实战案例学习,笔者也曾经历过新手期,那种无助感我是深有体会的。

笔者水平有限,但我会毫不保留地将所学和大家进行分享,希望该系列教程能真正的帮助到你们,也希望路过的大佬多多指正,话不多说,咱直接开始咱们的第一课!

开发需要做什么准备?

正所谓工欲善其事,必先利其器。在进行正式开发之前,一些必不可少的工具是肯定的,Cad开发的环境搭建比较简单,只需要安装下面两个软件就行啦!

        1.AutoCad 2016

AutoCad的作用,笔者看来无非就是一个调试的作用,也就是拿来测试你写的插件有没有BUG,开发中所用到的API都可以从其它安装了AutoCad的电脑上拷贝下来,有朋友就问:能不能不装呢?当然不行,很简单,不装怎么调试...

笔者使用的是2016版,所以本教程也是基于AutoCad016进行二次开发。(其实只要安装了AutoCad就行,版本无所谓,但是如果无特殊需求,笔者还是建议安装高版本,因为高版本无论从运算速度还是提供的类、方法都优于低版本,但是高版本开发有一个缺点,那就是不能向下兼容,意思就是如果你是基于AutoCad2016开发的插件,是不能在低于2016版本的Cad上运行的。)

为了避免你们网上到处下载踩坑,我给你们准备好了百度网盘链接,需要的自己下载:

AutoCad 2016 32位:https://pan.baidu.com/s/1JFZxqnyUQ3Pxh2hX_ClRKQ?pwd=wkfm

AutoCad 2016 64位:https://pan.baidu.com/s/1MRmtp6wcu7zjc-9zPstgFg?pwd=c4fj

    2.Visual Studio 2015

编译器,直接上链接:https://pan.baidu.com/s/1uE_Fc4P2LEwPeK6QtAvg3Q?pwd=691e

开发环境安装顺序没有要求,先装哪一个都是一样的,唯一的就是不建议装在系统盘,安装好后的软件就长这样:

 安装过程比较慢,需要耐心一点,安装好了就可以开始编写我们的第一个程序啦!

编写自己的第一个程序

首先我们来了解一下:如何在CAD命令行输出自己的文本内容?

        需求:在命令行输出内容“我的第一个CAD程序”

首先我们启动我们的编译器(Visual Studio 2015,以后咱们都简称为VS),点击面板左侧的“新建项目”选项,如下图所示:

在弹出的对话框选择语言"Visual C#",类型选择“类库",将项目名称改为”我的第一个CAD程序",如下图所示:

新建项目完成后,在解决方案管理器面板处分别添加引用:acdbmgd.dllacmgd.dll、accoremgd.dll(这三个文件位于CAD的安装目录下),如下图所示:

 添加命名空间:

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;

新建主方法HelloWorld(CAD会执行该方法代码段,需要注意的是:主方法的可访问性必须为public,否则CAD无法识别代码块),具体代码如下:

        /// <summary>/// 程序入口标识/// </summary>[CommandMethod("HelloWorld")]public void HelloWorld(){Document adoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;//获取当前打开的文档Editor edt = adoc.Editor;//获取当前文档编辑器edt.WriteMessage("\r\n我的第一个CAD程序!");//用于在命令行输出一条内容}

点击生成解决方案

这里说明一下,C#编写的插件格式为dll格式,解决方案生成完成之后,打开我们的项目文件夹>bin>Debug,会发现有很多dll文件,我们只需要找到与我们项目名称一样的dll文件即可(其它文件不用管),如下图:

这样我们的第一个CAD程序就写好了,现在我们可以打开CAD测试一下:首先打开CAD,在命令行输入NETLOAD,找到刚才生成的dll文件并加载到CAD

加载完成之后,我们输入命令”helloworld"然后回车,如下图可以看到命令行已经将我们的文本进行了输出,恭喜你,已经完成了你的第一个CAD程序。

本节内容代码:

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;namespace 我的第一个CAD程序
{public class Class1{/// <summary>/// 程序入口标识别/// </summary>[CommandMethod("HelloWorld")]public void HelloWorld(){Document adoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;//获取当前打开的文档Editor edt = adoc.Editor;//获取当前文档编辑器edt.WriteMessage("\r\n我的第一个CAD程序!");//用于在命令行输出一条内容}}
}

(看完了本节内容是不是觉得CAD二次开发很简单?啥?代码没看懂?没关系,本节课只是带你们大概了解一下CAD二次开发的一个基础过程,后续代码我会详细说的!

what?连基础软件环境都不会安装?如果基础软件环境不会安装,可以进行百度查找安装教程,什么?看不懂?懒得看?天老爷哟~拿你们没办法,实在不会的小可爱就私信我哟,好了,本节内容就到这里了,对CAD二次开发感兴趣的朋友可以持续关注我哟,下节内容继续)

C# Cad二次开发新手入门系列教程(一)开发环境搭建相关推荐

  1. C# Cad二次开发新手入门系列教程(二)Line对象

    目录 Line对象说明 创建一个Line对象 Line对象说明 Line对象为CAD中的直线,什么是直线,严格来说CAD中的直线并非数学中定义的直线,实际上CAD的直线只是一个线段而已!那么在数学上我 ...

  2. python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  3. 安卓开发基础入门系列教程

    第一章:环境搭建与开发相关(已完结 10/10) https://blog.csdn.net/coder_pig/article/details/50000773 Android基础入门教程--1.1 ...

  4. 手把手教你搭建一个【文件共享平台】系列教程第二话——环境搭建

    文章目录 本话概要 前端 前端整体需求 前端组件树 前端环境搭建 后端 后端整体需求 后端技术路线 后端环境搭建 下期预告 本话概要 这一篇博文主要从整体的角度,概述整个文件共享平台前.后端的需求.技 ...

  5. 易语言零基础新手入门系列教程 第一课

    机器人小鑫易语言源码(作业用): 机器人小鑫源码 - 第一课.zip 视频教程文字版: 新手学习易语言的几点建议 1.由浅入深.由易到难.循序渐进,切勿急功近利,想一步登天! 这是学习的一般规律,学习 ...

  6. R语言入门系列-软件下载,环境搭建,数据导入导出

    1. 为什么是R? 现在数据科学,深度学习领域最受欢迎的是Python, 那么为什么要学习R语言,Python 和 R 的优势分别在哪儿? 简单来说,R语言更适用与研究,偏数理统计,小而精,适合将来做 ...

  7. 渗透测试入门DVWA 教程1:环境搭建

    首先欢迎新萌入坑.哈哈.你可能抱着好奇心或者疑问.DVWA 是个啥? DVWA是一款渗透测试的演练系统,在圈子里是很出名的.如果你需要入门,并且找不到合适的靶机,那我就推荐你用DVWA. 我们通常将演 ...

  8. SEO新手入门系列2022(二):SEO 101

    这是<SEO新手入门系列教程>的第二篇文章,一看标题就应该清楚这篇文章讲的是SEO基础知识,没有任何高大上的东西,如果对SEO基本概念有了解的朋友可以跳过不需要看,但是如果你是半路出家的S ...

  9. Windchill 二次开发新手入门常用的API

    Windchill_二次开发新手入门常用的API 1.根据零件名称/编码 得到该零件 wt.clients.prodmgmt.WTPartHelper.findPartByName(name) ;   ...

最新文章

  1. argparse.ArgumentParser
  2. chromium关闭更新_Win10今年最重磅更新!Win10 2004正式版详尽体验
  3. js 加总数组中某一列_JS数组求和的常用方法实例小结
  4. VS2010 教程:创建一个 WPF 应用程序 (第一节)
  5. 聊飞行 | 飞机到底是如何起飞的?
  6. thinkphp 连接sql server
  7. java中文转Unicode
  8. TED 演讲 How we can control the coronavirus pandemic? 我们如何控制新冠病毒的传播 ?
  9. 计算机采用流水线目的是什么?
  10. SQL中的where语句的用法及实例——条件查询
  11. JavaScript实现视频播放器
  12. 平面方程(Plane Equation)求解方法
  13. sl4a最新版下载_SL4A Script Launcher
  14. 或许再过两年,ASML将可以自由给中国供应EUV光刻机
  15. CSDN送你一份春节压岁钱,请在 24H 内领取!
  16. SN74LS00N芯片逻辑输出电平
  17. Windows 11系统IDEA启动时报错:Cannot find keymap “Windows copy” 解决办法
  18. 一些著名的软件都用什么语言编写?程序员都熟知这些软件!
  19. Dearpygui制作Linux上SSD测试工具集合
  20. Quia maxime eius ipsa.

热门文章

  1. root无法删除文件原因
  2. class4 决策树之回归树案例
  3. 知识图谱中的余弦相似度计算
  4. 超简单版模拟实现银行中用户存取款业务
  5. C#toolStrip使用
  6. 【关键字】一些关键字用法总结
  7. ubuntu利用.bin文件安装并配置jdk成功
  8. PAT 乙级 ------ 1046~1050 划拳、编程团体赛、数字加密、数列的片段和、螺旋矩阵附思路和代码
  9. IGMP版本原理及比较
  10. bigpipe nodejs实现