Functional Tolerancing & Annotations Types

This page describes various types specific to the app.

This page discusses:

AdvStatusSemanticAnnotation

Type describing the semantic annotation status.

Inheritance Path

ObjectType
 Literal
  Enumere
   AdvStatusSemanticAnnotation

Enumerated Values

Value NLS Value Comment
TPSStatusUnknown Unresolved The validity status of the annotation is not or cannot be checked.
TPSStatusTTRSKO Invalid Tolerancing Feature At least one of the components of the group of surfaces to which the 3D annotation is applied is invalid.
TPSStatusTTRSUnknown Unresolved Tolerancing Feature The user surface or group of surfaces pointed by 3D annotation have at least one of its components not loaded.
TPSStatusSemanticKO Invalid Semantic Related entity reports a semantic deviation with respect to its Standard.
TPSStatusSemanticUnknown Unresolved Semantic Semantic diagnosis does not run or semantic status cannot be properly established.
TPSStatusLeaderKO Disconnected leader A leader is not pointing the referenced geometry.

CATFTAElement

Type describing the generic annotation element. Basic type for any entity involved in the definition of a tolerancing specification

Inheritance Path

ObjectType
 Feature
  CATFTAElement

Attributes

This type exposes 3 attributes:

Name Type Comment
IsSemantic Boolean Returns TRUE if the annotation is a semantic.
GeometriesPointed String
CountTextAnnotation Integer The count of text annotations created on an FTA element

Example

The following sample illustrates how to prompt a name of any entity handled with this object type:

let FTAEntity(CATFTAElement)
FTAEntity = .... // Feature to be managed as an CATFTAElement

// Display CATFTAElement name if valid
if ( FTAEntity <> NULL)
{
	Message( "Here is prompted the name of this FTA Entity: #", FTAEntity.Name )
}

CATTPSAllAnnotations

Type describing the specific FTA type used to retrieve annotations (Texts, dimensions, datum, GDTs, roughness, weld, NOA).

Inheritance Path

ObjectType
 Feature
  CATTPSAllAnnotations

Attributes

This type exposes 2 attributes:

Name NLS Name Type Comment
LinkToFeatName Applied to a feature name String
LinkToFeatType Applied to a feature type String

Example

// Get the list of annotation within a Part feature
Let ListOfAnnotation( List )
ListOfAnnotation = SelectedPart.Query("CATTPSAllAnnotations", "")

