System Attribute Definitions   

<<< Signal Handling Chapters The Mathematical Form Of B-Geometry >>>

Contents

[back to top]


A.1 Introduction

Parasolid uses attributes internally for various purposes. The attribute definitions for such system attributes are created automatically when Parasolid is started up. These system attribute definitions are provided to allow the user to alter the behaviour of Parasolid when operating on an entity.

 

Warning: Valid Parasolid models should not have empty system attributes attached. For example, if a face has no specified colour, then it should have no colour attribute attached to it, rather than an empty colour attribute. Empty system attributes are only permitted as an intermediate state (i.e. you must populate an empty system attribute with appropriate values immediately after creating it).

Further information about attributes and attribute definitions can be found in See Attributes.

[back to top]


A.2 System attribute definitions

For each system-defined attribute definition the following information is shown:

[back to top]


A.3 System attribute definitions whose field values define a property

The following definitions provide a standard container for certain entity properties. The contents of the attribute fields defines the property and must be set in order for the attribute to be valid and meaningful.

 

Warning: You should not set system attributes to invalid real values or NAN (not a number). Furthermore, system attributes with string fields, should not be set to non-printable ASCII.

A.3.1 Behaviour of empty groups when owning parts are split or merged

 

Note: This system attribute is deprecated, and must only be used to control the behaviour of groups created using the deprecated function PK_GROUP_create_from_entities. Instead, you are strongly urged to create new groups using PK_GROUP_create_from_entities_2, and control the group behaviour using the options provided with that function. See Section 98.6, “Groups and modelling operations on a part”

 

Identifier

SDL/TYSA_GROUP_CONTROL

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_group

Field types

PK_ATTRIB_field_integer_c

Two integers, containing numerical tokens from PK_GROUP_split_empty_t and PK_GROUP_merge_empty_t, in that order.

Set by

Application

Used by

Modelling operations

If an empty group has an attribute of this type attached, it indicates the behaviour that should be used if the body that owns the group is split or merged.

PK_GROUP_split_empty_t can take one of the following values:

 

Value

Description

PK_GROUP_split_empty_no_c

The group remains in the original part. This is the default behaviour.

PK_GROUP_split_empty_copy_c

The group remains in the original part, and a copy is made in the split-off part.

PK_GROUP_merge_empty_t can take one of the following values:

 

Value

Description

PK_GROUP_merge_empty_no_c

The empty groups in both parts appear in the merged part. This is the default behaviour.

PK_GROUP_merge_empty_yes_c

Pairs of identical empty groups, one in each part, are merged into one group in the merged part. "Identical" here means having the same attributes (including SDL/TYSA_GROUP_CONTROL attributes). Identical empty groups in the same part are not merged.

An empty group with no attribute of this type behaves as though it had an attribute with values PK_GROUP_split_empty_no_c and PK_GROUP_merge_empty_no_c respectively.

A.3.2 Colour

 

Identifier

SDL/TYSA_COLOUR

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face, PK_CLASS_edge

Field types

PK_ATTRIB_field_real_c

Red value

these three values should be in the range of 0.0 to 1.0

Green value

Blue value

Set by

Application

Used by

Application

 

Note: TYSA_COLOUR and TYSA_COLOUR_2 behave independently of each other. For example, consider two faces: one has a TYSA_COLOUR attribute and the other does not. If these faces are merged together, the TYSA_COLOUR attribute is deleted. This is still true even if the body has a TYSA_COLOUR_2 attribute attached to it that specifies the same colour as the TYSA_COLOUR attribute: the TYSA_COLOUR attribute is still deleted when the faces are merged, even though visually, there is no apparent colour change, because of the presence of the TYSA_COLOUR_2 attribute.

A.3.3 Colour 2

 

Identifier

SDL/TYSA_COLOUR_2

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_body, PK_CLASS_instance, PK_CLASS_assembly

Field types

PK_ATTRIB_field_real_c

