英语原 X
查看原始 X

第1课:AutoCAD基本插件

beplay官网客服电话涉及的产品和版本
AutoCAD

我的第一个AutoCAD插件概述>>第一课>>教训2>>第三课>>4课>>5课>>第六课>>第七课>>8课

在本课中,您将创建您的第一个基本AutoCAD插件,以保持块属性平行于WCS x轴。

所有演示的视频都是为AutoCAD 2013录制的,但它适用于后来的版本。

提供反馈:请通过电子邮件提供关于本次AutoCAD培训或本课的反馈:myfirstplugin@autodesk.com

课程下载

lesson1_AutoCAD_2023_projects(zip - 24KB)
lesson1_archive_2022_and_earlier_project_files(zip - 114KB)

创建第一个插件的步骤


  1. 启动Visual Basic开发环境:
    使用Windows打开Visual Studio 2019社区开始菜单,选择所有程序/所有应用程序,然后微软Visual Studio 2019社区.注意:如果您正在使用AutoCAD 2014至2016,您也可以使用本指南使用Visual Studio 2012 Express,在存档文件夹中提供了Visual Basic 2012、2010和2008的项目。
  2. 创建一个类库项目:
    在Visual Studio社区内部,在文件”菜单上,单击“新项目*.在安装模板选项卡在左侧窗口,单击Visual Basic.在中间窗口中,单击AutoCAD 2022 VB插件(如果你在你的模板列表中没有看到这个,请务必查看概述部分中的“开始前要安装的软件”)。输入KeepAttributesHorizontal的名字盒子。然后点击好吧

*如果您正在使用已完成的示例项目,而不是从我们在这里提供的步骤从头开始,我们假设您已经将AutoCAD安装到C:\Program Files\Autodesk\AutoCAD 2022文件夹。如果您的AutoCAD安装位置与此不同,那么为了能够调试已完成的示例项目,您必须遵循这些步骤

  1. AutoCAD。现在将显示NET向导配置器对话框。单击省略按钮在最上面的空文本框旁边;的内容所提取的位置显示的文件夹选择对话框中进行浏览ObjectARX 20 xxSDK,并选择公司子文件夹。对其他文本框执行同样的操作,并选择AutoCAD安装文件夹- AutoCAD 20xx的默认位置是C:\Program Files\Autodesk\AutoCAD 20xx.保持其他选项的默认值并单击好吧



    Visual Studio Community将为您创建一个默认代码项目,并在代码窗口中显示该代码。
  2. 保存项目:

文件”菜单上,单击“保存所有.在显示窗口类型C: \测验或您的首选文件位置)位置框,然后单击保存

  1. 关闭并重新打开项目:
    文件”菜单上,单击“关闭项目;然后在文件”菜单上,单击“近期项目及解决方案并选择KeepAttributesHorizontal从名单上。这是为了确保Visual Studio为它的智能感知特性正确地解析了项目文件。
  2. 检查引用:
    解决方案资源管理器窗口右侧的Visual Studio Community窗口,双击我的项目。

  3. Visual Studio Community现在显示您的项目设置,而不是您的代码窗口。点击参考文献Tab,检查一下AcCoreMgd, AcDbMgd而且AcMgd显示在列表中,并且它们的路径正确地显示到ObjectARX 20xx\inc文件夹的路径。

    如果由于某种原因AcCoreMgd, AcMgd和AcDbMgd没有列出,单击添加……按钮,选择参考……,浏览到ObjectARX\inc文件夹并选择这些文件。然后选择列表中的每个引用,在Visual Studio Community窗口右下角的窗口中查看其属性,并将Copy Local属性设置为False。
  4. 添加代码:
    双击MyCommands.vb解决方案资源管理器窗口显示代码编辑窗口。删除此窗口中的所有内容,然后键入以下Visual Studio Community。为了获得使用Visual Studio Community进行开发的完整体验——包括使用IntelliSense等特性——我们建议您从本指南中输入代码,而不是复制和粘贴它。然而,如果你时间有限,你可以从本教程复制粘贴到Visual Studio Community代码窗口,或者直接下载本课的完整项目文件,并在Visual Studio Community中打开它。这将减少您从直接使用代码中获得的经验,因此我们不建议这样做。
