gpt4 book ai didi

c# - AutoCAD 插件开发示例

转载 作者:行者123 更新时间:2023-11-30 20:28:18 25 4
gpt4 key购买 nike

我对开发 AutoCAD 插件感兴趣,并试图了解几种不同类型的 AutoCAD 插件文件之间的关系:

  • 随 AutoCAD 插件一起提供的托管 DLL
  • ARX files附带 AutoCAD 插件
  • CUIX files附带 AutoCAD 插件

据我所知,这三个文件都是相互关联的,并且一起工作来初始化和加载插件,我只是看不到透过树木看到森林关于每个文件的信息类型包含、加载哪些文件或依赖于其他文件等。

听起来插件的核心功能应该放在 ARX 文件中,并用 C++ 编写并针对 native /目标平台进行编译。

听起来就像在启动时,AutoCAD 加载其插件 DLL,这些都是托管 .NET 库(通常用 C# 编写),然后它们调用其 native /编译的相应 ARX 文件。至于CUIX文件在哪里发挥作用,我仍然不知道。

任何人都可以帮助解释这些文件的关系和依赖关系,以及它们内部的代码/逻辑/数据类型是什么?提前致谢!

最佳答案

AutoCAD 核心库都是用非托管代码编写的(我相信是 C++)。最终,无论您选择哪种 API 来开发插件,您都将通过这些核心库的 API 之一来操作这些核心库中的非托管 AutoCAD 对象。除了您提到的三种类型的文件之外,还有许多其他方法可以为 AutoCAD 创建插件。一些示例包括:Lisp 脚本、VBA 脚本、COM 客户端(VB、Java、Delphi)。其中大多数现已过时,而如今 .Net 和 C++(ObjectARX) API 最为流行。然而,由于遗留原因,其余的仍在使用。如果您要开始一个新模块,您可以使用 .Net 或 ARX。

.NET API 是一组包装 ObjectARX API 的 .NET 包装器库。您最常引用的 dll 是 accoremgd.dllacdbmgd.dllacmgd.dll,但还有其他一些。这些库允许您通过 .NET 语言操作 native AutoCad 对象。如果您想使用 C# 创建 AutoCad 插件,那么您只需要使用 C# 进行编码。它对于开发速度很有帮助,但代码的性能会比 ARX 插件稍逊一筹。话虽这么说,我真的想强调它仍然非常快。由于性能问题,我还没有发现需要为 AutoCAD 使用 C++ 进行编码。总体而言,它非常强大且功能丰富。仅使用 C# 就可以很好地对绘图进行任何操作。

看看at this我最近给出的答案。它应该可以回答您有关 .Net 中 AutoCAD 插件开发入门的大部分(如果不是全部)问题。

ObjectARX API 与我所描述的 .NET API 非常相似,只不过您使用 C++ 进行编码。一些库还包括rxapi.libaccore.libacgiapi.libacdrawbridge.lib和其他一些人一样。使用 C++ 开发比使用 C# 开发要麻烦得多,但 C++ 代码运行速度更快,尽管差距不是很大。

CUIX 文件存在于完全不同的星系中。它们用于自定义 UI 以及其他相关内容。您可以browse various uses of cuix files here .

您的选择实际上取决于您正在做什么。如果您正在编写能够尽快批量处理数十万张绘图的代码,您将需要探索 C++ API。如果您只处理数百张绘图或只是为用户创建一堆命令,我强烈建议您使用 C# API。用户几乎察觉不到的性能小影响是值得的。

欲了解更多信息,go to this AutoDesk link ,然后向下滚动到培训实验室。我建议您至少通读一下 ObjectARX 和 .NET 培训实验室。一旦您选择了要使用的内容,请浏​​览所有实验室以选择您所选择的实验室。稍后您会感谢自己,因为您将节省无数个小时的头痛和沮丧!

祝你好运!

关于c# - AutoCAD 插件开发示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47717868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com