Red value

these three values should be in the range of 0.0 to 1.0

Green value

Blue value

Set by

Application

Used by

Application

 

Note: TYSA_COLOUR and TYSA_COLOUR_2 behave independently of each other. For example, consider two faces: one has a TYSA_COLOUR attribute and the other does not. If these faces are merged together, the TYSA_COLOUR attribute is deleted. This is still true even if the body has a TYSA_COLOUR_2 attribute attached to it that specifies the same colour as the TYSA_COLOUR attribute: the TYSA_COLOUR attribute is still deleted when the faces are merged, even though visually, there is no apparent colour change, because of the presence of the TYSA_COLOUR_2 attribute.

A.3.4 Density attributes

There are density attributes for each of regions, faces, edges and vertices in addition to the system attribute for density of a body.

The region/face/edge/vertex attributes are taken into account when finding the mass, centre of gravity and moment of inertia of a body or of the entity to which the attribute is attached:

For further information, see Chapter 27, “Mass Properties”.

A.3.4.1 Density (of a body)

 

Identifier

SDL/TYSA_DENSITY

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_body

Field types

PK_ATTRIB_field_real_c

Density

PK_ATTRIB_field_string_c

Units

Set by

Application

Used by

Mass Properties - calculation of mass

A.3.4.2 Edge density attribute

 

Identifier

SDL/TYSA_EDGE_DENSITY

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_edge

Field types

PK_ATTRIB_field_real_c

Density of edge

PK_ATTRIB_field_string_c

Units

Set by

Application

Used by

Mass Properties - calculation of mass

A.3.4.3 Face density attribute

 

Identifier

SDL/TYSA_FACE_DENSITY

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_real_c

Density of face

PK_ATTRIB_field_string_c

Units

Set by

Application

Used by

Mass Properties - calculation of mass

A.3.4.4 Region density attribute

 

Identifier

SDL/TYSA_REGION_DENSITY

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_region

Field types

PK_ATTRIB_field_real_c

Density of region

PK_ATTRIB_field_string_c

Units

Set by

Application

Used by

Mass Properties - calculation of mass

A.3.4.5 Vertex density attribute

 

Identifier

SDL/TYSA_VERTEX_DENSITY

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_vertex

Field types

PK_ATTRIB_field_real_c

Mass of vertex

PK_ATTRIB_field_string_c

Units

Set by

Application

Used by

Mass Properties - calculation of mass

A.3.5 Hatching

For further information on the use of hatching attributes see the Section 105.3.18, “Hatching” section in See Rendering Option Settings..

A.3.5.1 Hatching attribute

 

Identifier

SDL/TYSA_HATCHING

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_real_c

real 1

real 2

real 3

real 4

PK_ATTRIB_field_integer_c

Hatching type. See below.

Set by

Application

Used by

Hidden-line and wire-frame images

A.3.5.2 Parametric hatch

 

Identifier

SDL/TYSA_PARAM_HATCH

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_real_c

u spacing

v spacing

u start

v start

Set by

Application

Used by

Hidden-line and wire-frame images

A.3.5.3 Parametric hatching (numeric control)

 

Identifier

SDL/TYSA_PARAM_NUM_HATCH

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_integer_c

number of u hatch lines

number of v hatch lines

 

 

Set by

Application

Used by

Hidden-line and wire-frame images

A.3.5.4 Planar hatch

 

Identifier

SDL/TYSA_PLANAR_HATCH

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_real_c

x component

direction or plane normal

y component

z component

pitch or separation

x component

position vector

y component

z component

Set by

Application

Used by

Hidden-line and wire-frame images

A.3.5.5 Radial hatch

 

Identifier

SDL/TYSA_RADIAL_HATCH

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_real_c

radial around

radial along

radial about

radial around start

radial along start

radial about start

Set by

Application

Used by

Hidden-line and wire-frame images

A.3.6 Layer

 

Identifier