导入Autodesk.AutoCAD.Runtime导入Autodesk.AutoCAD.DatabaseServices导入Autodesk.AutoCAD.Geometry命名空间HorizontalAttributes公共类命令的类变量来存储我们的overrule Private Shared myOverrule作为keep直toverrule的实例
               公共共享子实现verrule()'我们只想创建我们的overrule实例一次,'所以我们在创建它之前检查它是否已经存在'(即这可能是我们第二次运行该命令)如果myOverrule是什么,那么'实例化我们的overrule类myOverrule = New keep直toverrule '注册overrule overrule。adoverrule (RXClass.GetClass(GetType(AttributeReference)), myOverrule, False)结束我们的自定义否决类派生自TransformOverrule公共类keep直toverrule继承TransformOverrule我们想改变AttributeReference如何响应被转换(移动,旋转等),所以我们重写它的标准TransformBy函数。Public override subtransformby (ByVal entity As entity, ByVal transform As Matrix3d)为属性引用调用普通的TransformBy函数。MyBase。TransformBy(实体、转换)'我们知道实体必须是AttributeReference '因为'这是我们注册了否决的唯一实体。Dim attRef As AttributeReference = entity '设置属性引用的旋转为0(水平)attRef。Rotation = 0.0结束子结束类结束命名空间您还可以选择删除该文件MyPlugin.vb来自项目。在解决方案资源管理器中右键单击MyPlugin.vb并选择删除。如果你不删除它也没关系-默认代码在那里没有做任何事情。不要担心代码的细节,你将在第三课(EK3).现在,知道绿色的文本是“comments”就足够了。这不是程序代码本身——它是解释代码正在做什么的文本。在你的项目中编写全面的注释是非常重要的——即使是最好的程序员,当他们在六个月后重新使用他们的代码时,也会忘记他们的代码应该做什么。如果您现在通读注释,您可能会对代码的功能有一个很好的了解。

  1. 保存文件:
    文件”菜单上,单击“保存所有
  2. 构建项目:
    您所编写的代码是人类可读的形式。为了使代码能被计算机读懂,你需要翻译它或“构建”它。

    在Visual Studio社区内部,在构建”菜单上,单击“构建KeepAttributesHorizontal来编译和构建插件。“建立成功”消息将显示在Visual Studio Community窗口的状态栏中,如果代码已成功构建。

就是这样!您刚刚为AutoCAD编写了第一个插件。让我们运行它,看看它能做什么。

运行插件

  1. 开始AutoCAD。
  2. 打开BlocksWithAttributes.dwg绘画。
  3. 将插件加载到AutoCAD中:
    在AutoCAD命令行上输入NETLOAD,然后输入。在出现的文件对话框中,导航到刚才使用Visual Studio构建的. net DLL的位置。如果您将项目保存在C: \测试,这将是C: \ \ KeepAttributesHorizontal \ KeepAttributesHorizontal \ bin \发布测试.选择KeepAttributesHorizontal.dll文件,单击“打开”。

  4. 测试插件:
    在命令行输入KEEPSTRAIGHT并点击—这将运行您在插件中定义的自定义命令。您的插件现在正在修改AutoCAD中打开的每个绘图中的每个属性的行为。要查看这种变化的行为,使用ROTATE命令旋转BlockWithAttributes.dwg中的每个块插入。当您跳汰块时,您将看到它的属性保持与WCS x轴平行。

    请注意—属性的修改是永久性的。如果不想保留更改,请不要保存绘图。

恭喜你!您刚刚为AutoCAD编写了第一个插件。您将在第3课中详细回顾这些代码。

在继续学习下一课之前,让我们回顾一下前面跳过的一些内容,从编程的基本概念开始,以及它可以为您的日常工作带来的好处。

额外的话题

编程概论

您刚刚执行的用于更改绘图中属性行为的Visual Basic . net代码长度小于30行(忽略空行和注释)。在这里,您可以看到少量代码以类似于任何内部AutoCAD命令的方式工作。如果AutoCAD的新手看到您的插件在工作,他们会认为这是一个新的AutoCAD功能。软件编程允许您一次捕获特定功能的逻辑,然后一次又一次地获得好处——每次您想要执行该功能时。

什么是编程?

对这个问题的简单回答是:计算机编程是创建指令序列告诉计算机做某事的过程。你可以把你的程序看作一个指令序列。在本教程的其余课程中,您将学习如何解释您正在编写的各种代码行告诉计算机要做什么。

如果你要向一个小孩解释计算机,你可以说:计算机是一种按照你提供的指令运行的工具。编程是向计算机发出指令的一种方式。在内部,计算机将这些指令编码为一系列数字(也称为代码)。你在本课开始时看到的人类可读的指令集被称为代码和计算机将这些指令转换成机器代码,然后它可以读取和执行。这样的指令序列(或代码),用来执行特定的任务,称为程序这样的程序和相关数据的集合被称为软件.AutoCAD就是这样一个软件产品。

