Solid
Most of the objects and methods in Creo Object TOOLKIT C++ are used with solid models (parts and assemblies). Because solid objects inherit from the interface pfcModel, you can use any of the pfcModel methods on any pfcSolid, pfcPart, or pfcAssembly object.
Getting a Solid Object
Methods Introduced:
The methods pfcBaseSession::CreatePart and pfcBaseSession::CreateAssembly create new solid models with the names you specify.
The methods pfcComponentPath::GetRoot and pfcComponentPath::GetLeaf specify the solid objects that make up the component path of an assembly component model. You can get a component path object from any component that has been interactively selected.
The method pfcMFG::GetSolid retrieves the storage solid in which the manufacturing model’s features are placed. In order to create a UDF group in the manufacturing model, call the method pfcSolid::CreateUDFGroup on the storage solid.
The method wfcWSession::GetSolid returns the handle to the specified solid. You must specify the name of the solid and the solid type as the input arguments.
Solid Information
Methods Introduced:
You can set the relative and absolute accuracy of any solid model using these methods. Relative accuracy is relative to the size of the solid. For example, a relative accuracy of .01 specifies that the solid must be accurate to within 1/100 of its size. Absolute accuracy is measured in absolute units (inches, centimeters, and so on).
Note
For a change in accuracy to take effect, you must regenerate the model.
Displaying a Solid
Method Introduced:
The method wfcWSolid::DisplaySolid displays the specified solid in the current Creo window. This method does not make the solid as the current object in the Creo application.
Solid Operations
Methods Introduced:
The method pfcSolid::GetGeomOutline returns the three-dimensional bounding box for the specified solid.
Note
Do not use pfcSolid::GetGeomOutline to calculate the outline of a solid as the dimensions of the boundary box could be slightly bigger than the outline dimensions of the geometry. Use pfcSolid::EvalOutline to compute an accurate outline of a solid.
The method pfcSolid::GetSurfaceSolidBody returns the body to which the surface belongs.
The method pfcSolid::GetEdgeSolidBody returns the body to which the edge belongs.
The method pfcSolid::EvalOutline also returns a three-dimensional bounding box, but you can specify the coordinate system used to compute the extents of the solid object.
The method pfcSolid::GetIsSkeleton determines whether the part model is a skeleton or a concept model. It returns a true value if the model is a skeleton, else it returns a false.
The method pfcSolid::ListGroups returns the list of groups including UDFs in the solid.
The method wfcWSolid::GetSolidFeatureStatusFlags returns a list of objects representing the status of each feature in the model.
The method wfcWSolid::GetIsNoResolveMode returns True if the model regeneration is set to no resolve mode.
The method wfcStyleState::IsStyleStateDefault determines if the display style of the solid component is the default style for the owner model.
The method wfcStyleState::GetStyleStateFromName returns the handle to the specified style state in the component with the style state name as the input argument.
The method wfcWSolid::GetStyleStateFromId returns the handle to the specified style state in the component with the style state ID as the input argument.
Use the method wfcWSolid::GetActiveStyleState to get the current active style state in the solid.
The method wfcWSolid::ActivateStyleState activates the specified style state as current display style. The input arguments to this method are:
•  WStyleState—Specifies the handle to the style state.
•  RedisplayFlag—Specifies if the assembly must be displayed to the set display style in the call to the method. If set to True, user must call the required methods to regenerate the assembly.
The method wfcWSolid::ListStyleStateItems returns a list of style states in the solid.
The method wfcWSolid::GetDisplayOutline returns the maximum and minimum values of x, y, and z coordinates for the display outline of the solid, with respect to the default coordinate system.
The method wfcWSolid::FindShellsAndVoids returns a list of surface-contour pairs for each shell and void in the solid as a wfcShellData object. When a surface is split it has more than one external contour. In this case the contours may belong to different shells.
The method wfcShellData::GetShellOrders returns information about the ordered list of surface-contour pairs in a solid.
The method wfcShellOrder::GetOrientation returns an integer value to indicate the orientation of the shell. 1 specifies that the shell is oriented outward and -1 specifies that the shell is oriented inward, that is, it is a void.
The method wfcShellOrder::GetFirstFace returns the index of the first face for the specified shell or void.
The method wfcShellOrder::GetNumberOfFaces returns the number of faces in the shell.
A single shell or void can consist of many shells or voids within it. The method wfcShellOrder::GetAmbientShell returns the index of the ambient shell, that is, the smallest shell inside which the specified shell is located. The method returns -1 if the specified shell is external and is not located inside any other shell.
The method wfcShellData::GetShellFaces returns information about the shell surface and contour.
The method wfcShellFace::GetSurfaceId returns the ID of the shell surface.
The method wfcShellFace::GetContour returns the information about the contour as a pfcContour object.
Use the method wfcSolid::CheckFamilyTable to check if the specified solid has a family table associated with it. The method also checks whether the associated family table is empty.
Regenerating a Solid
Methods Introduced:
The method pfcSolid::Regenerate causes the solid model to regenerate according to the instructions provided in the form of the pfcRegenInstructions object. Passing a null value for the instructions argument causes an automatic regeneration.
In the No-Resolve mode, if a model and feature regeneration fails, failed features and children of failed features are created and regeneration of other features continues. However, Creo Object TOOLKIT C++ does not support regeneration in this mode. The method pfcSolid::Regenerate throws an exception pfcXToolkitBadContext, if Creo Parametric is running in the No-Resolve mode. To switch back to the Pro/ENGINEER Wildfire 4.0 behavior in the Resolve mode, set the configuration option regen_failure_handling to resolve_mode in the Creo Parametric session.
Note
Setting the configuration option to switch to Resolve mode ensures the old behavior as long as you do not retrieve the models saved under the No-Resolve mode. To consistently preserve the old behavior, use Resolve mode from the beginning and throughout your Creo Parametric session.
The pfcRegenInstructions object contains the following input parameters:
•  AllowFixUI—Determines whether or not to activate the Fix Model user interface, if there is an error.
Use the method pfcRegenInstructions::SetAllowFixUI to modify this parameter.
•  ForceRegen—Forces the solid model to fully regenerate. All the features in the model are regenerated. If this parameter is false, Creo determines which features to regenerate. By default, it is false.
Use the method pfcRegenInstructions::SetForceRegen to modify this parameter.
•  FromFeat—Not currently used. This parameter is reserved for future use.
Use the method pfcRegenInstructions::SetFromFeat to modify this parameter.
•  RefreshModelTree—Refreshes the Creo model tree after regeneration. The model must be active to use this attribute. If this attribute is false, the model tree is not refreshed. By default, it is false.
Use the method pfcRegenInstructions::SetRefreshModelTree to modify this parameter.
•  ResumeExcludedComponents—Enables Creo to resume the available excluded components of the simplified representation during regeneration. This results in a more accurate update of the simplified representation.
Use the method pfcRegenInstructions::SetResumeExcludedComponents to modify this parameter.
•  UpdateAssemblyOnly—Updates the placements of an assembly and all its sub-assemblies, and regenerates the assembly features and intersected parts. If the affected assembly is retrieved as a simplified representation, then the locations of the components are updated. If this attribute is false, the component locations are not updated, even if the simplified representation is retrieved. By default, it is false.
Use the method pfcRegenInstructions::SetUpdateAssemblyOnly to modify this parameter.
•  UpdateInstances—Updates the instances of the solid model in memory. This may slow down the regeneration process. By default, this attribute is false.
Use the method pfcRegenInstructions::SetUpdateInstances to modify this parameter.
The method wfcWSolid::WRegenerate regenerates the model according to the regeneration instructions provided in the form of the wfcRegenInstructions object. The wfcRegenInstructions object contains the following input parameters:
•  NoResolveMode—Gets and sets the no resolve mode in a model using the methods wfcWRegenInstructions::GetNoResolveMode and wfcWRegenInstructions::SetNoResolveMode
•  ResolveMode—Gets and sets the resolve mode in a model using the methods wfcWRegenInstructions::GetResolveMode and wfcWRegenInstructions::SetResolveMode
Note
The NoResolveMode and ResolveMode temporarily override the default settings, which control the regeneration behavior in a model.
AllowConfirm—This parameter has been deprecated from Creo Parametric 4.0 M030. Gets and sets the state of regeneration failure window in a model using the methods wfcWRegenInstructions::GetAllowConfirm and wfcWRegenInstructions::SetAllowConfirm
Note
The interactive dialog box which provided an option to retain failed features and children of failed features, if regeneration fails is no longer supported. Creo Parametric displays a warning message which gives details of failed features.
•  UndoIfFail—If possible, gets and sets the undo mode if the regeneration of the model fails using the methods wfcWRegenInstructions::GetUndoIfFail and wfcWRegenInstructions::SetUndoIfFail
Note
The AllowConfirm and UndoIfFail cannot be used together and are applicable only when the input parameter is NoResolveMode in a model.
The method wfcWRegenInstructions::Create creates instructions for regenerating a model.
Combined States of a Solid
With a combined state, you can combine and apply multiple display states to a Creo model. Combined states are composed of the following two or more display states:
•  Saved Views
•  Layer state
•  Annotations
•  Cross section
•  Exploded view
•  Simplified representation
•  Model style
Methods Introduced:
The method wfcWSolid::ListCombStates returns a list of combined states in the specified solid.
The method wfcCombState::GetCombStateData returns information for a specified combined state as a wfcCombStateData object.
The method wfcCombStateData::Create creates a the wfcCombStateData data object that contains information about the specified combined state.
The method wfcCombStateData::GetCombStateName returns the name of the combined state.
Use the methods wfcCombStateData::GetReferences and wfcCombStateData::SetReferences get and set an array of reference states of the type pfcModelItem.
The methods wfcCombStateData::GetClipOption and wfcCombStateData::SetClipOption get and set the cross section clip. This is applicable only in case of a valid reference of the type pfcITEM_XSEC. The pfcITEM_XSEC item represents a wfcXSection object or a zone feature. The values for the cross section clip are specified by the enumerated type wfcCrossSectionClipOption. The valid values are as follows:
•  wfcVIS_OPT_NONE—Specifies that the cross section or zone feature is not clipped.
•  wfcVIS_OPT_FRONT—Specifies that the cross section or zone feature is clipped by removing the material on the front side. The front side is where the positive normals of the planes of the cross section or zone feature are directed.
•  wfcVIS_OPT_BACK—Specifies that the cross section or zone feature is clipped by removing the material on the back side.
The method wfcCombStateData::GetIsExploded returns a boolean value that specifies if the combined state is exploded. This value is available only if when a valid pfcITEM_EXPLODED_STATE reference state is retrieved. It is not available for Creo parts since an exploded state does not exist in the part mode.
The method wfcWSolid::CreateCombState creates a new combined state based on specified references. The input arguments of this method are as follows:
•  CombStateName—Specifies the name of the new combined state.
•  CombStateData —Specifies the combined state data as wfcCombStateData object.
Use the function wfcCombState::RedefineCombState to redefine a created combined state. Pass the wfcCombStateData object as the input argument.
In case, you do not want to redefine a reference state, pass the reference state with the same value. While redefining, you must specify reference states. If you do not pass reference states, the combined state is redefined to a NO_STATE state. NO_STATE state means the display of the reference state is not changed on activation of combined state.
The method wfcWSolid::GetActiveCombState retrieves the active combined state in a specified solid model. The active combined state is the default state when the model is opened.
Use the method wfcWSolid::ActivateCombState to activate a specified combined state.
Use the method wfcWSolid::DeleteCombState to delete a specified combined state. The method fails if the specified combined state is the default or active combined state.
The method wfcCombState::GetAnnotations retrieves annotations and their status flags from a specified combined state item as a wfcCombStateAnnotations object. The wfcCombStateAnnotations object uses the methods of the wfcCombStateAnnotation object to add and get annotations.
The method wfcCombStateAnnotation::Create creates a data object that contains information about annotations from a combined state. The input arguments are:
•  Annotation—Specifies the annotation as a wfcAnnotation object.
•  Flag—Specifies if the annotation must be displayed in the combined state in terms of the enumerated data type wfcCombStateAnnotationOption. The valid values are:
  wfcCOMBSTATE_ANNOTATION_SHOW—Specifies that the annotation must be shown in the combined state.
  wfcCOMBSTATE_ANNOTATION_ERASE—Specifies that the annotation must not be shown in the combined state.