// Parse result list to guess what are those annotations (name display)
Let FTAEntity(CATFTAElement)
Let AllAnnotationElt(CATTPSAllAnnotations)
for AllAnnotationElt inside ListOfAnnotation
{
	// Assign Annotation Elt as FTAElement to read its Name
	set FTAEntity = AllAnnotationElt
	
	// Read its attribute value
	Let LinkToFeat(String)
	LinkToFeat = AllAnnotationElt.LinkToFeatName
	Let LinkToType(String)
	LinkToType = AllAnnotationElt.LinkToFeatType
	
	// Display
	if ( FTAEntity <> NULL )
		Message(
	"Here is prompted the name of this FTA Entity: #
	    _ its attribute LintToFeatName value is  : #
	    _ its attribute LinkToFeatType value is  : #", FTAEntity.Name, LinkToFeat,LinkToType )

CATTPSBasicDim

Filtering type describing basic dimension annotations.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSBasicDim

Attributes

Name Type Comment
ReferencesADrillHole Boolean Returns TRUE if CATTPSBasicDim references a drill hole.
ReferencesADrillHoleAxis Boolean Returns TRUE if CATTPSBasicDim references a drill hole axis.
ReferencesADrillHoleAxisUsingCG Boolean Returns TRUE if CATTPSBasicDim references a drill hole axis based on constructed geometry.
IsCGLineGeometry Boolean

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation a basic dimension ?
	Let BasicDim( CATTPSBasicDim )
	set BasicDim = AllAnnotationElt
	if ( BasicDim <> NULL )
		Message("Annotation is a basic dimension")

CATTPSCapture

Type defining variables to manage FTA Capture entities.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSCapture

Attributes

Name NLS Name Type Comment
ListTypeOccurrence List List(List(type, occurrence), List(type, occurrence)…)
IsCurrent IsCurrent Boolean The current status of the capture.
HasACamera HasACamera Boolean Returns TRUE if a camera is associated to the Capture.
HasAView HasAView Boolean Returns TRUE if the capture has a view associated.
GetAssociatedTPSView GetAssociatedTPSView CATTPSView The CATTPSView associated to the capture.
CaptureCameraDirection list of 3 double The direction of the camera associated to the capture. If there is no camera associated, returns list(0, 0, 0).
CaptureCameraZenith list of 3 double The zenith direction of the camera associated to the Capture. If there is no camera associated, returns list(0, 0, 0).
CameraName CameraName String The name of the camera associated to the capture, if there is no camera associated the attribute CameraName returns empty string "".
SystemUsed List of string The list of all datum name referenced by the DatumReferenceFrame.

Example

// Get the list of captures within a Part feature
Let ListOfCapture( List )
ListOfCapture = SelectedPart.Query("CATTPSCapture", "")

// Parse result list to guess what are (if any) existing captures (name display)
Let FTAEntity(CATFTAElement)
Let CaptureElt(CATTPSCapture)
for CaptureElt inside ListOfCapture
{
	// Assign current Capture Elt as FTAElement to read its Name
	set FTAEntity = CaptureElt
	
	// Read its attribute list length
	Let CaptureSet(List)
	CaptureSet = CaptureElt.ListTypeOccurrence
	Let NumberOfElementInCapture(Integer)
	NumberOfElementInCapture = CaptureSet.Size
	
	// Display
	if ( FTAEntity <> NULL )
		Message(
	"Here is prompted the name of this FTA Entity: #
	 Capture is composed of # element(s)", FTAEntity.Name, NumberOfElementInCapture )

CATTPSConstructedGeometry

Type defining variables aimed at holding FTA constructed geometry.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSConstructedGeometry

Example

// Get the list of CGs (Constructed Geometries) within a Part feature
Let ListOfCG( List )
ListOfCG = SelectedPart.Query("CATTPSConstructedGeometry", "")

// Parse result list to guess what are those retrieved CGs (name display)
Let FTAEntity(CATFTAElement)
Let CurrentCG(CATTPSConstructedGeometry)
for CurrentCG inside ListOfCG
{
	// Assign current CG Elt as FTAElement to read its Name
	set FTAEntity = CurrentCG
	
	// Display
	if ( FTAEntity <> NULL )
		Message("Here is prompted the name of this FTA Entity: #", FTAEntity.Name )

CATTPSCoordDim

Filtering type describing coordinate dimension annotations.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSCoordDim

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation a coordinate dimension ?
	Let CoordDim( CATTPSCoordDim )
	set CoordDim = AllAnnotationElt
	if ( CoordDim <> NULL )
		Message("Annotation is a coordinate dimension")

CATTPSExtractionView

Type defining variables devoted to manage FTA Extraction View, specifically aimed at preparing specific types of views for 2D extraction.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSExtractionView

Example

// Get the list of special extraction Views
Let ListOfExtractionView( List )
ListOfExtractionView = SelectedPart.Query("CATTPSExtractionView", "")

// Parse result list to have an idea of views composing the layout of this Part Feature
Let FTAEntity(CATFTAElement)
Let OneExtractionView(CATTPSExtractionView)
for OneExtractionView inside ListOfExtractionView
{
	// Assign current View as FTAElement to read its Name
	set FTAEntity = OneExtractionView
	
	// Display
	if ( FTAEntity <> NULL )
		Message("Name of retrieved extraction view: #", FTAEntity.Name )

CATTPSFlagNote

Filtering type dealing with flag note annotations.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSFlagNote

Attributes

Name NLS Name Type Comment
HavingAttrLink Having Attribute links Boolean
HavingDocument Having Hyper Links Boolean
LabelString Label String String

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation a flag note ?
	Let FlagNote( CATTPSFlagNote )
	set FlagNote = AllAnnotationElt
	if ( FlagNote <> NULL )
        {
                // read its attributes content
                Let HasAttrLink( Boolean )
                HasAttrLink = FlagNote.HavingAttrLink
                Let HasAttrLinkValue( String )
                if ( HasAttrLink == TRUE )
                     HasAttrLinkValue = "true"
                else
                     HasAttrLinkValue = "false"

                Let IsDocAssociated( Boolean )
                IsDocAssociated = FlagNote.HavingDocument
                Let IsDocAssociatedValue( String )
                if ( IsDocAssociated == TRUE )
                     IsDocAssociatedValue = "true"
                else
                     IsDocAssociatedValue = "false"

                Let Label( String )
                Label = FlagNote.LabelString

		Message(
                "Annotation is a flag note:
                    _ attribute HavingAttrLink is set to: #
                    _ attribute HavingDocument is set to: #
                    _ label specifies equals to         : #"HasAttrLinkValue,IsDocAssociatedValue,Label)
        }

CATTPSNoa

Filtering type addressing NOA annotations.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSNoa

Attributes

Name NLS Name Type Comment
NOAType NOAType String The type of the NOA

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation a NOA entity ?
	Let NOA( CATTPSNoa )
	set NOA = AllAnnotationElt
	if ( NOA <> NULL )
		Message("Annotation is a NOA element")

CATTPSNonSemantic

Filtering type segregating FTA having no semantic meaning.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSNonSemantic

Attributes

Name NLS Name Type Comment
TypeAnnotation Type TypeAnnotation

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation without semantic ?
	Let NonSemanticEntity( CATTPSNonSemantic )
	set NonSemanticEntity = AllAnnotationElt
	if ( NonSemanticEntity <> NULL )
		Message("Annotation is a non semantic element")

CATTPSReferenceFrame

Filtering type revealing reference frame specifications.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSReferenceFrame

Attributes

Name NLS Name Type Comment
LabelRefFrame Label String String

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation a reference frame element ?
	Let ReferenceFrame( CATTPSReferenceFrame )
	set ReferenceFrame = AllAnnotationElt
	if ( ReferenceFrame <> NULL )
        {
                // read its single attribute content
                Let Label( String )
                Label = ReferenceFrame.LabelRefFrame

		Message("Annotation is a Reference Frame named: #",Label)
        }

CATTPSRestrictedArea

Filtering type allowing to specify variable to focus on restricted area definition.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSRestrictedArea

Example

// Get the potential restricted areas created within a Part feature
Let RestrictedAreaList( List )
RestrictedAreaList = SelectedPart.Query("CATTPSRestrictedArea", "")

// Parse result list to guess what are those retrieved CGs (name display)
Let FTAEntity(CATFTAElement)
Let RestrictedAreaEntity(CATTPSRestrictedArea)
for RestrictedAreaEntity inside RestrictedAreaList
{
	// Assign current restricted area as FTAElement to read its Name
	set FTAEntity = RestrictedAreaEntity
	
	// Display
	if ( FTAEntity <> NULL )
		Message("Here is prompted the name of this FTA Entity: #", FTAEntity.Name )
}

CATTPSRoughness

Filtering type grabbing roughness elements belonging to an annotation set.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSRoughness

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation a Roughness entity ?
	Let Roughness( CATTPSRoughness )
	set Roughness = AllAnnotationElt
	if ( Roughness <> NULL )
		Message("Annotation is a Roughness element")

CATTPSSemantic

Filtering type segregating FTA interesting regarding their semantic meaning according to the applied Standard.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSSemantic

Attributes

Name NLS Name Type Comment
AdvStatusSemanticAnnotation Advanced Status AdvStatusSemanticAnnotation
StatusSemanticAnnotation Status StatusSemanticAnnotation
TypeSemanticAnnotation Type TypeSemanticAnnotation

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation semantic ?
	Let SemanticFTA( CATTPSSemantic )
	set SemanticFTA = AllAnnotationElt
	if ( SemanticFTA <> NULL )
	{
		// Deduce semantic status of the annotation
		Let StatusMsg( String )
		Let GlobalStatus( StatusSemanticAnnotation )
		GlobalStatus = SemanticFTA.StatusSemanticAnnotation
		if ( GlobalStatus == "TPSStatusOK" )
		{
			// Valid: everything is OK
			StatusMsg = "Valid"
		}
		else
		{
			// Try to learn more about invalidity
			Let AdvStatusSemanticStatus( AdvStatusSemanticAnnotation )
			AdvStatusSemanticStatus = SemanticFTA.AdvStatusSemanticAnnotation
			if ( AdvStatusSemanticStatus == "TPSStatusUnknown" )
				StatusMsg = "Unresolved"
			else if ( AdvStatusSemanticStatus == "TPSStatusTTRSKO" )
				StatusMsg = "Invalid Tolerancing Feature"
			else if ( AdvStatusSemanticStatus == "TPSStatusTTRSUnknown" )
				StatusMsg = "Unresolved Tolerancing Feature"
			else if ( AdvStatusSemanticStatus == "TPSStatusSemanticKO" )
				StatusMsg = "Invalid Semantic"
			else if ( AdvStatusSemanticStatus == "TPSStatusSemanticUnknown" )
				StatusMsg = "Unresolved Semantic"
			else if ( AdvStatusSemanticStatus == "TPSStatusLeaderKO" )
				StatusMsg = "Deconnected leader"
			else
				StatusMsg = "Invalidity root cause is not well understood"
		}
		
		// Assess FTA semantic type
		Let FTASemanticType( String )
		Let FTAType( TypeSemanticAnnotation )
		FTAType = SemanticFTA.TypeSemanticAnnotation
		if ( FTAType == "TPSGeometricalAnnot" )
			FTASemanticType = "Geometrical tolerance"
		else if ( FTAType == "TPSDimensionAnnot" )
			FTASemanticType = "Dimension"
		else if ( FTAType == "CATTPSReferenceFrame" )
			FTASemanticType = "Datum Reference Frame"
		else if ( FTAType == "TPSDatumAnnot" )
			FTASemanticType = "Datum feature"
		else if ( FTAType == "TPSTargetAnnot" )
			FTASemanticType = "Datum target"
		else
			FTASemanticType = "Weird type detected as semantic."
		Message(
		"Annotation is a semantic element of type #.
		Its semantic validity assesment has given the diagnosis: #",FTASemanticType,StatusMsg )
	}

CATTPSSet

Type representing the Annotation Set.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSSet

Attributes

Name NLS Name Type Comment
ProductReferencedr Reference Product String
SwitchOn SwitchOn Boolean Returns TRUE if annotation set is switch on.
StandardName StandardName String The name of the standard used by the annotation set.

Methods

The following methods are associated with this type:

Example

// Request any existing annotation under a Part feature
Let AnnotationSetList( List )
AnnotationSetList = SelectedPart.Query("CATTPSSet", "")

// Parse result list; it should contain only one entity.
Let FTAEntity(CATFTAElement)
Let SetEntity(CATTPSSet)
for SetEntity inside AnnotationSetList
{
	// Assign current restricted area as FTAElement to read its Name
	set FTAEntity = SetEntity
	
	// Display
	if ( FTAEntity <> NULL )
		Message("Name of the annotation set: #; it constitutes a specification of #.", FTAEntity.Name, SetEntity.ProductReference )
}

CATTPSText

Annotation type working with text.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSText

Attributes

Name NLS Name Type Comment
HavingAttrLink Having Attribute links Boolean
TextString Text String String

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation a Text entity ?
	Let Text( CATTPSText )
	set Text = AllAnnotationElt
	if ( Text <> NULL )
        {
                // Check if text content is issued from a pointed entity
                Let HasAttrLink( Boolean )
                HasAttrLink = Text.HavingAttrLink
                Let HasAttrLinkValue( String )
                if ( HasAttrLink == TRUE )
                     HasAttrLinkValue = ", and this value is the proxy of a pointed entity."
                else
                     HasAttrLinkValue = "."

		Message("Annotation is a Text element; its content is: ##", Text.TextString, HasAttrLinkValue)
        }

CATTPSView

Type managing the view.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSView

Attributes

Name Type Comment
IsReferencedByACapture Boolean Returns TRUE if a capture references the view
ReferencedCaptureName String Returns the list of names of the captures referencing the view
ViewPlaneNormal list of 3 doubles The normal direction of the CATTPSView
ViewPlaneFirstDirection list of 3 doubles The first direction of the plane of CATTPSView

Methods

The following methods are associated with this type: CATTPSView.AddPlaneAssociativity()

Example

// Get the list of Views constituting 2D layout of a Part feature
Let ListOfFTAView( List )
ListOfFTAView = SelectedPart.Query("CATTPSView", "")

// Parse result list to have an idea of views composing the layout of this Part Feature
Let FTAEntity(CATFTAElement)
Let OneView(CATTPSView)
for OneView inside ListOfFTAView
{
	// Assign current View as FTAElement to read its Name
	set FTAEntity = OneView
	
	// Display
	if ( FTAEntity <> NULL )
		Message("View: #", FTAEntity.Name )
}

CATTPSViewText

Specialized Annotation type representing text for View name.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSViewText

Attributes

Name NLS Name Type Comment
HavingAttrLink Having Attribute links Boolean
TextString Text String String

CATTPSWeld

Filtering type dealing with weld annotations.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   CATTPSWeld

Example

CATTPSWeld

Filtering type to deal with weld annotations.
Refer to user documentation: https://help.3ds.com/2016x/English/DsDoc/FtaUserMap/fta-t-Annotations-WeldFeature.htm

Example:

Extract from the main loop given in CATTPSAllAnnotations section:

...
	// Is current annotation a Weld entity ?
	Let Weld( CATTPSWeld )
	set Weld = AllAnnotationElt
	if ( Weld <> NULL )
		Message("Annotation is a Weld.")

DimensionType

Inheritance Path

ObjectType
 Literal
  Enumere
   DimensionType

Enumerated Values

Value NLS Value Comment
DrwDimDistance Distance Dimension between two elements
DrwDimLength Length Intrinsic dimension of one element
DrwDimAngle Angle Angular dimension between two entities
DrwDimRadius Radius Radius of an entity
DrwDimDiameter Diameter Diameter of an entity
DrwDimChamfer Chamfer Dimensions applied to the Part Design chamfer feature
TPSOrientedDimDistance Oriented Distance Oriented dimension between two elements
TPSOrientedDimAngle Oriented Angle Oriented agular dimension between two elements
TPSThread Thread Thread dimension
TPSSecondDim Second Dimension Second dimension

Example

TPSDimensionAnnot

Filtering type required to manage dimension features.
Refer to user documentation: https://help.3ds.com/2016x/English/DsDoc/FtaUserMap/fta-m-Dimensions-sb.htm?ContextScope=cloud&id=bc76c723b18d458e8a2d95eb3a9906bf#Pg0
Based on a valid reference for such an object, end user can consult:
   _ Dim3DDriveableAttr,
   _ DimFakeAttr,
   _ DimTrueAttr,
   _ DimensionType (see DimensionType),
   _ DimensionValue.


Example:

Extract from the main loop given in CATTPSAllAnnotations section:

...
	// Is current annotation a dimension ?
	Let Dimension( TPSDimensionAnnot )
	set Dimension = AllAnnotationElt
	if ( Dimension <> NULL )
	{
		// Take into account its internal attributes to better qualify it
		// 3D driven?
		Let SteeredDimension( String )
		if ( Dimension.Dim3DDriveableAttr == true )
			SteeredDimension = "; that value is driven by a 3D input"
		else
			SteeredDimension = ""
		
		// Fake dimension?
		Let FakeFacet( String )
		if ( Dimension.DimFakeAttr == true )
			FakeFacet = "fake "
		else
			FakeFacet = ""
		
		// True dimension
		Let TrueDim( String )
		if ( Dimension.DimTrueAttr == true )
			TrueDim = " (true dimension)"
		else
			TrueDim = ""
		
		// Dimension type study
		Let TypeStr( String )
		Let DimType( DimensionType )
		DimType = Dimension.DimensionType
		if ( DimType == "DrwDimDistance" )
			TypeStr = "Distance"
		else if ( DimType == "DrwDimLength" )
			TypeStr = "Length"
		else if ( DimType == "DrwDimAngle" )
			TypeStr = "Angle"
		else if ( DimType == "DrwDimRadius" )
			TypeStr = "Radius"
		else if ( DimType == "DrwDimDiameter" )
			TypeStr = "Diameter"
		else if ( DimType == "DrwDimChamfer" )
			TypeStr = "Chamfer"
		else if ( DimType == "TPSOrientedDimDistance" )
			TypeStr = "Oriented Distance"
		else if ( DimType == "TPSOrientedDimAngle" )
			TypeStr = "Oriented angular dimension"
		else if ( DimType == "TPSThread" )
			TypeStr = "Thread"
		else if ( DimType == "TPSSecondDim" )
			TypeStr = "Second dimension"
		else
			TypeStr = "Unexpected"
		
		Message("Annotation is a #dimension# of type # displaying value ##.",FakeFacet, TrueDim, TypeStr, Dimension.DimensionValue, SteeredDimension)
	}

GDTType

Inheritance Path

ObjectType
 Literal
  Enumere
   GDTType

Enumerated Values

Value NLS Value Comment
DRW_GDT_NOSYMBOL None No symbol applied
DRW_GDT_STRAIGHTNESS Straightness Straightness
DRW_GDT_FLATNESS Flatness Flatness
DRW_GDT_CIRCULARITY Circularity Circularity
DRW_GDT_CYLINDRICITY Cylindricity Cylindricity
DRW_GDT_LINEPROFILE Line Profile Line Profile
DRW_GDT_SURFACEPROFILE Surface Profile Surface Profile
DRW_GDT_ANGULARITY Angularity Angularity
DRW_GDT_PERPENDICULARITY Perpendicularity Perpendicularity
DRW_GDT_PARALLELISM Parallelism Parallelism
DRW_GDT_POSITION Position Position
DRW_GDT_CONCENTRICITY Concentricity Concentricity
DRW_GDT_SYMMETRY Symmetry Symmetry
DRW_GDT_CIRCULARRUNOUT Circular Runout Circular Runout
DRW_GDT_TOTALRUNOUT Total Runout Total Runout

StatusSemanticAnnotation

Inheritance Path

ObjectType
 Literal
  Enumere
   StatusSemanticAnnotation

Enumerated Values

Value NLS Value Comment
TPSStatusOK Valid Semantic validation diagnosis completed and OK
TPSStatusAllKO Invalid Semantic status invalid; more precise information is possible with AdvStatusSemanticAnnotation

TPSDatumAnnot

Filtering type focusing datum definition.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   TPSDatumAnnot

Attributes

Name NLS Name Type Comment
FeatureRefName Reference name String Gets the datum label.

Example

Extract from the main loop given in CATTPSAllAnnotations section:

	// Is current annotation a datum ?
	Let Datum( TPSDatumAnnot )
	set Datum = AllAnnotationElt
	if ( Datum <> NULL )
        {
                // read its single attribute content
                Let Label( String )
                Label = Datum.FeatureRefName

		Message("Annotation is a Datum named: #",Label)
        }

TPSDimensionAnnot

Filtering type required for managing dimension features.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   TPSDimensionAnnot

Attributes

Name NLS Name Type Comment
Dim3DDriveableAttr Driving 3D Boolean Indicates if the dimension is drivable or not.
DimFakeAttr Fake Boolean Indicates if the dimension is fake or not.
DimFakeAttrValue DimFakeAttrValue String
DimFakeModeAttr DimFakeModeAttr Integer
DimTrueAttr True Boolean Indicates if the dimension is a true dimension or not.
DimensionType Type DimensionType Describes the dimension type.
DimensionValue Value LENGTH Gets the dimension value.
ToleranceType enum the value of the tolerance type (General, numerical, tabulated single limit, information, thread, or undefined)
DualValueDescription DualValueDescription String
FetchDescription String
PathsOfGeometriesPointed List of Features

Example

Extract from the main loop given in CATTPSAllAnnotations section:

	// Is current annotation a dimension ?
	Let Dimension( TPSDimensionAnnot )
	set Dimension = AllAnnotationElt
	if ( Dimension <> NULL )
	{
		// Take into account its internal attributes to better qualify it
		// 3D driven?
		Let SteeredDimension( String )
		if ( Dimension.Dim3DDriveableAttr == true )
			SteeredDimension = "; that value is driven by a 3D input"
		else
			SteeredDimension = ""
		
		// Fake dimension?
		Let FakeFacet( String )
		if ( Dimension.DimFakeAttr == true )
			FakeFacet = "fake "
		else
			FakeFacet = ""
		
		// True dimension
		Let TrueDim( String )
		if ( Dimension.DimTrueAttr == true )
			TrueDim = " (true dimension)"
		else
			TrueDim = ""
		
		// Dimension type study
		Let TypeStr( String )
		Let DimType( DimensionType )
		DimType = Dimension.DimensionType
		if ( DimType == "DrwDimDistance" )
			TypeStr = "Distance"
		else if ( DimType == "DrwDimLength" )
			TypeStr = "Length"
		else if ( DimType == "DrwDimAngle" )
			TypeStr = "Angle"
		else if ( DimType == "DrwDimRadius" )
			TypeStr = "Radius"
		else if ( DimType == "DrwDimDiameter" )
			TypeStr = "Diameter"
		else if ( DimType == "DrwDimChamfer" )
			TypeStr = "Chamfer"
		else
			TypeStr = "Unexpected"
		
		Message("Annotation is a #dimension# of type # displaying value ##.",FakeFacet, TrueDim, TypeStr, Dimension.DimensionValue, SteeredDimension)
	}

TPSGeometricalAnnot

Filtering type employed with geometrical tolerance specification (GDT).

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   TPSGeometricalAnnot

Attributes

Name NLS Name Type Comment
GDTType Type GDTType Describes the geometrical tolerance type.
GDTValue Value LENGTH Gets the geometrical tolerance value.
GDTValueString ValueString String Gets the geometrical tolerance string.

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation a GDT ?
	Let GDT( TPSGeometricalAnnot )
	set GDT = AllAnnotationElt
	if ( GDT <> NULL )
        {
                // Decode symbol used in this specification
                Let GDTSymbol( String )
                Let GDTSymbolType( GDTType )
                GDTSymbolType = GDT.GDTType
                if ( GDTSymbolType == "DRW_GDT_NOSYMBOL" )
                     GDTSymbol = "None"
                else if ( GDTSymbolType == "DRW_GDT_STRAIGHTNESS" )
                     GDTSymbol = "Straightness"
                else if ( GDTSymbolType == "DRW_GDT_FLATNESS" )
                     GDTSymbol = "Flatness"
                else if ( GDTSymbolType == "DRW_GDT_CIRCULARITY" )
                     GDTSymbol = "Circularity"
                else if ( GDTSymbolType == "DRW_GDT_CYLINDRICITY" )
                     GDTSymbol = "Cylindricity"
                else if ( GDTSymbolType == "DRW_GDT_LINEPROFILE" )
                     GDTSymbol = "Line Profile"
                else if ( GDTSymbolType == "DRW_GDT_SURFACEPROFILE" )
                     GDTSymbol = "Surface Profile"
                else if ( GDTSymbolType == "DRW_GDT_ANGULARITY" )
                     GDTSymbol = "Angularity"
                else if ( GDTSymbolType == "DRW_GDT_PERPENDICULARITY" )
                     GDTSymbol = "Perpendicularity"
                else if ( GDTSymbolType == "DRW_GDT_PARALLELISM" )
                     GDTSymbol = "Parallelism"
                else if ( GDTSymbolType == "DRW_GDT_POSITION" )
                     GDTSymbol = "Position"
                else if ( GDTSymbolType == "DRW_GDT_CONCENTRICITY" )
                     GDTSymbol = "Concentricity"
                else if ( GDTSymbolType == "DRW_GDT_SYMMETRY" )
                     GDTSymbol = "Symmetry"
                else if ( GDTSymbolType == "DRW_GDT_CIRCULARRUNOUT" )
                     GDTSymbol = "Circular Runout"
                else if ( GDTSymbolType == "DRW_GDT_TOTALRUNOUT" )
                     GDTSymbol = "Total Runout"
                else
                     GDTSymbol = "Unknown symbol"

		Message("# represents a geometrical tolerance specification. Tolerance value is: #; symbol applied corresponds to #.",GDT.GDTValueString,GDT.GDTValue,GDTSymbol)
        }

TPSTargetAnnot

Filtering type for handling datum target annotations.

Inheritance Path

ObjectType
 Feature
  CATFTAElement
   TPSTargetAnnot

Attributes

Name NLS Name Type Comment
TargetRefName Reference name String Gets the datum target label.
TargetSize Size LENGTH Gets the datum target size.

Example

Extract from the main loop given in CATTPSAllAnnotations section:

// Is current annotation a datum target ?
	Let DatumTarget( TPSTargetAnnot )
	set DatumTarget = AllAnnotationElt
	if ( DatumTarget <> NULL )
        {
                // Display datum target characteristics
		Message("Annotation is a Datum Target named: # with specified size: #.",DatumTarget.TargetRefName,DatumTarget.TargetSize)
        }

TypeAnnotation

Inheritance Path

ObjectType
 Literal
  Enumere
   TypeAnnotation

Enumerated Values

Value NLS Value Comment
TPSTextAnnot Text The annotation type is Text.
TPSFlagNoteAnnot Flag note The annotation type is Flag Note.
TPSNAOAnnot Note Object Attribute The annotation type is Note Object Attribute.
TPSGeometricalAnnot Geometrical tolerance The annotation type is Geometrical Tolerance.
TPSDimensionAnnot Dimension The annotation type is Dimension.
TPSDatumAnnot Datum feature The annotation type is Datum.
TPSTargetAnnot Datum target The annotation type is Datum Target.
TPSRoughnessAnnot Roughess The annotation type is Roughness.
TPSWeldAnnot Weld The annotation type is Weld.

TypeSemanticAnnotation

Inheritance Path

ObjectType
 Literal
  Enumere
   TypeSemanticAnnotation

Enumerated Values

Value NLS Value Comment
TPSGeometricalAnnot Geometrical tolerance The annotation type is Geometrical Tolerance.
TPSDimensionAnnot Dimension The annotation type is Dimension.
CATTPSReferenceFrame Datum system
TPSDatumRefenceFrame Datum reference frame The annotation type is Datum Reference Frame.
TPSDatumAnnot Datum feature The annotation type is Datum.
TPSTargetAnnot Datum target The annotation type is Datum Target.
CATTPSConstructedGeometry Constructed geometry

CATTPSSemanticDimension

Attributes

Name Type Comment
Prefix String The prefix used by the semantic dimension.
Suffix String The suffix used by the semantic Dimension.