About Trimmed Surfaces Data Format
The trimmed surface structure contains data that describes the boundary of the surface and the primitive surface that it is on. The primitive surface is a three-dimensional geometric surface parameterized by two variables (u and v). The trimmed surface boundary consists of closed loops (contours) of edges. Edges exist as separate entities in the Neutral file. Each edge is attached to two surfaces, and each edge contains the u and v values of the portion of the boundary that it forms in both surfaces. Surface boundaries are traversed clockwise around the outside of a surface, so an edge has a direction in each surface with respect to the direction of traversal.
You can also find other data in the trimmed surface structure including the rectangular extents of the two-dimensional domain, the three-dimensional surface, and a flag indicating whether the surface normal points towards the inside or outside of the part.
Data format:
id
(int)
Surface ID
uv_min[2]
(dbl)
Minimum u and v values of the domain
uv_max[2]
(dbl)
Maximum u and v values
xyz_min[3]
(dbl)
Minimum values of a box enclosing the surface
xyz_max[3]
(dbl)
Maximum values of the rectangular box
orient
(int)
1 if the surface normal points outside of the part
-1 if it points towards the inside
loops[]
(loop)
Expandable array of loop structures
surface_type
(int)
Constant indicating the primitive surface type
surface
(surface structure)
3D primitive surface data structure
Loop data structure format:
edge_ids[ ](int) Array of IDs of the edges in the loop
The 3D surface structure of the trimmed surface has a different format for each surface type.