SDL/TYSA_LAYER

Class

PK_ATTDEF_class_06_c

Owner types

PK_CLASS_body, PK_CLASS_instance, PK_CLASS_assembly

Field types

PK_ATTRIB_field_ustring_c

Layer number

PK_ATTRIB_field_ustring_c

Layer name/label

PK_ATTRIB_field_ustring_c

Extra user data

PK_ATTRIB_field_integer_c

Invisibility information. 0=visible, 1=invisible. Other values not allowed.

Set by

Application

Used by

Application

A.3.7 Name

 

Identifier

SDL/TYSA_NAME

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_assembly, PK_CLASS_body, PK_CLASS_instance, PK_CLASS_shell, PK_CLASS_face, PK_CLASS_loop, PK_CLASS_edge, PK_CLASS_vertex, PK_CLASS_group, PK_CLASS_surf, PK_CLASS_curve, PK_CLASS_point, PK_CLASS_region

Field types

PK_ATTRIB_field_string_c

Name of entity

Set by

Application

Used by

Application

Entities read into Parasolid from a Romulus 6.0 transmit file have their names held in name attributes. Only entities to which the user has given names are treated in this way.

 

Note: Although a class 1 attribute, the Name system attribute does not propagate when a split event occurs.

A.3.8 Reflectivity

 

Identifier

SDL/TYSA_REFLECTIVITY

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_real_c

Coefficient of specular reflection

Proportion of coloured light in highlights

Coefficient of diffuse reflection

Coefficient of ambient reflection

PK_ATTRIB_field_integer_c

Reflection power

Set by

Application

Used by

Application

 

A.3.9 Translucency

 

Identifier

SDL/TYSA_TRANSLUCENCY

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_real_c

Transparency coefficient

range 0.0 to 1.0, where 0 is opaque and 1 is transparent

Set by

Application

Used by

Application

 

Note: TYSA_TRANSLUCENCY and TYSA_TRANSLUCENCY_2 behave independently of each other. For example, consider two faces: one has a TYSA_TRANSLUCENCY attribute and the other does not. If these faces are merged together, the TYSA_TRANSLUCENCY attribute is deleted. This is still true even if the body has a TYSA_TRANSLUCENCY_2 attribute attached to it that specifies the same translucency as the TYSA_TRANSLUCENCY attribute: the TYSA_TRANSLUCENCY attribute is still deleted when the faces are merged, even though visually, there is no apparent translucency change, because of the presence of the TYSA_TRANSLUCENCY_2 attribute.

A.3.10 Translucency 2

 

Identifier

SDL/TYSA_TRANSLUCENCY_2

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_body, PK_CLASS_instance, PK_CLASS_assembly

Field types

PK_ATTRIB_field_real_c

Transparency coefficient

range 0.0 to 1.0, where 0 is opaque and 1 is transparent

Set by

Application

Used by

Application

 

Note: TYSA_TRANSLUCENCY and TYSA_TRANSLUCENCY_2 behave independently of each other. For example, consider two faces: one has a TYSA_TRANSLUCENCY attribute and the other does not. If these faces are merged together, the TYSA_TRANSLUCENCY attribute is deleted. This is still true even if the body has a TYSA_TRANSLUCENCY_2 attribute attached to it that specifies the same translucency as the TYSA_TRANSLUCENCY attribute: the TYSA_TRANSLUCENCY attribute is still deleted when the faces are merged, even though visually, there is no apparent translucency change, because of the presence of the TYSA_TRANSLUCENCY_2 attribute.

A.3.11 Transparency

 

Identifier

SDL/TYSA_TRANSPARENCY

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_body, PK_CLASS_face

Field types

PK_ATTRIB_field_integer_c

Non-zero transparency coefficient value is transparent

Set by

Application

Used by

Hidden-line drawings

A body may be rendered transparent if it has an attached transparency attribute with a non-zero transparency coefficient. See Section 105.3.21, “Transparency”, for more information.

