# NAME

GDX_COMPONENT - Component

# GENERAL DESCRIPTION

A GDX component is used to represent a part, assembly or both (hybrid). If the number of instances is zero and the number of geometries is not zero the component represents a part. If the number of instances is not zero and the number of geometries is zero the component represents an assembly. If both counts are not zero the component represents a hybrid.

# DDF SPECIFICATION

    entity 200:0 GDX_COMPONENT "GDX Component"
    {

    vstring
    id;

    count
    ninstances;

    struct
    instance[ninstances] {

    vstring
    id;

    ptr
    component
    reftype = (200:0);

    double
    matrix[];

    int
    state;

    };

    count ngeometry;

    ptr   geometry[ngeometry] reftype = (0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0,

    7:0, 10:0, 11:0, 12:0, 13:0, 14:0,

    15:0, 16:0, 17:0, 18:0, 19:0, 20:0,

    21:0, 45:0, 46:0, 47:0, 48:0);

    ptr   parameters           reftype = (110:0);

    vstring
    data;

    };

# FIELD DESCRIPTIONS

ID

Unique component identifier

NINSTANCES

Number of instances or zero if component is a part.

INSTANCE.ID

Instance identifier.

INSTANCE.COMPONENT

Pointer to a component to be instanced.

INSTANCE.MATRIX

Transformation (GDX_MATRIX) to be applied to component or NULL if identity.

INSTANCE.STATE

Visibility state of instance.

0 = visible 1 = hidden 2 = suppressed 3 = pruned
NGEOMETRY

Number of geometry entities or zero if component is an assembly.

GEOMETRY

Array of pointers to geometric entities in this component.

PARAMETERS

Pointer to the model var entity for units and tolerances of this component.

DATA

Data field (used internally).