The methods wfcCombStateAnnotation::GetAnnotation and wfcCombStateAnnotation::SetAnnotation retrieve and set the annotations for the combined state as a wfcAnnotation object.
Use the methods wfcCombStateAnnotation::GetOption and wfcCombStateAnnotation::SetOption to retrieve and specify if the displayed annotation is in the combined state in terms of the enumerated data type wfcCombStateAnnotationOption.
The method wfcCombState::AddAnnotations adds annotations to a specified combined state item.
Use the method wfcCombState::RemoveAnnotations to remove the annotations from a specified combined state item.
The method wfcCombState::EraseAnnotation removes an annotation from the display for the specified combined state.
The method wfcCombState::GetStateOfAnnotations checks if the display of annotations is controlled by the specified combined state or layers. The method returns TRUE when the display is controlled by combined state.
The method wfcCombState::IsDefault checks if the specified combined state is set as the default combined state for the model.
The method wfcCombState::IsPublished checks if the specified combined state has been published to Creo View.
Solid Units
Each model has a basic system of units to ensure all material properties of that model are consistently measured and defined. All models are defined on the basis of the system of units. A part can have only one system of unit.
The following types of quantities govern the definition of units of measurement:
•  Basic Quantities—The basic units and dimensions of the system of units. For example, consider the Centimeter GramSecond (CGS) system of unit. The basic quantities for this system of units are:
  Length—cm
  Mass—g
  Force—dyne
  Time—sec
  Temperature—K
