Wam is WAZER’s browser-based CAM application for generating gcode cut files for their desktop waterjet cutter.
Wam imports SVG and DXF format design files. Users can arrange their designs on a virtual cutting bed and select the material and cut parameters.
Wam automatically processes design geometry to correct small errors, offset cut lines for kerf compensation, and generate cut path lead-ins and material holding tabs. Wam outputs G-code files for the WAZER desktop waterjet cutter.
The Wam platform also includes user registration and authentication, software key registration, and a material library storing cutting parameters for standard and user-specified materials.
The Wam client is built on AngularJS and Bootstrap using ES6 object-oriented Javascript. Graphics are displayed as dynamically generated SVG. The quality of input file data varies widely, and a large portion of the client code is devoted to repairing and optimizing path data to form continguous cutting paths. All of the geometry processing and G-code file generation is performed on the client to minimize lag and server hosting costs.
The Wam server is built on Express with an object data model using Mongoose/MongoDB. The Wam server includes REST APIs for user registration and administration.