关于向标准添加分类支持

如果希望您的标准可处理分类,那么,在为分类名称创建资源集之后,需要向标准中添加一个类型为 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 分类