如果希望您的标准可处理分类,那么,在为分类名称创建资源集之后,需要向标准中添加一个类型为 AecSpaceOffsetClassification 的对象。此类将处理标准的所有分类相关功能,以及所实施的规则内所有的分类相关功能。
下例说明了填充图形所需的步骤,该图形是用分类定义应用标准的。此填充必须在 AecSpaceOffsetStandard.InitDatabase 虚拟基类方法中进行,因为需要将分类添加到使用此标准的每个新图形中。下例显示了如何创建一个新 AecSpaceOffsetClassification 对象并将其初始化到当前处于活动状态的数据库中。
namespace AecSpaceOffsetStandardISA {public class AecSpaceOffsetStandardISA: AecSpaceOffsetStandard {}public AecSpaceOffsetClassification classification public AecSpaceOffsetStandardISA() { } protected override void InitDatabase(Database database) {}classification = new AecSpaceOffsetClassification(); classification.Init(}database, Assembly.GetExecutingAssembly(), new CultureInfo(SystemObjects.DynamicLinker.ProductLcid, true); "AecSpaceOffsetStandardISA.AecSpaceOffsetStandardISAClassifications", "Classification Name" );
AecSpaceOffsetClassification.Init 方法的定义如下:
public void Init(Database database, Assembly assembly, CultureInfo culture, string resBaseName, string classificationSetName)
前三个参数通常在所有情况下都相同。第一个参数是需要应用分类集的数据库。第二个参数是实施标准插件的当前程序集。第三个参数是将要为其设置分类的本地化设置(本例中使用的是 AutoCAD Architecture 2022 toolset 的当前设置,这也是推荐的步骤)。第四个参数是程序集资源中字符串表的名称。最后一个参数定义了 AutoCAD Architecture 2022 toolset 中分类集的名称。该参数也应该进行本地化,因为其对用户可见。但是,本节仅重点介绍分类处理。在正确设置了资源文件的情况下运行标准时,图形现在包含的分类定义应仅适用于在将该标准指定给图形时,在资源字符串表中定义的名称。
图形中插入的 BOMA 分类