AttributeDefinition

/// Represents an attribute definition, which is a template for attributes
/// that can be attached to block references. It defines the tag, prompt,
/// default value, and display properties of an attribute.
/// Inherits properties like InsertionPoint, Height, Plane, Alignment etc. from Text.
public class AttributeDefinition : Text
{
    // Constructors
    public AttributeDefinition() { }
    public AttributeDefinition(
        Vector3 insertionPoint,
        string tag,
        string prompt,
        string value,
        float height,
        Plane3D plane = null) { }

    // Important Properties
    public string Tag { get; set; } // Attribute tag (unique identifier).
    public string Prompt { get; set; } // User prompt.
    public string Value { get; set; } // Default value.
    public bool Invisible { get; set; } // If true, attribute is invisible.
    public bool Constant { get; set; } // If true, value is constant.
    public bool Verify { get; set; } // If true, prompt for verification.
    public bool Preset { get; set; } // If true, preset value without prompt.

    // Other Accessible Properties (inherited from Text)
    public Vector3 InsertionPoint { get; set; } // The main insertion point coordinates [X, Y, Z] in the world coordinate system.
    public string TextString { get; set; } // The actual text content string.
    public float Height { get; set; } // The height of the text characters.
    public Plane3D Plane { get; set; } // The plane on which the text lies.
    public TextAlignment Alignment { get; set; } // Specifies the horizontal and vertical alignment of the text.
    public string StyleName { get; set; } // Optional name of the text style to apply.
    public float WidthFactor { get; set; } // The width factor (horizontal scaling) applied to the text characters.
    public float Rotation { get; set; } // Additional rotation angle in radians applied to the text.
    public string LayerName { get; set; } // The name of the layer this element belongs to.
    public string ColorARGB { get; set; } // Element color represented as an AARRGGBB hex string.
    public PropertyMethod ColorMethod { get; set; } // Element color method.
    public LineType? LineType { get; set; } // The line type for this element.
    public float? LineTypeScale { get; set; } // The scale of the line type.
    public PropertyMethod LineTypeMethod { get; set; } // Element line type method.
    public float? LineWeight { get; set; } // The line weight for this element.
    public PropertyMethod LineWeightMethod { get; set; } // Element lineWeight method.
    public string MaterialName { get; set; } // The name of the material for this element.
    public int? DisplayOrder { get; set; } // The element printing and displaying order.
    public bool? IsVisible { get; set; } // The element visibility status.
}
# Coming soon...