IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> AutoCAD2019+vs2019+C# 二次开发学习笔记day01(持续更新) -> 正文阅读

[开发工具]AutoCAD2019+vs2019+C# 二次开发学习笔记day01(持续更新)

目录

一、新建项目

1、应用程序 目标框架 选择 4.7.2版

2、生成 目标平台选择x64

3、调试 启动外部程序 选择 acad.exe

二、添加autocad类库

三、如何运用命名空间

1、[CommandMethod("***")]

2、简单了解一些命名空间

3、编辑的命令如何添加对应头文件

四、调用命令打开AutoCAD,通过命令打印自定义内容


一、新建项目

打开vs2019,新建项目,选择C# 类库,框架选择(.NET Framework 4.7.2)

然后需要配置一些东西,避免以后出现错误

项目名右键选择属性

1、应用程序 目标框架 选择 4.7.2版

2、生成 目标平台选择x64

3、调试 启动外部程序 选择 acad.exe

二、添加autocad类库

在解决方案资源管理器里找到引用,右键选择添加引用,

浏览里找到三个文件 acmgd.dll、acdbmgd.dll、accoremgd.dll添加进来

?这三个文件是在cad安装路径里,例如我的路径是E:\CAD\Autodesk\AutoCAD 2019

当然也可以查看类库里存在的内容,比如说是acdbmgd库,右键选择在对象浏览器中查看,里面存在很多的命名空间。

三、如何运用命名空间

使用一个方法,前面加一个? ?CommandMethod

1、[CommandMethod("***")]

这里怎么理解呢,就是AutoCAD命令窗口内输入的命令为test01时,就会自动调用下面的函数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Yztest1
{
    public class Class1
    {
        //加一个命令
        [CommandMethod("test01")]
        //紧接着写一个函数
        public void test01()
        {

        }
    }
}

2、简单了解一些命名空间

下面对一些命名空间中出现的词进行简单的了解,以后慢慢都会学习到的

Application指Autocad这个软件
Document Manager包含所有的document对象(每一个打开的图形都有一个对应的document对象)
Document Window Collection包括所有的document窗口对象(在DocumentManager中的每一个document对象都有一个document窗口)
InfoCenter包括对信息中心(InfoCenter)工具栏的引用)
MainWindow包含对Autocad应用程序窗口对象的引用
MenuBar包含对Autocad菜单栏对应的COM菜单栏对象的引用
MenuGroups包含COM的菜单组对象的引用,它包含每一个加载的CUIx文件的定制组名
Preferences包含COM的参数选项对象的引用,它允许你修改选项(Options)对话框中的许多设置
Publisher包含Publisher对象的引用,它用于发布图形
StatusBar包含应用程序窗口的状态栏对象的引用
UserConfiguration包含UserConfiguration对象的引用

?其中的Document Manager 里包含的Document还包含了更多,这个表后面持续更新

Database

图形数据库
Editorautocad里面的命令行

3、编辑的命令如何添加对应头文件

要注意一些命令是需要对应的头文件的,比如下面的:

CommandMethod命令需要引用 using Autodesk.AutoCAD.Runtime头文件

Editor命令需要引用? using Autodesk.AutoCAD.EditorInput头文件

Application命令需要引用?using Autodesk.AutoCAD.ApplicationServices头文件

.........

那么在确定添加autocad相关的类库之后还会报错的情况下如何添加正确的头文件呢?

将鼠标放在报错地方,然后点击alt+enter就会跳出可选择的头文件,比如下面的图:

四、调用命令打开AutoCAD,通过命令打印自定义内容

输入命令如下:?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//新添的头文件
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;

namespace Yztest1
{
    public class Class1
    {
        //加一个命令

        [CommandMethod("test01")]

        //紧接着写一个函数
        public void test01()
        {
            //声明命令行对象
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            ed.WriteMessage("我是无敌哒无敌哒小可爱");
            
        }
    }
}

将代码运行,autocad就会自动启动,新建一个cad文件

在cad下面命令窗口输入NETLOAD命令,找到vs里面刚才代码生成的类库,

例如我的路径是E:\vsandcad\Yztest1\Yztest1\bin\Debug\Yztest1.dll 文件

出现了安全性问题,始终加载就可以了

然后就可以在命令窗口输入代码命令CommandMethod后面的test01

啊哈哈哈哈成功!!?

之前可以发现Debug文件里?有很多文件,也可以通过以下操作缩减一下:

选中后来引用的三个 文件,右键属性里,复制本地将true改成false

修改后再运行程序查看文件就可以发现文件减少了

?

今天就到这明天继续~?

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:19:34  更:2022-05-08 08:20:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 7:06:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码