ShapeBuilder

ShapeBuilder is a pre-processor to SectionBuilder. It enables the parametric definition of cross-sectional shapes that are used in mechanical and aerospace engineering. Two alternative definition approaches are available.

  1. The shape definition approach. In this approach, the configuration of the entire cross-section is parameterized. While various options might be available to modify details of the cross-sectional configuration and geometry slightly, its overall topology is prescribed. Simple shapes only can be defined with this approach.
  2. The component definition approach. In this approach, the cross-section is viewed as an assembly of interconnected components. This “building block” approach allows the definition of more complicated and realistic sections. Each component is of simple topology and geometry, but the assembly of a number of different components produces a realistic section.

1. The shape definition approach

A typical input to ShapeBuilder is of the following form, where the various entries depend on the specific shape being defined.

@SHAPE_BUILDER_ANALYSIS {
@SHAPE_BUILDER_NAME {ShbDefName} {
@SHAPE_GROUP {ShapeGroup}
@SHAPE_TYPE {ShapeType}
@OPTION_DEFINITION {o1, o2, ...}
@DIMENSIONS {
@DIMENSION_01 {d1}
...
}
@MATERIALS {
@MATERIAL_01 {Mat1}
...
}
@AIRFOIL_SHAPE_NAME {AirFoilName}
@NUMBER_OF_CONTROL_POINTS {Ncp}
@IS_DEFINED_IN_FRAME {FrameName}
@MESH_DENSITY {md}
@COMMENTS {CommentText}
}
}

NOTES

2. The component definition approach

The component approach involves the definition of two types of entities.

  1. A number of structural components such as wall or cores.
  2. A list of connections among these structural components.

2.1 Definition of the structural components

In the component definition approach, all the components that make up the complete cross-section must be defined first. Any number of components can be defined; the definition of each component is similar to that of a shape. A typical input to ShapeBuilder is of the following form.

@SHAPE_BUILDER_ANALYSIS {
@SHAPE_BUILDER_NAME {ComponentName1} {
@SHAPE_GROUP {COMPONENT}
@SHAPE_TYPE {ShapeType}
@OPTION_DEFINITION {o1, o2, ...}
@DIMENSIONS {
@DIMENSION_01 {d1}
...
}
@MATERIALS {
@MATERIAL_01 {Mat1}
...
}
@CURVE_NAME {CurveName}
@NUMBER_OF_CONTROL_POINTS {Ncp}
@IS_DEFINED_IN_FRAME {FrameName}
@MESH_DENSITY {md}
@COMMENTS {CommentText}
}
@SHAPE_BUILDER_NAME {ComponentName2} {
@SHAPE_GROUP {COMPONENT}
@SHAPE_TYPE {ShapeType}
...
}
@SHAPE_BUILDER_NAME {ComponentName3} {
@SHAPE_GROUP {COMPONENT}
@SHAPE_TYPE {ShapeType}
...
}
}

2.2 Definition of the connections

Once the components have been defined, the connections between these components must be established. A typical input to ShapeBuilder is of the following form.

@SHAPE_BUILDER_ANALYSIS {
@CONNECTION_NAME {ConnectionName1} {
@CONNECTION_TYPE {ConnectionType}
@COMPONENT_NAME {ComponentNameA}
@POINT_NAME {PointNameA1, PointNameA2}
@COMPONENT_NAME {ComponentNameB}
@POINT_NAME {PointNameB1, PointNameB2}
@COMMENTS {CommentText}
}
@SHAPE_BUILDER_NAME {ConnectionName2} {
@CONNECTION_TYPE {ConnectionType}
...
}
@SHAPE_BUILDER_NAME {ConnectionName3} {
@CONNECTION_TYPE {ConnectionType}
...
}
}