Nominal Geometry   

<<< Session and Local Precision Chapters Manifold Bodies >>>

Contents

[back to top]


5.1 Introduction

Nominal Geometry is a mechanism whereby edges which have local precision may reference a notional accurate curve.

Edges which have local precision carry the geometry which defines the Parasolid body on their fins. The curves on all the fins must lie within a pipe whose diameter is the edge's precision. An edge may also have a nominal curve, which must also lie within the precision pipe. It is expected that, in general, nominal curves are geometrically simpler than the SP-curves on the fins.

An edge with session precision has an accurate curve only for its geometry, which is also its nominal curve. An edge with local precision may optionally have a nominal curve.

An edge with local precision may only acquire a nominal curve when nominal curves are enabled for that edge's body. Once an edge has acquired a nominal curve then that curve is retained - and is available to interrogations - until specifically detached, regardless of whether nominal curves are presently enabled for the edge's body.

 

Note: Nominal curves on edges with local precision are NOT used by Parasolid to define an edge's shape (that only comes from the geometry on the fins). However, all Parasolid operations that make topological changes to the edge perform appropriate actions on the nominal geometry.

[back to top]


5.2 PK identifiers for nominal geometry

All PK identifiers relating to Nominal Geometry use an abbreviation - nmnl. This is to maintain the 31 character limit on identifiers.

[back to top]


5.3 Enabling nominal curves

Nominal curves may only be attached to edges with local precision when nominal curves are enabled for the edge's body. When bodies are created, nominal curves are initially disabled.

[back to top]


5.4 Attaching nominal curves

Nominal curves may only be attached to edges with local precision when nominal curves are enabled for the edge's body. There are two means of attaching nominal curves:

 

Method Description

Automatic

When nominal curves are enabled for a body, whenever any of its accurate edges is given a local precision - either directly by a call to PK_EDGE_set_precision, or indirectly as a side effect of a modeling operation - then the pre-existing accurate curve of the edge is retained as its nominal curve.

Application

An edge with local precision that does not have a nominal curve may be given one using PK_EDGE_attach_curve_nmnl. The given curve must lie within tolerance of the edge.

If the curve is supplied to PK_EDGE_attach_curve_nmnl is already attached to another edge as edge geometry, fin geometry, or nominal geometry, then it is shared if possible. Otherwise, a copy of the curve is used.

[back to top]


5.5 Detaching nominal curves

The nominal curve of an edge with local precision may be detached, whether or not nominal curves are enabled for the edge's body. Nominal curves are detached using PK_EDGE_detach_curve_nmnl.

 

Note: This function only detacesh the nominal curve of an edge with local precision. It does NOT detach the curve of an accurate edge.

[back to top]


5.6 Interrogating nominal geometry

The nominal geometry of an edge may be interrogated, whether or not nominal curves are enabled for the edge's body. These interrogation functions return information about accurate edges and about edges with local precision and nominal curves.

 

Function Description

PK_EDGE_ask_curve_nmnl

return the accurate or notionally accurate curve of an edge

PK_EDGE_ask_geometry_nmnl

return the accurate or notionally accurate geometry of an edge

PK_CURVE_ask_edges_nmnl

return all edges of which this curve is the accurate or notionally accurate geometry

[back to top]


5.7 Transmitting nominal geometry

Nominal geometry can be transmitted by setting the transmit_nmnl_geometry field of PK_PART_transmit_o_t to PK_LOGICAL_true.

[back to top]


5.8 Nominal geometry in modeling operations

This table shows what happens to the nominal curve of a tolerant edge during various modeling events.

 

Event

Result

Edge is split

The new edge shares the nominal curve of the original edge.

Edges are merged

If both edges have tolerantly coincident nominal curves then the nominal curve of the surviving edge survives and the nominal curve of the deleted edge is deleted. In all other cases, any nominal curves on either edge are deleted.

Edge is transformed

If the transformation only involves rigid motion and/or uniform scale, then the nominal curve is transformed. For any other transformation, the nominal geometry is deleted.

Tolerant edge's precision is changed

The operation is only valid if all of the edge's curves (the nominal curve and the curves on the fins) lie in the new precision pipe. In this case, the nominal curve survives.

Edge's precision is reset to session precision

Any nominal curve is deleted and the edge's curve is re-evaluated to the session precision.

 

[back to top]

<<< Session and Local Precision Chapters Manifold Bodies >>>