Solid
Most of the objects and methods in the VB API are used with solid models (parts and assemblies). Because solid objects inherit from the interface IpfcModel, you can use any of the IpfcModel methods on any IpfcSolid, IpfcPart, or IpfcAssembly object.
Getting a Solid Object
Methods and Properties Introduced:
  • IpfcBaseSession.CreatePart()
  • IpfcBaseSession.CreateAssembly()
  • IpfcComponentPath.Root
  • IpfcComponentPath.Leaf
  • IpfcMFG.GetSolid()
  • The methods IpfcBaseSession.CreatePart() and IpfcBaseSession.CreateAssembly() create new solid models with the names you specify.
    The properties IpfcComponentPath.Root and IpfcComponentPath.Leaf 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 IpfcMFG.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 IpfcSolid.CreateUDFGroup() on the storage solid.
    Solid Information
    Properties Introduced:
  • IpfcSolid.RelativeAccuracy
  • IpfcSolid.AbsoluteAccuracy
  • 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.
    Solid Operations
    Methods and Properties Introduced:
  • IpfcSolid.Regenerate()
  • CCpfcRegenInstructions.Create()
  • IpfcRegenInstructions.AllowFixUI
  • IpfcRegenInstructions.ForceRegen
  • IpfcRegenInstructions.FromFeat
  • IpfcRegenInstructions.RefreshModelTree
  • IpfcRegenInstructions.ResumeExcludedComponents
  • IpfcRegenInstructions.UpdateAssemblyOnly
  • IpfcRegenInstructions.UpdateInstances
  • IpfcRegenInstructions.ResolveModeRegen
  • IpfcSolid.GeomOutline
  • IpfcSolid.EvalOutline()
  • IpfcSolid.IsSkeleton
  • IpfcSolid.ListGroups()
  • IpfcSolid.GetSurfaceSolidBody()
  • IpfcSolid.GetEdgeSolidBody()
  • The method IpfcSolid.Regenerate() causes the solid model to regenerate according to the instructions provided in the form of the IpfcRegenInstructions object. Passing a null value for the instructions argument causes an automatic regeneration.
    Pro/ENGINEER Wildfire 5.0 introduces the No-Resolve mode, wherein if a model and feature regeneration fails, failed features and children of failed features are created and regeneration of other features continues. However, VB API does not support regeneration in this mode. The method IpfcSolid.Regenerate() throws an exception IpfcXToolkitBadContext, if Creo Parametric is running in the No-Resolve mode. To continue with 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 IpfcRegenInstructions 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 property IpfcRegenInstructions.AllowFixUI to modify this parameter.
    •  ForceRegenCreo Parametric
    Use the property IpfcRegenInstructions.ForceRegen to modify this parameter.
    •  FromFeat—Not currently used. This parameter is reserved for future use.
    Use the property IpfcRegenInstructions.FromFeat to modify this parameter.
    •  RefreshModelTreeCreo Parametric Model Tree
    Use the property IpfcRegenInstructions.RefreshModelTree to modify this parameter.
    •  ResumeExcludedComponentsCreo Parametric
    Use the methodproperty IpfcRegenInstructions.ResumeExcludedComponents 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 property IpfcRegenInstructions.UpdateAssemblyOnly 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 property IpfcRegenInstructions.UpdateInstances to modify this parameter.
    •  ResolveModeRegen—Allows regeneration of a solid in resolve mode. The regeneration behavior is controlled by temporarily overriding the default settings.
    Use the property IpfcRegenInstructions.ResolveModeRegen to modify this parameter. By default, it is false. If you want to set your Creo Parametric application in resolve mode, you need to set the value of this parameter to true.
    Note
    However, resolve mode will be deprecated in a future release of Creo Parametric. Hence, it is recommended to run the application without calling the property IpfcRegenInstructions.ResolveModeRegen.
    The property IpfcSolid.GeomOutline returns the three-dimensional bounding box for the specified solid.
    Note
    Do not use IpfcSolid.GeomOutline 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 IpfcSolid.EvalOutline() to compute an accurate outline of a solid.
    The method IpfcSolid.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 property IpfcSolid.IsSkeleton 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 IpfcSolid.ListGroups() returns the list of groups (including UDFs) in the solid.
    The method IpfcSolid.GetSurfaceSolidBody() returns the body to which the surface belongs.
    The method IpfcSolid.GetEdgeSolidBody() returns the body to which the edge belongs.
    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 Gram Second (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 the VB API, individual units in the model are represented by the interface pfcUnits.Unit.
    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 Parametric, 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 Parametric Default—Inch lbm Second. This is the default system followed by Creo Parametric.
      FPSFoot Pound Second
      IPSInch Pound Second
      mmNSMillimeter Newton Second
    In the VB API, the system of units followed by the model is represented by the interface IpfcUnitSystem.
    Accessing Individual Units
    Methods and Properties Introduced:
  • IpfcSolid.ListUnits()
  • IpfcSolid.GetUnit()
  • IpfcUnit.Name
  • IpfcUnit.Expression
  • IpfcUnit.Type
  • IpfcUnit.IsStandard
  • IpfcUnit.ReferenceUnit
  • IpfcUnit.ConversionFactor
  • IpfcUnitConversionFactor.Offset
  • IpfcUnitConversionFactor.Scale
  • The method IpfcSolid.ListUnits() returns the list of units available to the specified model.
    The method IpfcSolid.GetUnit() retrieves the unit, based on its name or expression for the specified model in the form of the IpfcUnit object.
    The property IpfcUnit.Name returns the name of the unit.
    The property IpfcUnit.Expression 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 property IpfcUnitSystem.Type returns the type of quantity represented by the unit in terms of the IpfcUnitType object. The types of units are as follows:
    •  EpfcUNIT_LENGTH—Specifies length measurement units.
    •  EpfcUNIT_MASS—Specifies mass measurement units.
    •  EpfcUNIT_FORCE—Specifies force measurement units.
    •  EpfcUNIT_TIME—Specifies time measurement units.
    •  EpfcUNIT_TEMPERATURE—Specifies temperature measurement units.
    •  EpfcUNIT_ANGLE—Specifies angle measurement units.
    The property IpfcUnit.IsStandard 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 property IpfcUnit.ReferenceUnit returns a reference unit (one of the available system units) in terms of the IpfcUnit object.
    The property IpfcUnit.ConversionFactor identifies the relation of the unit to its reference unit in terms of the IpfcUnitConversionFactor 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 Parametric 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 properties IpfcUnitConversionFactor.Offset and IpfcUnitConversionFactor.Scale to retrieve the unit conversion factors listed above.
    Modifying Individual Units
    Methods and Properties Introduced:
  • IpfcUnit.Modify()
  • IpfcUnit.Delete()
  • The method IpfcUnit.Modify() modifies the definition of a unit by applying a new conversion factor specified by the IpfcUnitConversionFactor object and a reference unit.
    The method IpfcUnit.Delete() deletes the unit.
    Note
    You can delete only custom units and not standard units.
    Creating a New Unit
    Methods Introduced:
  • IpfcSolid.CreateCustomUnit()
  • CCpfcUnitConversionFactor.Create()
  • The method IpfcSolid.CreateCustomUnit() creates a custom unit based on the specified name, the conversion factor given by the IpfcUnitConversionFactor object, and a reference unit.
    The method CCpfcUnitConversionFactor.Create() creates the IpfcUnitConversionFactor object containing the unit conversion factors.
    Accessing Systems of Units
    Methods and Properties Introduced:
  • IpfcSolid.ListUnitSystems()
  • IpfcSolid.GetPrincipalUnits()
  • IpfcUnitSystem.GetUnit()
  • IpfcUnitSystem.Name
  • IpfcUnitSystem.Type
  • IpfcUnitSystem.IsStandard
  • The method IpfcSolid.ListUnitSystems() returns the list of unit systems available to the specified model.
    The method IpfcSolid.GetPrincipalUnits() returns the system of units assigned to the specified model in the form of the IpfcUnitSystem object.
    The method IpfcUnitSystem.GetUnit() retrieves the unit of a particular type used by the unit system.
    The property IpfcUnitSystem.Name returns the name of the unit system.
    The property IpfcUnitSystem.Type returns the type of the unit system in the form of the IpfcUnitSystemType object. The types of unit systems are as follows:
    •  EpfcUNIT_SYSTEM_MASS_LENGTH_TIME—Specifies the Mass Length Time (MLT) unit system.
    •  EpfcUNIT_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 property IpfcUnitSystem.IsStandard 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
    Method Introduced:
  • IpfcUnitSystem.Delete()
  • The method IpfcUnitSystem.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.
    Creating a New System of Units
    Method Introduced:
  • IpfcSolid.CreateUnitSystem()
  • The method IpfcSolid.CreateUnitSystem() creates a new system of units in the model based on the specified name, the type of unit system given by the IpfcUnitSystemType object, and the types of units specified by the IpfcUnits sequence to use for each of the base measurement types (length, force or mass, and temperature).
    Conversion to a New Unit System
    Methods and Properties Introduced:
  • IpfcSolid.SetPrincipalUnits()
  • CCpfcUnitConversionOptions.Create()
  • IpfcUnitConversionOptions.DimensionOption
  • IpfcUnitConversionOptions.IgnoreParamUnits
  • The method IpfcSolid.SetPrincipalUnits() changes the principal system of units assigned to the solid model based on the unit conversion options specified by the IpfcUnitConversionOptions object. The method IpfcUnitConversionOptions.Create() creates the IpfcUnitConversionOptions 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 property IpfcUnitConversionOptions.DimensionOption to modify this option.
    This option can be of the following types:
      EpfcUNITCONVERT_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.
      EpfcUNITCONVERT_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 property IpfcUnitConversionOptions.IgnoreParamUnits to modify this attribute.
    Mass Properties
    Method Introduced:
  • IpfcSolid.GetMassProperty()
  • IpfcSolid.GetMassPropertyWithDensity()
  • IpfcAssembly.GetMassPropertyByCompPath()
  • The function IpfcSolid.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 an object containing 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).
    The property IpfcSolid.GetMassPropertyWithDensity() calculates the mass properties of a part or an assembly in the specified coordinate system. The input arguments follow:
    •  CoordSysName—Name of the coordinate system. If this is Null, the method uses the default coordinate system.
    •  DensityOpt—Value of the density flag specified using the enumerated data type IpfcMPDensityUse and the valid values are as follows:
      EpfcMP_DENSITY_DEFAULT—Calculate the mass properties using the material density.
      EpfcMP_DENSITY_USE_ALWAYS—Calculate the mass properties using the specified density, even if material has a defined density.
      EpfcMP_DENSITY_USE_IF_MISSING—Calculate mass properties using specified density, even if material does not have a defined density.
    •  density—Density used while calculating mass properties depending on the value specified for the input argument DensityOpt.
    The method IpfcAssembly.GetMassPropertyByCompPath() calculates the mass properties of a solid that is referenced by the specified coordinate system selection, using the respective component paths. The input arguments follow:
    •  CompPath—Component path of the solid. If this is null, the top assembly is referred.
    •  CsysItem—Coordinate system model item. If this is null, default coordinate system is referred.
    •  CsysPath—Component path of the coordinate system. If this is null, default coordinate system is referred.
    Example Code: Retrieving a Mass Property Object
    The sample code in the file pfcSolidExamples.vb located at <creo_vbapi_loadpoint>/vbapi_examples retrieves a MassProperty object from a specified solid model. The solid's mass, volume, and center of gravity point are then printed.
    Annotations
    Methods and Properties Introduced:
  • IpfcNote.Lines
  • IpfcNote.GetText()
  • IpfcNote.URL
  • IpfcNote.Display()
  • IpfcNote.Delete()
  • IpfcNote.GetOwner()
  • 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 property IpfcNote.Lines returns the text contained in the 3D model note.
    The method IpfcNote.GetText() returns 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 property IpfcNote.URL returns the URL stored in the 3D model note.
    The method IpfcNote.Display() forces the display of the model note.
    The method IpfcNote.Delete() deletes a model note.
    The method IpfcNote.GetOwner() returns the solid model owner of the note.
    Cross Sections
    Methods Introduced:
  • IpfcSolid.ListCrossSections()
  • IpfcSolid.GetCrossSection()
  • IpfcXSection.GetName()
  • IpfcXSection.SetName()
  • IpfcXSection.GetXSecType()
  • IpfcXSection.Delete()
  • IpfcXSection.Display()
  • IpfcXSection.Regenerate()
  • The method IpfcSolid.ListCrossSections() returns a sequence of cross section objects represented by the Xsection interface. The method IpfcSolid.GetCrossSection() searches for a cross section given its name.
    The method IpfcXSection.GetName() returns the name of the cross section in Creo Parametric. The method IpfcXSection.SetName() modifies the cross section name.
    The method IpfcXSection.GetXSecType() returns the type of cross section, that is planar or offset, and the type of item intersected by the cross section.
    The method IpfcXSection.Delete() deletes a cross section.
    The method IpfcXSection.Display() forces a display of the cross section in the window.
    The method IpfcXSection.Regenerate() regenerates a cross section.
    Materials
    the VB API 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 and Properties Introduced:
  • IpfcMaterial.Save()
  • IpfcMaterial.Delete()
  • IpfcPart.CurrentMaterial
  • IpfcPart.ListMaterials()
  • IpfcPart.CreateMaterial()
  • IpfcPart.RetrieveMaterial()
  • The method IpfcMaterial.Save() writes to a material file that can be imported into any Creo Parametric part.
    The method IpfcMaterial.Delete() removes material from the part.
    The property IpfcPart.CurrentMaterial returns and sets the material assigned to the part.
    Note
    By default, while assigning a material to a sheetmetal part, the property IpfcPart.CurrentMaterial 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 calculations of the sheetmetal part. However, you can avoid this behavior by setting the value of the configuration option material_update_smt_bend_table to never_replace
    The property IpfcPart.CurrentMaterial may change the model display, if the new material has a default appearance assigned to it.
    The property may also change the family table, if the parameter PTC_MATERIAL_NAME is a part of the family table.
    The method IpfcPart.ListMaterials() returns a list of the materials available in the part.
    The method IpfcPart.CreateMaterial() creates a new empty material in the specified part.
    The method IpfcPart.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.
    •  <name>.mat—Specifies the material file format prior to Pro/ENGINEER Wildfire 3.0.
    If the material is not already in the part database, IpfcPart.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.
    Accessing Material Types
    Properties Introduced:
  • IpfcMaterial.StructuralMaterialType
  • IpfcMaterial.ThermalMaterialType
  • IpfcMaterial.SubType
  • IpfcMaterial.PermittedSubTypes
  • IpfcMaterial.FluidMaterialType
  • The property IpfcMaterial.StructuralMaterialType sets the material type for the structural properties of the material. The material types are as follows:
    •  EpfcMTL_ISOTROPIC—Specifies a a material with an infinite number of planes of material symmetry, making the properties equal in all directions.
    •  EpfcMTL_ORTHOTROPIC—Specifies a material with symmetry relative to three mutually perpendicular planes.
    •  EpfcMTL_TRANSVERSELY_ISOTROPIC—Specifies a material with rotational symmetry about an axis. The properties are equal for all directions in the plane of isotropy.
    •  EpfcMTL_FLUID—Specifies a material with fluid properties.
    The property IpfcMaterial.ThermalMaterialType sets the material type for the thermal properties of the material. The material types are as follows:
    •  EpfcMTL_ISOTROPIC—Specifies a material with an infinite number of planes of material symmetry, making the properties equal in all directions.
    •  EpfcMTL_ORTHOTROPIC—Specifies a material with symmetry relative to three mutually perpendicular planes.
    •  EpfcMTL_TRANSVERSELY_ISOTROPIC—Specifies a material with rotational symmetry about an axis. The properties are equal for all directions in the plane of isotropy.
    •  EpfcMTL_FLUID—Specifies a material with fluid properties.
    The property IpfcMaterial.SubType sets the subtype for the EpfcMTL_ISOTROPIC material type.
    Use the property IpfcMaterial.PermittedSubTypes to retrieve a list of the permitted string values for the material subtype.
    The property IpfcMaterial.FluidMaterialType sets the material type for the fluid properties of the material. The material types are as follows:
    •  EpfcMTL_ISOTROPIC—Specifies a material with an infinite number of planes of material symmetry, making the properties equal in all directions.
    •  EpfcMTL_ORTHOTROPIC—Specifies a material with symmetry relative to three mutually perpendicular planes.
    •  EpfcMTL_TRANSVERSELY_ISOTROPIC—Specifies a material with rotational symmetry about an axis. The properties are equal for all directions in the plane of isotropy.
    •  EpfcMTL_FLUID—Specifies a material with fluid properties.
    Accessing Material Properties
    The methods and properties listed in this section enable you to access material properties.
    Methods and Properties Introduced:
  • CCpfcMaterialProperty.Create()
  • IpfcMaterial.GetPropertyValue()
  • IpfcMaterial.SetPropertyValue()
  • IpfcMaterial.SetPropertyUnits()
  • IpfcMaterial.RemoveProperty()
  • IpfcMaterial.Description
  • IpfcMaterial.FatigueType
  • IpfcMaterial.PermittedFatigueTypes
  • IpfcMaterial.FatigueMaterialType
  • IpfcMaterial.PermittedFatigueMaterialTypes
  • IpfcMaterial.FatigueMaterialFinish
  • IpfcMaterial.PermittedFatigueMaterialFinishes
  • IpfcMaterial.FailureCriterion
  • IpfcMaterial.PermittedFailureCriteria
  • IpfcMaterial.Hardness
  • IpfcMaterial.HardnessType
  • IpfcMaterial.Condition
  • IpfcMaterial.BendTable
  • IpfcMaterial.CrossHatchFile
  • IpfcMaterial.MaterialModel
  • IpfcMaterial.PermittedMaterialModels
  • IpfcMaterial.ModelDefByTests
  • The method CCpfcMaterialProperty.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 IpfcMaterial.GetPropertyValue() returns the value and the units of the material property.
    Use the method IpfcMaterial.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 IpfcMaterial.SetPropertyUnits() to set the units of the material property.
    Use the method IpfcMaterial.RemoveProperty() to remove the material property.
    Material properties that are non-numeric can be accessed using the following properties.
    The property IpfcMaterial.Description sets the description string for the material.
    The property IpfcMaterial.FatigueType and sets the valid fatigue type for the material.
    Use the property IpfcMaterial.PermittedFatigueTypes to get a list of the permitted string values for the fatigue type.
    The property IpfcMaterial.FatigueMaterialType sets the class of material when determining the effect of the fatigue.
    Use the property IpfcMaterial.PermittedFatigueMaterialTypes to retrieve a list of the permitted string values for the fatigue material type.
    The property IpfcMaterial.FatigueMaterialFinish sets the type of surface finish for the fatigue material.
    Use the property IpfcMaterial.PermittedFatigueMaterialFinishes to retrieve a list of permitted string values for the fatigue material finish.
    The property IpfcMaterial.FailureCriterion sets 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 property IpfcMaterial.PermittedFailureCriteria to retrieve a list of permitted string values for the material failure criterion.
    The property IpfcMaterial.Hardness sets the hardness for the specified material.
    The property IpfcMaterial.HardnessType sets the hardness type for the specified material.
    The property IpfcMaterial.Condition sets the condition for the specified material.
    The property IpfcMaterial.BendTable sets the bend table for the specified material .
    The property IpfcMaterial.CrossHatchFile sets the file containing the crosshatch pattern for the specified material .
    The property IpfcMaterial.MaterialModel sets the type of hyperelastic isotropic material model .
    Use the property IpfcMaterial.PermittedMaterialModels to retrieve a list of the permitted string values for the material model.
    The property IpfcMaterial.ModelDefByTests determines whether the hyperelastic isotropic material model has been defined using experimental data for stress and strain.
    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 IpfcMaterial is a child of IpfcParameterOwner, which provides access to user-defined parameters and properties of materials through the methods in that interface.