CATMecModUseItf Interface CATIShapeFeatureProperties

Usage: you can reimplement this interface by deriving the supplied CATMmrShapeFeaturePropertiesAdapter adapter class.


interface CATIShapeFeatureProperties

Interface to retrieve characteristics of a solid feature.
Role: A solid feature is a geometrical feature which references 3D geometry. There are two kinds of solid feature: the form and the contextual feature.

Form versus Contextual Feature

A Pad, a Pocket, a Groove, are different features: some add matter, while some remove it. However, they share a common point: they have a form and are therefore called form features. What is that?

Take a Groove for instance. From its input parameters, a Curve and a closed Sketch, one can easily derive a shape (a Form) by sliding the Sketch along the Curve. The resulting solid has then to be operated with the Part's shape as it exists prior to the definition of the Groove, by removing matter (thanks to a boolean remove operation in that case).

The fact that those features can be applied by first computing their form and then operating the form with the current shape of the set defines the form feature. The form of such a feature is sometimes called its footprint.

In contrast to form features, contextual features cannot be applied by computing a standalone footprint first, and operating it with the current set in a second step. Fillets, Drafts, and generally all Dress up Features fall into this category, because their shape is determined not only by their own input parameters, but also by the local topology of the target body (hence their name). Contextual features do not have a footprint.

This interface enables you to retrieve (or to define) the type of the solid feature thanks to the two first methods ( and ) which are of course exclusives (except for the Body feature, see below the section dedicated to this feature, and the features representing the boolean operations)

Polarity of the Solid Feature

It must be noticed that the fact that some features add and some others remove matter from the Part is not linked to the Form/Contextual classification. A Draft is a Contextual Feature that adds matter, while a Chamfer, still contextual, removes it. A Shaft and a Pocket are Form Features that create and remove matter respectively. The method enables you to retrieve (or to define) the intrinsic polarity of a solid feature.

Body Feature Implementation

This interface is implemented on the Body feature. In this case, only the method is valid.

BOA information: this interface CAN be implemented using the BOA (Basic Object Adapter). To know more about the BOA, refer to the CAA Encyclopedia home page. Click Middleware at the bottom left, then click the Object Modeler tab page. Several articles deal with the BOA.

See also:
,


Method Index


o CanBePatterned()
Returns if the current solid feature can be patterned.
o GetPolarity()
Returns the polarity of the current solid feature.
o GiveMeYourBRepSpecifications(CATLISTV(CATIMmiUseMfBRep_var)&)
Returns all the BRep specifications of the current solid feature.
o GiveMeYourFavoriteSketches(CATLISTV(CATIMmiMechanicalFeature_var)&)
Returns specific sketches of the current solid feature.
o IsAContextualFeature()
Returns if the current solid feature is contextual.
o IsAFreeFormFeature()
Returns if the current solid feature is a form feature.

Methods


o CanBePatterned
public virtual CanBePatterned()
Returns if the current solid feature can be patterned.
Returns:
An integer value.
Legal values:
  • 1 the current feature can be patterned.
  • 0 the current feature cannot be patterned.
o GetPolarity
public virtual GetPolarity()
Returns the polarity of the current solid feature.
Role:This method returns the polarity of the solid feature. The polarity of a feature enables you to know if the feature adds or removes matter. But this method returns the intrinsic polarity of the feature. In other words, for a Pad for example, this method always returns Add, even if the Pad removes matter. Consider the case where the Pad is inside a Body feature which contains at first a Hole, the form of the Pad will be removed from the hole.
Returns:
The returned values depends on the feature.
Legal values:
  • Body: ToolAdd or ToolRemove

  • The Body polarity is the polarity of its first activated ( ) solid feature.
  • Assemble boolean operation: EltAdd or EltRemove

  • The polarity of the Assemble feature is the polarity of its operated body ( )
  • Add boolean operation: EltAdd
  • Remove boolean operation: EltRemove
  • Intersect boolean operation: EltIntersect (== Add)
  • Other solid feature: Add, EltAdd, Remove or EltRemove
o GiveMeYourBRepSpecifications
public virtual GiveMeYourBRepSpecifications( ioListOfBreps)
Returns all the BRep specifications of the current solid feature.
Role: This method returns all the BRep ( ) features which are specifications of this solid feature.
Parameters:
ioListOfBreps
List of BRep specifications.
Returns:
S_FALSE
successfully returns an empty list
S_OK
successfully returns a list
E_FAIL
failed
o GiveMeYourFavoriteSketches
public virtual GiveMeYourFavoriteSketches( ioListOfSketches)
Returns specific sketches of the current solid feature.
Role:This method returns specific referenced sketches of the solid feature. These sketches will be used in two cases:
Parameters:
ioListOfSketches
List of sketches.
Returns:
S_FALSE
successfully returns an empty list
S_OK
successfully returns a list
E_FAIL
failed
o IsAContextualFeature
public virtual IsAContextualFeature()
Returns if the current solid feature is contextual.
Role:This method enables you to know if the solid feature is a contextual feature or not.
Returns:
An integer value.
Legal values:
  • 1 the current feature is contextual.
  • 0 the current feature is not contextual.
For the features representing a boolean operation ( Add, Assemble, Remove, Intersect and Union Trim) the value is 0.
o IsAFreeFormFeature
public virtual IsAFreeFormFeature()
Returns if the current solid feature is a form feature.
Role:This method enables you to know if the solid feature is a form feature or not.
Returns:
An integer value.
Legal values:
  • 1 the current feature is a form feature.
  • 0 the current feature is not a form feature.
For the features representing a boolean operation ( Add, Assemble, Remove, Intersect and Union Trim) the value is 0.

This object is included in the file: CATIShapeFeatureProperties.h
If needed, your Imakefile.mk should include the module: CATMecModUseItf

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.