•  Derived Quantities—The derived units are those that are derived from the basic quantities. For example, consider the Centimeter Gram Second (CGS) system of unit. The derived quantities for this system of unit are as follows:
  Area—cm^2
  Volume—cm^3
  Velocity—cm/sec
In Creo Object TOOLKIT C++, individual units in the model are represented by the interface pfcUnit.
Types of Unit Systems
The types of systems of units are as follows:
•  Pre-defined system of units—This system of unit is provided by default.
•  Custom-defined system of units—This system of unit is defined by the user only if the model does not contain standard metric or nonmetric units, or if the material file contains units that cannot be derived from the predefined system of units or both.
In Creo application, the system of units are categorized as follows:
•  Mass Length Time (MLT)—The following systems of units belong to this category:
  CGSCentimeter Gram Second
  MKSMeter Kilogram Second
  mmKSmillimeter Kilogram Second
•  Force Length Time (FLT)—The following systems of units belong to this category:
  Creo Default—Inch lbm Second. This is the default system followed by Creo application.
  FPSFoot Pound Second
  IPSInch Pound Second
  mmNSMillimeter Newton Second
In Creo Object TOOLKIT C++, the system of units followed by the model is represented by the interface pfcUnitSystem.
Accessing Individual Units
Methods Introduced:
The method pfcSolid::ListUnits returns the list of units available to the specified model.
The method pfcSolid::GetUnit retrieves the unit, based on its name or expression for the specified model in the form of the pfcUnit object.
The method pfcUnit::GetName returns the name of the unit.
The method pfcUnit::GetExpression returns a user-friendly unit description in the form of the name (for example, ksi) for ordinary units and the expression (for example, N/m^3) for system-generated units.
The method pfcUnit::GetType returns the type of quantity represented by the unit in terms of the pfcUnitType object. The types of units are as follows:
•  pfcUNIT_LENGTH—Specifies length measurement units.
•  pfcUNIT_MASS—Specifies mass measurement units.
•  pfcUNIT_FORCE—Specifies force measurement units.
•  pfcUNIT_TIME—Specifies time measurement units.
•  pfcUNIT_TEMPERATURE—Specifies temperature measurement units.
•  pfcUNIT_ANGLE—Specifies angle measurement units.
The method pfcUnit::GetIsStandard identifies whether the unit is system-defined (if the property IsStandard is set to true) or user-defined (if the property IsStandard is set to false).
The method pfcUnit::GetReferenceUnit returns a reference unit (one of the available system units) in terms of the pfcUnit object.
The method pfcUnit::GetConversionFactor identifies the relation of the unit to its reference unit in terms of the pfcUnitConversionFactor object. The unit conversion factors are as follows:
•  Offset—Specifies the offset value applied to the values in the reference unit.
•  Scale—Specifies the scale applied to the values in the reference unit to get the value in the actual unit.
Example - Consider the formula to convert temperature from Centigrade
to Fahrenheit F = a + (C * b) where F is the temperature in Fahrenheit C is the temperature in Centigrade a = 32 (constant signifying the offset value) b = 9/5 (ratio signifying the scale of the unit)
Note
Creo application scales the length dimensions of the model using the factors listed above. If the scale is modified, the model is regenerated. When you scale the model, the model units are not changed. Imported geometry cannot be scaled.
Use the methods pfcUnitConversionFactor::GetOffset and pfcUnitConversionFactor::GetScale to retrieve the unit conversion factors listed above.
The method wfcWModel::CreateUnitByExpression creates a derived unit. Use the method wfcWUnit::ModifyByExpression to modify a derived unit.
Modifying Individual Units
Methods Introduced:
The method pfcUnit::Modify modifies the definition of a unit by applying a new conversion factor specified by the pfcUnitConversionFactor object and a reference unit.
The method pfcUnit::Delete deletes the unit.
Note
You can delete only custom units and not standard units.
The method pfcUnit::SetName modifies the name of the unit.
Use the methods pfcUnitConversionFactor::SetOffset and pfcUnitConversionFactor::SetScale to modify the unit conversion factors.
Creating a New Unit
Methods Introduced:
The method pfcSolid::CreateCustomUnit creates a custom unit based on the specified name, the conversion factor given by the pfcUnitConversionFactor object, and a reference unit.
The method pfcUnitConversionFactor::Create creates the pfcUnitConversionFactor object containing the unit conversion factors.
Accessing Systems of Units
Methods Introduced:
The method pfcSolid::ListUnitSystems returns the list of unit systems available to the specified model.
The method pfcSolid::GetPrincipalUnits returns the system of units assigned to the specified model in the form of the pfcUnitSystem object.
The method pfcUnitSystem::GetUnit retrieves the unit of a particular type used by the unit system.
The method pfcUnitSystem::GetName returns the name of the unit system.
The method pfcUnitSystem::GetType returns the type of the unit system in the form of the pfcUnitSystemType object. The types of unit systems are as follows:
•  pfcUNIT_SYSTEM_MASS_LENGTH_TIME—Specifies the Mass Length Time (MLT) unit system.
•  pfcUNIT_SYSTEM_FORCE_LENGTH_TIME—Specifies the Force Length Time (FLT) unit system.
For more information on these unit systems listed above, refer to the section Types of Unit Systems.
The method pfcUnitSystem::GetIsStandard identifies whether the unit system is system-defined (if the property IsStandard is set to true) or user-defined (if the property IsStandard is set to false).
Modifying Systems of Units
Methods Introduced:
The method pfcUnitSystem::Delete deletes a custom-defined system of units.
Note
You can delete only a custom-defined system of units and not a standard system of units.
Use the method pfcUnitSystem::SetName to rename a custom-defined system of units. Specify the new name for the system of units as an input parameter for this function.
Creating a New System of Units
Method Introduced:
The method pfcSolid::CreateUnitSystem creates a new system of units in the model based on the specified name, the type of unit system given by the pfcUnitSystemType object, and the types of units specified by the pfcUnits sequence to use for each of the base measurement types (length, force or mass, and temperature).
Conversion to a New Unit System
Methods Introduced:
The method wfcWUnit::CalculateUnitConversion calculate the conversion factor between two units. These units can belong to the same model or two different models.
The method pfcSolid::SetPrincipalUnits changes the principal system of units assigned to the solid model based on the the unit conversion options specified by the pfcUnitConversionOptions object. The method pfcUnitConversionOptions::Create creates the pfcUnitConversionOptions object containing the unit conversion options listed below.
The types of unit conversion options are as follows:
•  DimensionOption—Use the option while converting the dimensions of the model.
Use the method pfcUnitConversionOptions::SetDimensionOption to modify this option.
This option can be of the following types:
  pfcUNITCONVERT_SAME_DIMS—Specifies that unit conversion occurs by interpreting the unit value in the new unit system. For example, 1 inch will equal to 1 millimeter.
  pfcUNITCONVERT_SAME_SIZE—Specifies that unit conversion will occur by converting the unit value in the new unit system. For example, 1 inch will equal to 25.4 millimeters.
