CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

相关分类

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

2023-1-2 21:47| 发布者: admin| 查看: 371| 评论: 0|来自: AutoCAD

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

插件是 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 程序或批处理标准检查器独立应用程序中时发生。插件根据以下条件之一进行初始化:

  • 打开具有关联图形标准 (DWS) 文件的图形和插件将启用以进行检查。
  • 使用 CAD 标准对话框或批处理标准检查器启用插件。

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

实现错误迭代方法

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

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

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

实现错误和修复检索方法

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

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

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

实施错误修复

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

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

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

实现报告方法

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

“检查标准”对话框

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

批次标准检查器

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


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-11 18:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部