A.3.12 Unicode name

 

Identifier

SDL/TYSA_UNAME

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_assembly, PK_CLASS_body, PK_CLASS_instance, PK_CLASS_shell, PK_CLASS_face, PK_CLASS_loop, PK_CLASS_edge, PK_CLASS_vertex, PK_CLASS_group, PK_CLASS_surf, PK_CLASS_curve, PK_CLASS_point, PK_CLASS_region

Field types

PK_ATTRIB_field_ustring_c

Name of entity

Set by

Application

Used by

Application

This attribute definition provides a Unicode alternative to the ASCII-only Name attribute.

 

Note: Although a class 1 attribute, the Uname system attribute does not propagate when a split event occurs.

A.3.13 Scale factor

 

Identifier

SDL/TYSA_SCALE_FACTOR

 

Class

PK_ATTDEF_class_01_c

 

Owner types

PK_CLASS_assembly, PK_CLASS_body

 

Field types

PK_ATTRIB_field_integer_c

An integer representing the scale factor of the part. It must be in the range [-6, 3].

Set by

Application

Used by

Application and PK_BODY_enlarge

This attribute definition represents the scale factor of a part. See Section 14.9, “Representing models whose parts are of different scales” for more information.

 

Note: For data compatibility purposes, we recommend applications interpret 0 as indicating a mapping 1 Parasolid unit = 1 metre.

[back to top]


A.4 System attribute definitions whose presence alone defines a property

The following definitions provide a standard marker for certain entity properties. They have no fields or their fields are unused, but their presence on an entity defines a property.

A.4.1 Behaviour of merged entities in groups

 

Note: This system attribute is deprecated, and must only be used to control the behaviour of groups created using the deprecated function PK_GROUP_create_from_entities. Instead, you are strongly urged to create new groups using PK_GROUP_create_from_entities_2, and control the group behaviour using the options provided with that function. See Section 98.6, “Groups and modelling operations on a part”

 

Identifier

SDL/TYSA_GROUP_MERGE

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_group

Field types

PK_ATTRIB_field_string_c

Unused

Set by

Application

Used by

Modelling operations

If a group has an attribute of this definition attached, it indicates that alternative behaviour should be used if an entity in the group is merged with an entity not in that group.

A.4.2 Invisibility

 

Identifier

SDL/TYSA_INVISIBLE

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_body, PK_CLASS_assembly, PK_CLASS_instance

Field types

None

Set by

Application

Used by

Application

A.4.3 Non-mergeable edges

 

Identifier

SDL/TYSA_EDGE_NO_MERGE

Class

PK_ATTDEF_class_06_c

Owner types

PK_CLASS_edge

Field types

PK_ATTRIB_field_string_c

Unused

Set by

Application

Used by

Modelling operations

If an edge has an attribute of this definition attached, it indicates that the edge should not be merged in any modelling operations.

A.4.4 Region

 

Identifier

SDL/TYSA_REGION

Class

PK_ATTDEF_class_01_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_string_c

Unused

Set by

Application

Used by

Hidden-line images

[back to top]


A.5 System attribute definitions created and used by Parasolid

The following definitions are created by Parasolid to store information for use by Parasolid operations.

A.5.1 Faceting attributes

For further information on the use of attributes in faceting, see Section 107.2.16, “Incremental faceting”.

A.5.1.1 Incremental faceting

 

Identifier

SDL/TYSA_INCREMENTAL_faceting

Class

PK_ATTDEF_class_03_c

Owner types

PK_CLASS_face

Field types

PK_ATTRIB_field_string_c

Unused

Set by

Incremental Faceting/Application

Used by

Incremental Faceting

A.5.1.2 Facet vertex data

For information about how to create or edit incremental faceting attribute definitions for edges and fins, please contact Parasolid Support.

 

[back to top]

<<< Signal Handling Chapters The Mathematical Form Of B-Geometry >>>