Geometry

/v3/nc/geometry/:uuid
/v3/nc/geometry/delta/:version
/v3/nc/geometry/delta/reset
/v3/nc/geometry/product/:uuid
/v3/nc/geometry/tool/:id

Defined in geometry.js

GET Shape Description

GET /v3/nc/geometry/{uuid}

The Digital Thread model contains a variety of CAD shapes associated with different aspects of design and machining process. GET on the geometry endpoint returns the shape identified by a UUID, which is described by an array of geometry objects. Each object is a shell or polyline annotation. The shell is a triangular mesh representation of some CAD shape for 3D display.

GET In-Process Workpiece Geometry

GET /v3/nc/geometry/delta/{version}
GET /v3/nc/geometry/delta/reset

While material removal simulation is ongoing, the server will transmit nc:delta events to all clients via websocket, telling them about the current tool position, speeds and feeds, and when new dynamic geometry is available.

GET on the "geometry/delta" endpoint is used to get the most current mesh for the in-process workpiece. The "version" argument for this call is "-1", which means transmit the entire mesh.

Partial mesh updates are not currently implemented. When they are, the version will be the last complete version that the client has and the faces/points/normals will contain values that must be appended to the lists in base_version.

{
   "version":  	   int,
   "precision":    int,
   "base_version": int (currently always zero),
   "faces":        faceRef[],
   "normals":	   int[],
   "points":	   int[],
   "remove":   	   int[] (currently alway empty)
}
Property Type Description
version integer This string determines a sequence of delta geometries.
precision integer Factor of ten multiplier. See mesh structure for details.
base_version integer Currently always zero. When partial updates are enabled, this will be the number of the last full state.
faces FaceRef[] Faces for the shell. See mesh structure for details. When partial shells are implemented, will be appended to faces of base version.
normals int[] Vertex normals as a series of IJK values. See mesh structure for details. When partial shells are implemented, will be appended to normals of base version.
points int[] Vertex positions as a series of XYZ values. See mesh structure for details. When partial shells are implemented, will be appended to points of base version.
remove int[] Not currently used, always an empty array. When partial shells are implemented, will be the index of facets that should be removed. Multiplying this value by nine will give the starting index of the facet in the normal and point arrays.

Reset In-Process Workpiece Geometry

GET /v3/nc/geometry/delta/reset

Calling GET on this endpoint will reset the in-process geometry back to the most recent as-is geometry in the STEP-NC process.

GET Product Geometry

GET /v3/nc/geometry/product/{uuid}

This endpoint returns the geometry for a product with a given ID using the same shape structure as the /nc/geometry/{uuid} endpoint.

GET Tool Geometry

GET /v3/nc/geometry/tool/{id}

This endpoint returns the a display list for a cutting tool assembly as a key state object containing geometry references for each of the tool components.