The Microsoft Garage team is doing a tremendous job with the open-source projects it has been releasing recently and Maker.js is one of them.
Maker.js is an open-source JavaScript library for creating and sharing modular line drawings for CNC and laser cutters.
Download Maker.js on Github.
From the definition
Maker.js creates line drawings for two-dimensional maker machines, like laser cutters and CNC routers. Using the Maker.js JavaScript library that can run in a Node.js environment or in a web browser, a developer may create a small program that creates a line drawing. The developer's program may accept parameters that can be used to alter the drawing. The program can be shared and re-used in other drawings. Lastly, the drawing can be exported to a file that can be used directly by a maker machine, uploaded to a maker service, or imported into other 2D or 3D CAD software.
The following are the features of the Maker.js library:
- Export formats: DXF / SVG
- Uses Plain Old JavaScript Objects (POJOs) for its drawing model
- Import and modify other drawings
- Conversion among unit systems: Millimeter / Centimeter / Meter / Inch / Foot / Unitless
- Primitive paths: Line / Circle / Arc
- Transformations: Mirror / Rotate / Scale
- Functions: Break path / Bridge Path / Compute intersection / Triangle solvers
- Basic models: •Bolt circle
- Bolt rectangle
- Connect the dots
- Golden Rectangle
- Oval
- Oval Arc
- Polygon
- Rectangle
- Rounded rectangle
- S curve
- Square