NC.js Documentation

NC.js is the Web interface for the Digital Thread. It provides a rich REST API for process and models plus a client that displays the 3D part models for machining workpiece, tools, CNC, as well as removal simulation, PMI annotations, MTConnect positional data, QIF face status, and other aspects of a Digital Twin on the Digital Thread.

NC.js Structure
NC.js Structure Overview

Package Structure

The NC.js package is implemented in Javascript under the Apache license, so the client and REST API may be customized as desired. The REST API is built using the STEPNode module for Node.js. This module wraps the STEP Tools commercial technology stack, which is a set of native Windows/Linux/Mac libraries that read and write STEP and STEP-NC models, does analysis, geometry manipulation, and material removal simulation.

Running a Server

Thread Example

Run your own server on a STEP-NC file to do material removal simulation.

API and Building Custom Apps

Since the NC.js package is distributed as source, so you can modify both the server and the client. The server provides a REST API. The client loads workplan and geometry data using that API and visualizes it using react.js components.

You can modify the react.js view components to build your own custom apps, show data in new ways, or modify the REST API on the server to extract additional information, change information, and so on.