После добавления к текущей базе данных классификаций, их можно использовать в подключаемых модулях стандартов расчета площади. Можно определить классификацию исходя из пространства, если к нему применено правило с существующим API .NET для AutoCAD Architecture 2022 toolset. Но это может оказаться сложным, особенно из-за того, что в правилах требуется всегда использовать глобальные имена классификаций для работы со всеми локальными версиями выводимых имен классификаций. Для упрощения используется класс AecSpaceOffsetClassification.
В классе AecSpaceOffsetClassification имеется метод для получения имени глобальной классификации из объекта пространства, которое можно сравнить с именами, определенными таблицей строк ресурсов, для определения границ смещения. Метод представляет собой открытую строку GetClassificationName(Object Id objId). В следующем примере показано правило ограничивающих смежностей, использующее классификации, описанные в примерной таблице выше. Правилу требуется доступ к объекту AecSpaceOffsetClassification стандарта, поэтому стандарт передается конструктору и назначается членам правила. Это означает, что в реализации стандарта InitRules() необходимо создать правило с "такой" ссылкой на текущий стандарт.
public class BoundingAdjacencyRuleGross : AecBoundingAdjacencyRule {private AecSpaceOffsetStandardISA standard; public BoundingAdjacencyRuleGross(AecSpaceOffsetStandardISA standardISA) {}standard = standardISA;} public override AecSpaceOffsetInfo Apply(ObjectId idSpace, ObjectId idObject, ObjectId idAdjSpace) {String classificationNameThis = ""; String classificationNameAdjacent = ""; if (!idSpace.IsNull) {}classificationNameThis = standard.Classification.GetClassificationName(idSpace);} if (!idAdjSpace.IsNull) {classificationNameAdjacent = standard.Classification.GetClassificationName(idAdjSpace);} if (idAdjSpace.IsNull || classificationNameAdjacent =="Exterior") {return new AecSpaceOffsetInfo(AecSpaceOffsetType.Opposite);} if (!idAdjSpace.IsNull && classificationNameThis == "Exterior") {return new AecSpaceOffsetInfo(AecSpaceOffsetType.Adjacent);} if (classificationNameThis == "Office") {return new AecSpaceOffsetInfo(AecSpaceOffsetType.Adjacent);} // for the rest return new AecSpaceOffsetInfo(AecSpaceOffsetType.Center);