Po přidání klasifikací do aktuální databáze je chcete používat v rámci doplňků plug-in standardu výpočtu plochy. V principu jste schopni určit klasifikaci z prostoru, který je předán do pravidla s existujícím rozhraním API AutoCAD Architecture 2022 toolset .NET. To by však bylo složité, protože je vždy nutné používat v rámci svých pravidel globální název klasifikací, aby bylo možné pracovat se všemi lokalizacemi zobrazovaných názvů klasifikací. Třída AecSpaceOffsetClassification proto poskytuje funkce pro zjednodušení této situace.
Třída AecSpaceOffsetClassification má metodu pro získání globálního názvu klasifikace z objektu prostoru, aby bylo možné provést porovnání s názvy, které definuje tabulka zdrojových řetězců za účelem rozhodnutí, jak odsadit hranice. Metodou je veřejný řetězec GetClassificationName(Object Id objId). Následující příklad ukazuje pravidlo ohraničující přilehlosti, které používá klasifikace popsané v tabulce výše. Protože pravidlo potřebuje mít možnost přístupu do objektu AecSpaceOffsetClassification standardu, standard se předá prostřednictvím konstruktoru a přiřadí se k členu pravidla. To znamená, že budete muset vytvořit pravidlo v implementaci InitRules() daného standardu s „touto“ referencí do aktuálního standardu.
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);