✅ A to export paths as JSON. ✅ A Node.js bridge (HPGL + serial sender). ✅ A basic CEP HTML panel to trigger cut. ✅ Instructions to set up locally.
// send output to local bridge (via HTTP or file) Run locally. Listens on localhost:3000 , receives JSON paths, converts to HPGL (common for GCC cutters): cutting master 3 plugin for adobe illustrator
output.push(points);
var doc = app.activeDocument; var selection = doc.selection; var output = []; for (var i = 0; i < selection.length; i++) var path = selection[i]; if (path.typename == "PathItem") var points = []; for (var p = 0; p < path.pathPoints.length; p++) var pt = path.pathPoints[p]; points.push( x: pt.anchor[0], y: pt.anchor[1] ); ✅ A to export paths as JSON
function pathsToHPGL(paths, originX, originY) let hpgl = "IN;PU0,0;\n"; paths.forEach(path => let first = path[0]; hpgl += `PU$first.x + originX,$first.y + originY;\nPD`; for (let i = 1; i < path.length; i++) hpgl += `$path[i].x + originX,$path[i].y + originY,`; hpgl = hpgl.slice(0, -1) + ";\n"; ); hpgl += "SP0;\n"; return hpgl; ✅ Instructions to set up locally
GCC cutters often accept HPGL over serial (COM port) or USB (CDC serial). Using node-serialport :
Illustrator (JSX/CEP) → local HTTP/WebSocket → Node.js/Python app → sends HPGL / GCC commands → cutter Step 1 – Extract vector paths from Illustrator In ExtendScript ( .jsx ):