栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

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

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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:CADAutodeskAutoCAD 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:vsandcadYztest1Yztest1binDebugYztest1.dll 文件

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

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

啊哈哈哈哈成功!! 

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

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

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

 

今天就到这明天继续~ 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984335.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号