Part(...)
This method creates an OdbPart object. Nodes and elements are added to this object at a later stage.
Prototype
odb_Part&
Part(const odb_String& name,
odb_Enum::odb_DimensionEnum embeddedSpace,
odb_Enum::odb_PartTypeEnum type);
Required arguments- name
An odb_String specifying the part name.
- embeddedSpace
An odb_Enum::odb_DimensionEnum specifying the dimensionality of the OdbPart object. Possible values are odb_Enum::THREE_D, odb_Enum::TWO_D_PLANAR, and odb_Enum::AXISYMMETRIC.
- type
An odb_Enum::odb_PartTypeEnum specifying the type of the OdbPart object. Possible values are odb_Enum::DEFORMABLE_BODY and odb_Enum::ANALYTIC_RIGID_SURFACE.
Return value
An OdbPart object.
addElements(...)
This method adds elements to an OdbPart object using element labels and nodal connectivity.
Prototype
void
addElements(const odb_SequenceInt& labels,
const odb_SequenceSequenceInt& connectivity,
const odb_String& type,
const odb_String& elementSetName,
const odb_SectionCategory& sectionCategory);
Required arguments- labels
An odb_SequenceInt specifying the element labels.
- connectivity
An odb_SequenceSequenceInt specifying the nodal connectivity.
- type
A String specifying the element type.
Optional arguments- elementSetName
A String specifying a name for this element set. The default value is the empty string.
- sectionCategory
A SectionCategory object for this element set.
addNodes(...)
This method adds nodes to an OdbPart object using node labels and coordinates.
Prototype
void
addNodes(const odb_SequenceInt& labels,
const odb_SequenceSequenceFloat& coordinates,
const odb_String& nodeSetName);
Required arguments- labels
An odb_SequenceInt specifying the node labels.
- coordinates
An odb_SequenceSequenceFloat specifying the nodal coordinates.
Optional arguments- nodeSetName
A String specifying a name for this node set. The default value is None.
assignBeamOrientation(...)
This method assigns a beam section orientation to a region of a part instance.
Prototype
void
assignBeamOrientation(const odb_Set& region,
odb_Enum::odb_OrientationMethodEnum method,
const odb_SequenceFloat& vector);
Required arguments- region
An OdbSet specifying a region on an instance.
- method
An odb_Enum::odb_OrientationMethodEnum specifying the assignment method. Only a value of odb_Enum::N1_COSINES is currently supported.
- vector
An odb_SequenceFloat specifying the approximate local -direction of the beam cross-section.
assignMaterialOrientation(...)
This method assigns a material orientation to a region of a part instance.
Prototype
void
assignMaterialOrientation(const odb_Set& region,
const odb_DatumCsys& localCSys,
odb_Enum::odb_AxisEnum axis,
float angle,
odb_Enum::odb_StackDirectionEnum stackDirection);
Required arguments- region
An OdbSet specifying a region on an instance.
- localCSys
An OdbDatumCsys object specifying the local coordinate system or None, indicating the global coordinate system.
Optional arguments- axis
An odb_Enum::odb_AxisEnum specifying the axis of a cylindrical or spherical datum coordinate system about which an additional rotation is applied. For shells this axis is also the shell normal. Possible values are odb_Enum::AXIS_1, odb_Enum::AXIS_2, and odb_Enum::AXIS_3. The default value is odb_Enum::AXIS_1.
- angle
A Float specifying the angle of the additional rotation. The default value is 0.0.
- stackDirection
An odb_Enum::odb_StackDirectionEnum specifying the stack or thickness direction of the material. Possible values are odb_Enum::STACK_1, odb_Enum::STACK_2, odb_Enum::STACK_3, and odb_Enum::STACK_ORIENTATION. The default value is odb_Enum::STACK_3.
assignRebarOrientation(...)
This method assigns a rebar reference orientation to a region of a part instance.
Prototype
void
assignRebarOrientation(const odb_Set& region,
const odb_DatumCsys& localCsys,
odb_Enum::odb_AxisEnum axis,
float angle);
Required arguments- region
An OdbSet specifying a region on an instance.
- localCsys
An OdbDatumCsys object specifying the local coordinate system or None, indicating the global coordinate system.
Optional arguments- axis
An odb_Enum::odb_AxisEnum specifying the axis of a cylindrical or spherical datum coordinate system about which an additional rotation is applied. For shells this axis is also the shell normal. Possible values are odb_Enum::AXIS_1, odb_Enum::AXIS_2, and odb_Enum::AXIS_3. The default value is odb_Enum::AXIS_1.
- angle
A Float specifying the angle of the additional rotation. The default value is 0.0.
getElementFromLabel(...)
This method is used to retrieved an element with a specific label from a part object.
Prototype
odb_Element
getElementFromLabel(int label);
Required arguments- label
An Int specifying the element label.
Exceptions- If no element with the specified label exists:
OdbError: Invalid element label
getNodeFromLabel(...)
This method is used to retrieved a node with a specific label from a part object.
Prototype
odb_Node
getNodeFromLabel(int label);
Required arguments- label
An Int specifying the node label.
Exceptions- If no node with the specified label exists:
OdbError: Invalid node label
AnalyticRigidSurf2DPlanar(...)
This method is used to define a two-dimensional AnalyticSurface object on the part object.
Prototype
void
AnalyticRigidSurf2DPlanar(const odb_String& name,
const odb_SequenceAnalyticSurfaceSegment& profile,
double filletRadius);
Optional arguments- filletRadius
A Double specifying the radius of curvature to smooth discontinuities between adjoining segments. The default value is 0.0.
Exceptions- If OdbPart is of type THREE_D:
OdbError: 2D-Planar Analytic Rigid Surface can be defined only if the part is of type TWO_D_PLANAR or AXISYMMETRIC.
AnalyticRigidSurfExtrude(...)
This method is used to define a three-dimensional cylindrical AnalyticSurface on the part object.
Prototype
void
AnalyticRigidSurfExtrude(const odb_String& name,
const odb_SequenceAnalyticSurfaceSegment& profile,
double filletRadius);
Optional arguments- filletRadius
A Double specifying the radius of curvature to smooth discontinuities between adjoining segments. The default value is 0.0.
Exceptions- If OdbPart is not of type THREE_D:
OdbError: Analytic Rigid Surface of type CYLINDER can be defined only if the part is of type THREE_D.
AnalyticRigidSurfRevolve(...)
This method is used to define a three-dimensional AnalyticSurface of revolution on the part object.
Prototype
void
AnalyticRigidSurfRevolve(const odb_String& name,
const odb_SequenceAnalyticSurfaceSegment& profile,
double filletRadius);
Optional arguments- filletRadius
A Double specifying the radius of curvature to smooth discontinuities between adjoining segments. The default value is 0.0.
Exceptions- If OdbPart is not of type THREE_D:
OdbError: Analytic Rigid Surface of type REVOLUTION can be defined only if the part is of type THREE_D.
RigidBody(...)
This method defines an OdbRigidBody on the part object.
Prototype
void
RigidBody(const odb_Set& referenceNode,
odb_Enum::odb_PositionEnum position,
bool isothermal,
const odb_Set& elset,
const odb_Set& pinNodes,
const odb_Set& tieNodes);
Required arguments- referenceNode
An OdbSet specifying the reference node assigned to the rigid body.
Optional arguments- position
A symbolic constant specify if the location of the reference node is to be defined by the user. Possible values are odb_Enum::INPUT and odb_Enum::CENTER_OF_MASS. The default value is odb_Enum::INPUT.
- isothermal
A Boolean specifying an isothermal rigid body. The default value is false. This parameter is used only for a fully-coupled thermal stress analysis.
- elset
An OdbSet specifying an element set assigned to the rigid body.
- pinNodes
An OdbSet specifying pin-type nodes assigned to the rigid body.
- tieNodes
An OdbSet specifying tie-type nodes assigned to the rigid body.
Exceptions- If referenceNode is not a node set:
OdbError: Rigid body definition requires a node set.
Members
The OdbPart object has members with the same names and descriptions as the arguments to the Part method.
In addition, the OdbPart object can have the following members:
Prototype
odb_String name() const;
odb_Enum::odb_DimensionEnum embeddedSpace() const;
odb_Enum::odb_PartTypeEnum type() const;
odb_Node& nodes(int index) const;
odb_SequenceNode& nodes() const;
odb_Element& elements(int index) const;
odb_SequenceElement& elements() const;
odb_SetRepository& nodeSets() const;
odb_SetRepository& elementSets() const;
odb_SetRepository& surfaces() const;
odb_SequenceSectionAssignment sectionAssignments() const;
odb_SequenceBeamOrientation beamOrientations() const;
odb_SequenceMaterialOrientation materialOrientations() const;
odb_SequenceRebarOrientation rebarOrientations() const;
odb_SequenceRigidBody rigidBodies() const;
bool hasAnalyticSurface() const;
odb_AnalyticSurface analyticSurface() const;
- nodes
A sequence of OdbMeshNode objects.
- elements
A sequence of OdbMeshElement objects.
- nodeSets
A repository of OdbSet objects specifying node sets.
- elementSets
A repository of OdbSet objects specifying element sets.
- surfaces
A repository of OdbSet objects specifying surfaces.
- sectionAssignments
A sequence of SectionAssignment objects.
- beamOrientations
A sequence of BeamOrientation objects.
- materialOrientations
A sequence of MaterialOrientation objects.
- rebarOrientations
A sequence of RebarOrientation objects.
- rigidBodies
A sequence of OdbRigidBody objects.
- analyticSurface
An AnalyticSurface object specifying analytic Surface defined on the instance.
|