Composite Design
Introduction to Composite Design
In Creo Parametric 10.0.1.0 and later, the composite functionality is added. To set up the composite design environment, you need to complete the following steps:
•  Add Composite Materials — The Composite Design environment uses composite materials of the top part, to create plies and cores.
•  Define the Layup Surface—A layup surface is defined by selecting an individual surface, a complete quilt, or multiple surfaces of the same quilt or the same body. You can define only one layup surface in a Composite feature.
•  Define a Rosette—A rosette is a reference coordinate system that defines the primary fiber orientation of the plies and cores. You must define a layup surface before defining the rosette.
For more details about Creo Composite Design and the user interface, refer to the Composite Design module in the Creo online help.
Non-Compatible APIs in Composite Models
The functions that do not support composite models return the error type PRO_TK_UNSUPPORTED, when a composite model is passed as the input model.
Non-Compatible APIs for read-only/locked models
The functions that do not support read-only/locked models return the error type PRO_TK_CANT_MODIFY or PRO_TK_BAD_INPUTS when a read-only/locked model is passed as the input model.
Composite Feature
The feature type PRO_FEAT_CMPST_DESIGN represents the composite feature. You can create a composite feature using the function ProCompositeFeatureCreate().
Note
Always regenerate the composite model and top part using the ProSolidRegenerate().
Functions Introduced:
  • ProCompositeMdlGet()
  • ProCompositeFeatureCreate()
  • ProMdlIsComposite()
  • ProRosetteDefaultSet()
  • ProRosetteDefaultGet()
  • ProCompositePlyVisit()
  • ProPlyColorGet()
  • ProPlyFeatureGet()
  • ProSolidBodyIsComposite()
  • The function ProCompositeMdlGet() retrieves the composite model for the specified composite feature.
    The function ProCompositeFeatureCreate() creates an empty composite feature with the specified model handle.
    Use the function ProMdlIsComposite() to check if model is a composite model.
    The function ProRosetteDefaultSet() sets the specified rosette feature as default.
    The function ProRosetteDefaultGet() returns the default rosette feature for the specified composite model.
    The function ProCompositePlyVisit() visits all the plies in the specified composite solid. The input arguments are as follows:
    •  composite—Handle to composite solid.
    •  action—Visiting function defined by ProModelitemVisitAction(). If it returns anything other than PRO_TK_NO_ERROR, visiting stops.
    •  filter—Filter function defined by ProModelitemFilterAction() If it is NULL, all the features in the specified solid are visited using the action function.
    •  appdata—Application data passed to the filter and action functions.
    Use the function ProPlyColorGet() to retrieve the color of the ply.
    Use the function ProPlyFeatureGet() to retrieve the feature that created the specified ply.
    Composite Feature Types
    The following feature types are supported in Composite Design:
    Feature Type
    Description
    New/Existing
    PRO_FEAT_CMPST_DESIGN
    Composite Design
    New
    PRO_FEAT_CSYS
    PRO_CSYS_SUB_TYPE_ROSETTE
    Coordinate System
    Rosette
    Existing
    New
    PRO_FEAT_GEOM_COPY
    PRO_E_CMPST_DESIGN_SURF_DIR
    Copy Geometry
    Layup Surface
    Existing
    New
    PRO_FEAT_REMOVE_PLY
    Remove Ply
    New
    PRO_FEAT_CMPST_MAN_PLY
    Manual Ply
    New
    PRO_FEAT_CMPST_CORE
    Core Ply
    New
    PRO_FEAT_CMPST_PLIES_TRANS
    Transition Plies
    New
    PRO_FEAT_CMPST_SPLC
    Splice Plies
    New
    PRO_FEAT_CMPST_DRAPE
    Composite Drape
    New
    PRO_FEAT_CMPST_DESIGN_SURF  
    New
    PRO_FEAT_DATUM
    All types of Datums
    Existing
    PRO_FEAT_CURVE
    PRO_CURVE_TYPE_CLOSED_LOOP
    All types of Curves
    Closed Loop Curve
    Existing
    New
    PRO_FEAT_DATUM_POINT
    Datum Points
    Existing
    PRO_FEAT_DATUM_AXIS
    Datum Axis
    Existing
    Materials for Composite Feature
    By default, Creo assigns the initial material to the new composite feature automatically provided a composite material exists in the top part of your composite feature. If you want to assign composite materials to a composite feature, you can add the materials to the top part. These materials assigned to the top part are listed in the composite material tree which you select and assign to a ply or a core feature. You can also set a default material to the composite feature. If you change the composite materials in the top model, you are prompted to regenerate the composite feature. When you create a new composite feature, the default material is the first component material in the list of materials.
    When you create a composite feature without materials, the first composite material added to the model becomes the default material of the active composite feature.
    Note
    You cannot add or edit a material in the composite material tree. You can add and assign materials only to the top part to your composite feature.
    Properties of a Composite Material
    You can use the enumerated data type ProMaterialPropertyType to define the properties of the composite material:
    •  PRO_MATPROP_SPECIFICATION
    •  PRO_MATPROP_FABRIC_ARCHITECTURE
    •  PRO_MATPROP_CONSTIT_FIBER_ANGLES
    •  PRO_MATPROP_CURED_THICKNESS
    •  PRO_MATPROP_UNCURED_THICKNESS
    •  PRO_MATPROP_ROLL_WIDTH
    •  PRO_MATPROP_WARN_ANGLE
    •  PRO_MATPROP_LIMIT_ANGLE
    •  PRO_MATPROP_AREAL_MASS
    •  PRO_MATPROP_AREAL_COST
    Mass Properties of a Composite Feature
    The mass properties computation in the Composite Design environment is similar to the standard mass properties computation. You can compute the mass properties of a single laminate object similar to a ply or a core, or the full laminate. Before you compute the mass properties of the whole laminate, make sure that you setup a mass properties computation method as follows:
    •  Based on layup surface
    •  Based on underlying plies
    The function ProCompositeMassPropertyOptionGet() retrieves the mass property calculation option for the specified composite model. The input argument composite_mdl is specified using the ProMdl object. The function returns the output the mass property calculation option using the enumerated data type ProCompositeMassPropertyOption. The valid values are:
    •  PRO_CMPST_MP_LAYUP_BASED—Calculates mass properties of plies and cores based on their geometry on the layup surface.
    •  PRO_CMPST_MP_PLIES_BASED—Calculates mass properties of a laminate object based on the effect of underlying plies in the laminate stack on its 3D position from the layup surface. With the underlying plies option specified, all mass properties calculations are shared with the draping simulation analysis. This allows to leverage intermediate results to improve the performance.
    Use the function ProCompositeMassPropertyOptionSet() to set mass property calculation option on composite solid. The input arguments are composite_mdl, the composite model specified using the ProMdl object and opt, the option to calculate mass property.
    Ply Objects
    The term “Ply” denotes a single layer of material such as foam, paper, aluminum, or honeycomb structure in the Composite Design environment. A ply is defined using the object ProPly with the type as PRO_CMPST_PLY_DEF. You can use the ProPly object to set and get the color of the ply.
    Ply View and Flat Ply View
    You can create and view the scaled-up section of a model along a particular direction. You can also create multiple composite sections in a Composite Design. For this, you must have ply objects in your Composite Design environment.
    Functions Introduced:
    Use the function ProDrawingFlatPlyViewCreate() to create a flat ply view in a specified drawing. The drawing must be displayed. The input arguments are as follows:
    •  drawing—The drawing on which you want to create a flat ply view and is defined using ProDrawing object.
    •  composite—The composite solid defined using ProSolid.
    •  sheet_number—Reserved for future use.
    •  ply —Active ply defined using the ProPly feature type.
    •  position —The position of the view on the screen and is defined using the ProPoint3d object.
    •  scale —Scale defined as double value. If scale is >0, the view has an associated scale. If scale is <=0, the view has a default scale.
    Use the function ProDrawingPlyViewCreate() to create a ply view in a specified drawing. The drawing must be displayed. The input arguments are as follows:
    •  drawing—The drawing on which you want to create a flat ply view and is defined using ProDrawing object.
    •  composite—The composite solid defined using ProSolid.
    •  sheet_number—The number of the sheet on which to place the view.
    •  ply —Active ply defined using the ProPly feature type.
    •  position —The position of the view on the screen and is defined using the ProPoint3d object.
    •  scale —Scale defined as double value. If scale is >0, the view has an associated scale. If scale is <=0, the view has a default scale.
    The output of both the functions ProDrawingFlatPlyViewCreate() and ProDrawingPlyViewCreate() is the view specified by the ProView handle.
    Laminate Cross Section
    Functions Introduced:
    The function ProXSectionLaminateCreate() creates a cross section through a datum plane and makes it visible. The input arguments are as follows:
    •  solid_owner—Specifies the model where the cross section will be created.
    •  xsec_name—Specifies the name of the cross section.
    •  cutting_plane—Specifies the selection of the cutting plane. The cutting plane must belong to the solid owner.
    •  flip—Specifies the cross section flip with respect to cutting plane positive normal.
    The output argument r_xsec is the handle to the cross section specified using ProXsecMdlname.
    The function ProXSectionLaminateCreate() returns the error PRO_TK_BAD_CONTEXT, if the solid owner is not a composite design model.
    Use the function ProXSectionLaminateScaleGet() to get the value of the ply section exaggerated scale.
    Use the function ProXSectionLaminateScaleModify() to modify the value of the ply section exaggerated scale.
    Limitations of Composite Mode in Creo Toolkit
    •  If Composite mode is active, you cannot load a Creo TOOLKIT application.
    •  If you have loaded a Creo TOOLKIT application already and you switch to the Composite mode:
      Your application becomes inaccessible. For example, the commands/buttons that are added by the application are disabled and cannot be executed.
      Notifications registered by your application will not get called while Composite mode is active.