源代码可以用不同的语言编写,就像人类使用不同的语言进行交流一样。你将在本指南中使用的语言是Visual Basic . net,通常称为VB。NET的简称。('。NET '的发音是' dot NET ')。

请注意- Visual Basic. net是微软Visual Basic的最新版本。不要将它与Visual Basic 6或Visual Basic for Applications (VBA)混淆,后者要老得多,功能远不及Visual Basic . net。

什么是API?

API是应用编程接口:软件程序员与软件产品沟通的方式。例如,AutoCAD API是程序员使用AutoCAD的方式,它确定了软件程序员可以在AutoCAD中使用哪些功能。例如,您可以编程AutoCAD向绘图中添加一条线,因为AutoCAD通过其API公开了这样做的功能。

换句话说:商业软件公司,如Autodesk,经常分发一套软件您可以在自己的程序中使用它来与特定的软件产品(如AutoCAD)交互,并扩展其功能。这组库被称为软件产品的API。

用于与软件产品交互并扩展其功能的程序类型取决于API是如何设计的,以及(通过API)为您提供了哪些功能。

什么是插件?

软件插件是一种程序模块(或文件)向软件产品添加功能,通常以命令的形式自动执行任务或对产品行为进行一些定制。当你谈论AutoCAD插件时,你可能也会听到术语“插件”或“应用程序”,我们指的是一个包含使用AutoCAD API的代码的模块。AutoCAD加载这些插件,并使用它们在某些条件下调整其行为,例如当插件的用户执行特定命令时。

AutoCAD没有安装在默认位置

已完成的示例项目假设您已将AutoCAD安装到C:\Program Files\Autodesk\AutoCAD 20xx文件夹中。如果AutoCAD的安装位置与此不同,则为了能够调试已完成的示例项目,您必须:

  • 使用AutoCAD . net Wizard模板创建一个新项目(如第1课所述),并将已完成的项目中的代码复制到新项目中。
  • 手动编辑完成的项目文件,如下所述。

手动编辑完成的项目文件

Visual Studio Community的一个限制是一些项目设置不能通过用户界面进行编辑。这些隐藏设置之一是AutoCAD可执行文件(acad.exe)的位置,您将. net插件加载到该文件中以调试它。要更正AutoCAD安装位置所提供的已完成项目:

  • 打开项目文件夹,找到.vbproj. exe文件。项目的用户文件。以MyBonusPlugin项目为例,你需要的文件是:MyBonusPlugin \ MyBonusPlugin \ MyBonusPlugin.vbproj.user
  • 在记事本或任何其他文本编辑器中打开该文件。
  • 在文本中搜索文本字符串“C:\Program Files\Autodesk\AutoCAD 20xx\acad.exe”
  • 对于每次出现的文本,将其替换为计算机上acad.exe的实际路径。
  • 保存文件。您现在应该能够从调试器中启动AutoCAD,就像使用AutoCAD . net向导创建的新项目一样。

下面是.vbproj的一个例子。显示您需要替换的字符串的用户文件内容(确保您更新了文件路径以匹配您正在使用的AutoCAD版本):

<?XML版本="1.0"编码="utf-8"?>
< PropertyGroup >
< ReferencePath > C: \ ObjectARX20 xx\公司;C: \ ObjectARX20 xx\ \公司inc-win32 < / ReferencePath >
< PublishUrlHistory / >
< InstallUrlHistory / >
< SupportUrlHistory / >
< UpdateUrlHistory / >
< BootstrapperUrlHistory / >
< ErrorReportUrlHistory / >
< FallbackCulture > en - us < / FallbackCulture >
假< / VerifyUploadedFiles < VerifyUploadedFiles > >
< / PropertyGroup >

             
StartProgram >C:\Program Files\Autodesk\AutoCAD 20xx\acad.exe< / StartProgram >
< StartAction >项目< / StartAction >
< / PropertyGroup >
< StartAction >项目< / StartAction >
< StartProgram >C:\Program Files\Autodesk\AutoCAD 2023\acad.exe< / StartProgram > < / PropertyGroup >
> < /项目

我的第一个AutoCAD插件概述>>第一课>>教训2>>第三课>>4课>>5课>>第六课>>第七课>>8课

网站版本:2.132.0
Baidu
map