Informazioni sulle aperture di delimitazione

(classe base SpaceOffsetRulesManager.AecBoundingOpeningRule)

Una regola apertura di delimitazione può essere utilizzata per la definizione di un offset delle aperture presenti nei muri che delimitano un vano, come porte e finestre. Ad esempio, il profilo offset netto non può essere definito mediante l'offset del profilo solo dai muri di delimitazione. In genere, i muri si interrompono anche in presenza di porte o finestre. Questo tipo di regola consente di prendere in considerazione questo fattore nel calcolo del profilo offset basato su standard di calcolo area.

Implementazione di una regola apertura di delimitazione

Per implementare una regola apertura di delimitazione, è necessario aggiungere una nuova classe derivata da SpaceOffsetRulesManager.AecBoundingOpeningRule. È necessario che la nuova classe implementi una o più interfacce Apply della classe base e venga registrata per i tipi di oggetto per cui verrà richiamata nel costruttore mediante la chiamata del metodo base AecSpaceOffsetRuleBase.RegisterType. Si noti che questa regola può essere applicata solo per gli oggetti seguenti:

La registrazione di tale regola per altri tipi di oggetti non fornirà alcun risultato. Il metodo Apply della classe che è necessario implementare per ogni regola presenta la seguente sintassi in AecBoundingOpeningRule:

public abstract AecSpaceOffsetOpeningInfo*
Apply(Autodesk.AutoCAD.DatabaseServices.ObjectId idSpace,
Autodesk.AutoCAD.DatabaseServices.ObjectId idAdjSpace,
Autodesk.AutoCAD.DatabaseServices.ObjectId idObject,
Autodesk.AutoCAD.DatabaseServices.ObjectId idOpening);

Il primo argomento è l'ObjectId del vano corrente per cui viene calcolato l'offset contorno. Il terzo argomento è l'ObjectId del vano adiacente. Se non è presente alcun vano adiacente, come nel caso dei muri esterni, il valore dell'argomento sarà ObjectId.Null. Il terzo argomento è l'ObjectId dell'oggetto a cui è ancorata l'apertura, che solitamente è un muro di delimitazione del vano in cui è contenuta l'apertura. Il quarto parametro è l'ObjectId dell'apertura in esame. Nell'esempio seguente è illustrato lo schema per una nuova regola apertura denominata BoundingOpeningRuleNet:

namespace AecSpaceOffsetStandardSample
{
public class BoundingOpeningRuleNet : AecBoundingOpeningRule
{
public BoundingOpeningRuleNet ()
{
RegisterType(typeof(Door));
} public override AecSpaceOffsetInfo* Apply(ObjectId idSpace, ObjectId idAdjSpace, ObjectId idObject, ObjectId idOpening) { }
}
}

Esempio di regola apertura di delimitazione BoundingOpeningRuleNet

Nell'esempio seguente è riportata una semplice regola apertura di delimitazione, in cui viene definito un offset per le porte. Per evitare che venga applicata alle finestre, la regola viene registrata solo per l'oggetto porta, in modo che in Set di strumenti AutoCAD Architecture 2024 non venga richiamata per altre aperture. Questa regola viene utilizzata nel progetto di esempio AecSpaceOffsetStandardSample. L'offset è impostato nel lato interno del pannello della porta.

namespace AecSpaceOffsetStandardSample
{
public class BoundingOpeningRuleNet : AecBoundingOpeningRule
{
public BoundingOpeningRuleNet()
{
RegisterType(typeof(Door));
}
public override AecSpaceOffsetOpeningInfo* Apply(ObjectId idSpace, ObjectId idAdjSpace, ObjectId idObject, ObjectId idOpening)
{
return new AecSpaceOffsetOpeningInfo(AecSpaceOffsetOpeningType.PanelAdjacent);
} return new AecSpaceOffsetInfo(AecSpaceOffsetType.NoChange); }
}
}

Per il contorno netto e il tratteggio netto l'offset viene applicato dal centro della porta, ma non dall'apertura nel muro