CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2019 开发者帮助

关于开发和实施 CAD 标准插件 (ActiveX/CSP)

2024-5-18 17:54| 发布者: admin| 查看: 100| 评论: 0|原作者: admin|来自: AutoCAD

关于开发和实施 CAD 标准插件 (ActiveX/CSP)

插件是 COM 服务器,可以使用 C++ 和 ATL、VB6、VB.NET、C# 或任何其他可编译为进程内 DLL 的编程语言创建。

插件必须实现界面,并在 Windows 注册表的 AutoCAD 部分中注册。CAD 标准框架使用接口公开的属性和方法与已注册的插件进行通信。IAcStPlugin2IAcStPlugin2

接口的方法和属性用于执行以下任务:IAcStPlugin2

  • 指定有关 CAD 标准插件的信息
  • 初始化 CAD 标准插件
  • 检索错误和修复;错误是违反了一套既定的 CAD 标准
  • 迭代错误
  • 修复错误
  • 报告发现的错误和应用的修复程序

实现插件属性

创建的每个插件都必须支持接口公开的一组特定属性。这些属性用于标识插件和插件作者将强制执行的标准。插件必须实现以下属性:IAcStPlugin2

  • Author- 指定插件的作者;通常是公司名称。
  • Description- 指定插件的描述。
  • GetObjectFilter- 指定框架应在其中检查错误的对象类型。

    如果未指定对象类型,则会审核图形中的所有对象,并为创建或修改的每个对象生成通知。这会影响用户启用实时标准检查时AutoCAD程序的性能。

  • HRef- 指定统一资源定位符 (URL),可在其中获取有关插件的信息。
  • Icon- 指定插件的图标;HICON 资源。
  • Name- 指定插件的名称。

实现初始化方法

插件的初始化发生在首次加载到 AutoCAD 程序或 Batch Standards Checker 独立应用程序中时。插件根据以下条件之一进行初始化:

  • 打开具有关联绘图标准 (DWS) 文件的绘图,并启用插件进行检查。
  • 使用“CAD 标准”对话框或“批处理标准检查器”启用插件。

该方法是插件的入口点。此方法传递对标准管理器对象的引用,当插件处于活动状态时,可以保存该对象以供将来引用。初始化插件后,将执行该方法,并用于设置要检查的图形以及在检查标准期间要使用的DWS文件。InitializeSetupForAudit

实现错误迭代方法

插件根据一组指定的既定 CAD 标准检查并修复绘图中发现的错误。在修复错误之前,必须识别错误。每个插件都实现一组规则来确定图形中的错误。在实时检查期间或用户手动启动整个图纸的检查过程时,可以识别错误。

要检查错误的对象将作为数组传递给该方法。还会将布尔值传递给该方法,以确定实时检查是否处于活动状态;值 of 表示实时检查处于活动状态,并且只应检查数组中的对象。SetContextSetContextFalse

当 CAD 标准框架执行该方法时,错误检查开始;表示图形中第一个标准冲突的第一个错误对象将传递给该方法。方法完成执行后,将执行该方法以继续单步执行传递给该方法的数组中的每个错误对象。检查错误后,将执行该方法以确定是否存在需要修复的其他错误。如果该方法返回布尔值 ,则执行该方法并继续错误检查。StartStartStartNextSetContextDoneDoneFalseNext

实现错误并修复检索方法

在修复错误之前,必须识别错误并将其与所有可用的修复对象进行比较。使用该方法获取当前错误对象。获取当前错误对象后,可以使用该方法获取可能的修复列表。该方法返回的修补程序是最初作为方法的一部分设置的修补程序。GetErrorGetAllFixesGetAllFixesSetupForAudit

注意:如果插件被设计为报告图形中的错误而不修复它们,则不需要该方法。GetAllFixes

该方法需要一个错误对象和两个变量;第一个变量表示 Fix 对象数组,第二个变量表示建议的 Fix。建议的修复用于自动修复错误。CAD 标准框架使用该方法来支持自动修复错误。建议的错误修复由插件确定,通常是通过比较对象名称或几何属性来确定的。在比较错误对象和修复对象时,可以使用该方法获取属性差异列表。GetAllFixesGetRecommendedFixGetPropertyDiffs

实施错误修复

识别错误并获取所有可用修补程序后,该方法可用于将修补程序应用于错误。该方法不是开发插件所必需的,但需要支持修复 AutoCAD 程序中“CAD 标准”功能的错误。如果未在插件中定义该方法,则会显示一个消息框,让用户知道无法修复错误。FixErrorFixErrorFixError

注意:批处理标准检查器不使用该方法。FixError

使用该方法修复错误时,插件应根据用户是否成功应用了修复程序来更新错误对象的属性。将该属性设置为如果错误可以修复或错误无法修复。在AutoCAD程序中使用CAD标准功能时,如果“将此问题标记为已忽略”,则错误可以标记为已修复或忽略。FixErrorResultStatusResultStatusAcStMgr.AcStResultStatus.acStResFixedAcStMgr.AcStResultStatus.acStResFixFailed

实现报表方法

CAD 标准框架在检查图形中对象的标准后生成报告。报告可以包含发现、修复和忽略的错误数。报告的显示方式因使用的是 AutoCAD 程序中的“CAD 标准”功能还是“批处理标准检查器”而异。

“检查标准”对话框

“检查标准”对话框是 AutoCAD 程序中“CAD 标准”功能的一部分,用于检查和修复图形文件中的标准。选中图形文件后,将显示一个消息框。该消息框列出了找到的错误、手动或自动修复的错误总数以及忽略的错误总数。您的插件不需要跟踪发现、修复或忽略的错误数量,因为这些错误是由 CAD 标准框架处理的。

批次标准检查器

批次标准检查器会生成一份报告,其中包含在检查的图纸中发现的错误。报告将另存为由批处理标准检查器创建的 CHX 文件的一部分。可以使用该方法将有关插件的信息写入报表,而可以使用该方法将有关错误或修复对象的信息写入报表。WritePluginInfowriteData


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-1-19 06:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部