当前位置> 网站首页 > CAD技巧 >


AutoCAD二次开发c#语言中的一些核心概念解释
最后修改: 2025-03-27作者: [db:作者]点击:

为了后面学习更好理解,我们先来了解下在 C# 的 AutoCAD 二次开发中,这些面向对象编程的核心概念,以下是用日常生活中的比喻来帮助大家理解:

名词解释:

1、命名空间 (Namespace)

是什么:类似一个「工具箱分类标签」。

比如?Autodesk.AutoCAD.ApplicationServices?是专门存放 AutoCAD 应用相关工具的“工具箱”。

作用:防止不同功能的类重名,方便代码组织。

2、类 (Class)

是什么:像「设计图纸」。

例如?Document?类是一份“图纸”,描述了 AutoCAD 中打开的文档的结构。

作用:定义一类对象的模板,比如如何操作文档。

3、对象 (Object)

是什么:根据「图纸」造出的「实物」。

比如?doc = Application.DocumentManager.MdiActiveDocument?就是根据?Document?类创建的实际文档对象。

作用:通过操作对象(比如保存文档)实现功能。

4、方法 (Method)

是什么:对象的「动作能力」。

比如?doc.Save()?是让文档对象执行保存动作。

作用:定义对象能做什么(动词形式)。

5、属性 (Property)

是什么:对象的「特征值」。

比如?doc.Name?是文档的名字(如“Drawing1.dwg”)。

作用:获取或设置对象的状态(名词形式)。

6、事件 (Event)

是什么:对象的「通知机制」。

比如当用户保存文档时,会触发?DocumentManager.DocumentSaved?事件。

作用:让外部代码订阅响应(如保存后自动备份)。

7、特性 (Attribute)

是什么:代码的「标记标签」。

比如?[CommandMethod("MyCommand")]?标记一个方法,使其成为 AutoCAD 命令行可调用的命令。

作用:为代码添加元数据(不影响逻辑,但影响行为)。

 

关键区别

AutoCAD二次开发c#语言中的一些核心概念解释

实际场景示例

// 命名空间引用
using Autodesk.AutoCAD.ApplicationServices;
// 类定义
public class MyCommands

{
????// 特性:标记这是一个 AutoCAD 命令
????[CommandMethod("Hello")]
????public void HelloCommand()
????{
????????// 获取当前文档对象
????????Document doc = Application.DocumentManager.MdiActiveDocument;
????????// 使用属性获取文档名
????????string name = doc.Name;
????????// 调用方法弹出消息
????????doc.Editor.WriteMessage($"Hello, {name}!");
????????// 订阅文档关闭事件
????????doc.Closing += (s, e) => { /* 关闭前的操作 */ };
????}
}

关于我们| 使用指南| 联系我们| 内容提交| 关于隐私| 广告服务| 版权声明| 免责声明| 友情链接|

  • 网上110报警
  • 360网站安全
  • 工信部网站备案
  • 支付宝商家服务