ASMBL icon indicating copy to clipboard operation
ASMBL copied to clipboard

Add arcs to milling post processor

Open AndyEveritt opened this issue 5 years ago • 1 comments

This will likely need some changes the the ASMBL parser too

AndyEveritt avatar Sep 16 '20 08:09 AndyEveritt

Hi Andy, I'm a big fan of your work in Post-Processor. As a newbie in the Post-Processor world, I still want to help you. I found this into other PP for CNC with fusion and I would like to share it :

properties = { jobUseArcs: true, // Produce G2/G3 for arcs };

propertyDefinitions = { jobUseArcs: { title: "Job: Use Arcs", description: "Use G2/G3 g-codes fo circular movements", group: 1, type: "boolean", default_mm: true, default_in: true }, };

Firmware3dPrinterLike.prototype.circular = function (clockwise, cx, cy, cz, x, y, z, feed) { if (!properties.jobUseArcs) { linearize(tolerance); return; } // Marlin supports arcs only on XY plane var start = getCurrentPosition(); if (isFullCircle()) { if (isHelical()) { linearize(tolerance); return; } switch (getCircularPlane()) { case PLANE_XY: writeBlock(gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), iOutput.format(cx - start.x, 0), jOutput.format(cy - start.y, 0), fOutput.format(feed)); break; default: linearize(tolerance); } } else { switch (getCircularPlane()) { case PLANE_XY: writeBlock(gMotionModal.format(clockwise ? 2 : 3), xOutput.format(x), yOutput.format(y), zOutput.format(z), iOutput.format(cx - start.x, 0), jOutput.format(cy - start.y, 0), fOutput.format(feed)); break; default: linearize(tolerance); } } }

--> It works for me.

Antoine505 avatar Feb 27 '21 05:02 Antoine505