BlockReference

/// Represents an instance of a block definition inserted into the drawing.
/// It specifies the block to insert, its position, rotation, scale, and
/// any attribute values specific to this instance.
public class BlockReference : Element
{
    // Constructors
    public BlockReference() { }
    public BlockReference(
        string blockName,
        Vector3 insertionPoint,
        float rotation = 0f,
        Vector3? scale = null,
        Dictionary<string, string> attributes = null) { }

    // Important Properties
    public string BlockName { get; set; } // Name of the referenced BlockDefinition.
    public Vector3 InsertionPoint { get; set; } // Insertion point [X, Y, Z].
    public float Rotation { get; set; } // Rotation in radians (around Z).
    public Vector3 Scale { get; set; } // Scale factors (must be positive).
    public Dictionary<string, string> Attributes { get; set; } // Attribute values for this instance.

    // Other Accessible Properties
    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...