# Synopsis

PDX_MSGT gcr_Component3(long option, MDA_PTR orig_db_ptr, char *component_id, MDA_COUNT ninstances, char *instance_ids[], MDA_PTR instance_components[], GDX_MATRIX instance_matrices[], int instance_states[], MDA_COUNT num_node_instances, char *instance_node_ids[], MDA_PTR instance_nodes[], GDX_MATRIX instance_node_matrices[], int instance_node_states[], MDA_COUNT ngeometry, MDA_PTR geometry[], MDA_PTR parameters, char *data, int gdx_model, MDA_PTR *gdx_component_ptr)

# Purpose

Create a GDX Component.

# Description

This function will create a GDX component that may contain instances if it is an assembly component or it may contain geometry if it is a part component or it may contain both and be a hybrid component.

# Input

## option

Options (not used)

## orig_db_ptr

The original entities orig_db_ptr as obtained from the mda_GetOrigDbptr function call, or MDA_NULL_PTR

## component_id

Unique identifier for the component

## ninstances

The number of instances or 0 if not an assembly

## instance_ids

Unique identifier for each instance

## instance_components

Datbase pointer of other components

## instance_matrices

Matrix of relative transformation for each instance.

## instance_states

State of each instance (not used)

## num_node_instances

The number of node instances or 0

## instance_node_ids

Unique identifier for each node instance

## instance_nodes

Database pointer of nodes

## instance_node_matrices

Matrix of relative transformation for each node instance

## instance_node_states

State of each node instance (not used)

## ngeometry

The number of geometry entities or 0 if an assembly

## geometry

Database pointer of geometry entities

## parameters

Database pointer of model var entity

## data

User data pointer

## gdx_model

The GDX model for entity creation

# Output

## gdx_component_ptr

Database pointer of the GDX Component

# Return

          GCR_NOERR
          .fi