•  IgnoreParamUnits—This boolean attribute determines whether or not ignore the parameter units. If it is null or true, parameter values and units do not change when the unit system is changed. If it is false, parameter units are converted according to the rule.
Use the method pfcUnitConversionOptions::SetIgnoreParamUnits to modify this attribute.
Mass Properties
Method Introduced:
The function pfcSolid::GetMassProperty provides information about the distribution of mass in the part or assembly. It can provide the information relative to a coordinate system datum, which you name, or the default one if you provide null as the name. It returns a class called MassProperty.
The class contains the following fields:
•  The volume.
•  The surface area.
•  The density. The density value is 1.0, unless a material has been assigned.
•  The mass.
•  The center of gravity (COG).
•  The inertia matrix.
•  The inertia tensor.
•  The inertia about the COG.
•  The principal moments of inertia (the eigen values of the COG inertia).
•  The principal axes (the eigenvectors of the COG inertia).
Part Properties
The methods described in this section get information about the part.
Methods Introduced:
The method wfcWPart::GetDensity returns the density of the specified part. Use the method wfcWPart::SetDensity to set the density of the part without assigning a material. If a material has been defined for the part, then density is set for the material.
Annotations
Methods Introduced:
3D model notes are instance of ModelItem objects. They can be located and accessed using methods that locate model items in solid models, and downcast to the Note interface to use the methods in this section.
The method pfcNote::GetLines returns the text contained in the 3D model note. The method pfcNote::Note.SetLines modifies the note text.
The method pfcNote::GetText returns the the text of the solid model note. If you set the parameter GiveParametersAsNames to TRUE, then the text displays the parameter callouts with ampersands (&). If you set the parameter to FALSE, then the text displays the parameter values with no callout information.
The method pfcNote::GetURL returns the URL stored in the 3D model note. The method pfcNote::Note.SetURL modifies the note URL.
The method pfcNote::Display forces the display of the model note.
The method pfcNote::Delete deletes a model note.
The method pfcNote::GetOwner returns the solid model owner of the note.
The method wfcWSolid::GetDefaultTextHeight returns the default height of the annotations and dimensions in the specified solid model.
Materials
Creo Object TOOLKIT C++ enables you to programmatically access the material types and properties of parts. Using the methods and properties described in the following sections, you can perform the following actions:
•  Create or delete materials
•  Set the current material
•  Access and modify the material types and properties
Methods Introduced:
The method pfcMaterial::Save writes to a material file that can be imported into any Creo part.
The method pfcMaterial::Delete removes material from the part.
The method pfcPart::GetCurrentMaterial returns the master material assigned for the part.
The method pfcPart::SetCurrentMaterial sets the master material assigned to the part.
Note
•  By default, while assigning a master material to a sheetmetal part, the method pfcPart::SetCurrentMaterial modifies the values of the sheetmetal properties such as Y factor and bend table according to the material file definition. This modification triggers a regeneration and a modification of the developed length parameters of the sheetmetal part. To prevent this regeneration, set the value of the configuration option material_update_smt_bend_table to never_replace. To trigger a regeneration and a modification of the developed length parameters of the sheetmetal part, set the configuration option material_update_smt_bend_table to always_replace. The default value is always_replace.
•  The method pfcPart::SetCurrentMaterial may change the model display, if the new material has a default appearance assigned to it.
•  The method may also change the family table, if the parameter PTC_MASTER_MATERIAL is a part of the family table.
Note
You can still use the legacy parameter PTC_MASTER_MATERIAL, however, these legacy parameters do not appear correctly in calculations and reports when you are working with a part that uses multiple materials.
The method pfcPart::ListMaterials returns a list of the materials available in the part.
The method pfcPart::CreateMaterial creates a new empty material in the specified part.
The method pfcPart::RetrieveMaterial imports a material file into the part. The name of the file read can be as either:
•  <name>.mtl—Specifies the new material file format.
If the material is not already in the part database, pfcPart::RetrieveMaterial adds the material to the database after reading the material file. If the material is already in the database, the function replaces the material properties in the database with those contained in the material file.
Use the method wfcWSolidBody::GetMaterial to retrieve the information of the material assigned to the body.
The method wfcWSolidBody::SetMaterial assigns the material to the specified body.
Note
Refer to the Creo Parametric online help for more information about Materials.
Accessing Material Types
Methods Introduced:
The method pfcMaterial::GetStructuralMaterialType returns the material type for the structural properties of the material. The material types are as follows:
•  pfcMTL_ISOTROPIC—Specifies a a material with an infinite number of planes of material symmetry, making the properties equal in all directions.
•  pfcMTL_ORTHOTROPIC—Specifies a material with symmetry relative to three mutually perpendicular planes.
•  pfcMTL_TRANSVERSELY_ISOTROPIC—Specifies a material with rotational symmetry about an axis. The properties are equal for all directions in the plane of isotropy.
•  pfcMTL_FLUID—Specifies a material with fluid properties.
Use the method pfcMaterial::SetStructuralMaterialType to set the material type for the structural properties of the material.
The method pfcMaterial::GetThermalMaterialType returns the material type for the thermal properties of the material. The material types are as follows:
•  pfcMTL_ISOTROPIC—Specifies a material with an infinite number of planes of material symmetry, making the properties equal in all directions.
•  pfcMTL_ORTHOTROPIC—Specifies a material with symmetry relative to three mutually perpendicular planes.
•  pfcMTL_TRANSVERSELY_ISOTROPIC—Specifies a material with rotational symmetry about an axis. The properties are equal for all directions in the plane of isotropy.
•  pfcMTL_FLUID—Specifies a material with fluid properties.
Use the method pfcMaterial::SetThermalMaterialType to set the material type for the thermal properties of the material.
The method pfcMaterial::GetSubType returns the subtype for the MTL_ISOTROPIC material type.
Use the method pfcMaterial::SetSubType to set the subtype for the MTL_ISOTROPIC material type.
Use the method pfcMaterial::GetPermittedSubTypes to retrieve a list of the permitted string values for the material subtype.
The method pfcMaterial::GetFluidMaterialType returns the material type for the fluid properties of the material. The material types are as follows:
•  pfcMTL_ISOTROPIC—Specifies a material with an infinite number of planes of material symmetry, making the properties equal in all directions.
•  pfcMTL_ORTHOTROPIC—Specifies a material with symmetry relative to three mutually perpendicular planes.
•  pfcMTL_TRANSVERSELY_ISOTROPIC—Specifies a material with rotational symmetry about an axis. The properties are equal for all directions in the plane of isotropy.
•  pfcMTL_FLUID—Specifies a material with fluid properties.
Use the method pfcMaterial::SetFluidMaterialType to set the material type for the fluid properties of the material.
Accessing Material Properties
The methods listed in this section enable you to access material properties.
Methods Introduced:
The method pfcMaterialProperty::Create creates a new instance of a material property object.
All numerical material properties are accessed using the same set of APIs. You must provide a property type to indicate the property you want to read or modify.
The method pfcMaterial::GetPropertyValue returns the value and the units of the material property.
Use the method pfcMaterial::SetPropertyValue to set the value and units of the material property. If the property type does not exist for the material, then this method creates it.
Use the method pfcMaterial::SetPropertyUnits to set the units of the material property.
Use the method pfcMaterial::RemoveProperty to remove the material property.
Material properties that are non-numeric can be accessed via property-specific get and set methods.
The methods pfcMaterial::GetDescription and pfcMaterial::SetDescription return and set the description string for the material respectively.
The methods pfcMaterial::GetFatigueType and pfcMaterial::SetFatigueType return and set the valid fatigue type for the material respectively.
Use the method pfcMaterial::GetPermittedFatigueTypes to get a list of the permitted string values for the fatigue type.
The methods pfcMaterial::GetFatigueMaterialType and pfcMaterial::SetFatigueMaterialType return and set the class of material when determining the effect of the fatigue respectively.
Use the method pfcMaterial::GetPermittedFatigueMaterialTypes to retrieve a list of the permitted string values for the fatigue material type.
The methods pfcMaterial::GetFatigueMaterialFinish and pfcMaterial::SetFatigueMaterialFinish return and set the type of surface finish for the fatigue material respectively.
Use the method pfcMaterial::GetPermittedFatigueMaterialFinishes to retrieve a list of permitted string values for the fatigue material finish.
The method pfcMaterial::GetFailureCriterion returns the reduction factor for the failure strength of the material. This factor is used to reduce the endurance limit of the material to account for unmodeled stress concentrations, such as those found in welds. Use the method pfcMaterial::SetFailureCriterion to set the reduction factor for the failure strength of the material.
Use the method pfcMaterial::GetPermittedFailureCriteria to retrieve a list of permitted string values for the material failure criterion.
The methods pfcMaterial::GetHardness and pfcMaterial::SetHardness return and set the hardness for the specified material respectively.
The methods pfcMaterial::GetHardnessType and pfcMaterial::SetHardnessType return and set the hardness type for the specified material respectively.
The methods pfcMaterial::GetCondition and pfcMaterial::GetCondition return and set the condition for the specified material respectively.
The methods pfcMaterial::GetBendTable and pfcMaterial::SetBendTable return and set the bend table for the specified material respectively.
The methods pfcMaterial::GetCrossHatchFile and pfcMaterial::SetCrossHatchFile return and set the file containing the crosshatch pattern for the specified material respectively.
The methods pfcMaterial::GetMaterialModel and pfcMaterial::SetMaterialModel return and set the type of hyperelastic isotropic material model respectively.
Use the method pfcMaterial::GetPermittedMaterialModels to retrieve a list of the permitted string values for the material model.
The methods pfcMaterial::GetModelDefByTests determines whether the hyperelastic isotropic material model has been defined using experimental data for stress and strain.
Use the method pfcMaterial::SetModelDefByTests to define the hyperelastic isotropic material model using experimental data for stress and strain.
The methods wfcMaterialItem::GetDescription and wfcMaterialItem::SetDescription get and set the material description for the specified model item.
Accessing User-defined Material Properties
Materials permit assignment of user-defined parameters. These parameters allow you to place non-standard properties on a given material. Therefore pfcMaterial is a child of pfcParameterOwner, which provides access to user-defined parameters and properties of materials through the methods in that interface.