CAM SET UP with Plasma cutter

Discussions around the CAM Add-On of QCAD.

Moderator: andrew

Forum rules

Always indicate your operating system and QCAD version.

Indicate the post processor used.

Attach drawing files and screenshots.

Post one question per topic.

Post Reply
tiger351w
Newbie Member
Posts: 6
Joined: Wed Dec 24, 2025 7:33 am
Location: SF Bay Area

CAM SET UP with Plasma cutter

Post by tiger351w » Fri Dec 26, 2025 1:41 am

MacOs Version 15.6.1
Qcad CAM Pro Version: 3.32.5.0
Arcdroid Post Processors installed

I’ve started to use my new Arcdroid and understand the built in trace programs and UI. I am now starting to program using QCad/Cam. I know how to design in CAD already. I have a few questions about the use of CAM software for someone who has never used it.

Will the CAM export file (g code) override the values I put into the Arcdroid.. (ie. Z offset, ker, etc)? I am pretty sure it does, but dont know 100%

Tools:
I think I need to create a tool around the Plasma cutter.

If I need to create new tool in qcad, should I create a new tool for each media and thickness around amperage, speed etc? For example 1/8”, 3/16”, 1/4” steel…aluminum… stainless etc?

Any help would be appreciated, I have my settings in a spreadsheet already

CVH
Premier Member
Posts: 5054
Joined: Wed Sep 27, 2017 4:17 pm

Re: CAM SET UP with Plasma cutter

Post by CVH » Fri Dec 26, 2025 10:53 am

Hi,

A Plasma cutter is still something different than a milling router or using that with a laser module.
Common is that they all move in XY and in Z.

Plasma typically 'touches off' and then retracts a bit.
Height is then constantly adapted depending measured arc parameters.
This last part is fully up to the Plasma driver with a closed loop algorithm and some settings by parameters or knobs.

I have a copy of the post processor is front of me.
It is directly based on GCodeBase.js.
Meaning that all things define in the most standard G-Code exporter are used unless overruled by ArcDroidMM.js for example.
Overall power (amps) and FEED is of course depending on the material to cut.
More power, bigger nozzles, ... all make a bigger hole and then the offset to the required contour matters.
QCAD/CAM is set to generate those because G41/42 is not supported.

It's a pity that Laser or Plasma do not have their own Profile dialog ... It's the Milling Profile dialog that is molded to suit the needs.
In Laser machining I remember that milling rotational SPEED is being (mis-)used as Laser POWER.

ArcDroidMM.js:
Tooltype 'Mill' is simply replaced by 'Plasma' ... Textual.

In the CamProfileToolpathDialog:
- CamSpindleSpeed and associated are set invisible.
- Whole the CuttingDepths_Group is set invisible.
- CamPlungeRate is set invisible.

In the CamToolDialog:
- CamSpindleSpeed and associated are set invisible.
- CamPlungeRate is set invisible.

I have to admit that not everything is fully understood ...
... But I see the initialization of a LayerDialog.

I guess that Plasma parameters depends on layer properties. (Custom Properties as key-value pairs)
Probably meaning that things drawn on Layer X use different settings than those drawn on Layer Y.
Perhaps ArcDroid documentation explains that further.

Continuing with the same assumptions:
In QCAD/CAM you can generate a Template drawing.
This would normally include tool types and their specifics for milling.
It can include a layer with a rectangle of your work-area.
And that can also include layers with predefined custom properties ... Properties for Plasma in this case.

Then it would be the question of placing shapes to cut on the intended layer before creating a profile.
It is also possible that a drop-down on the Layer Dialog is expandable and that (new) content is saved persistent.

Hoping this helps and that it is somewhat assumed correctly. :wink:

Report back with success or failure.

Regards,
CVH

tiger351w
Newbie Member
Posts: 6
Joined: Wed Dec 24, 2025 7:33 am
Location: SF Bay Area

Re: CAM SET UP with Plasma cutter

Post by tiger351w » Sun Dec 28, 2025 6:43 am

CVH wrote:
Fri Dec 26, 2025 10:53 am
Hi,

A Plasma cutter is still something different than a milling router or using that with a laser module.
Common is that they all move in XY and in Z.

Plasma typically 'touches off' and then retracts a bit.
Height is then constantly adapted depending measured arc parameters.
This last part is fully up to the Plasma driver with a closed loop algorithm and some settings by parameters or knobs.

I have a copy of the post processor is front of me.
It is directly based on GCodeBase.js.
Meaning that all things define in the most standard G-Code exporter are used unless overruled by ArcDroidMM.js for example.
Overall power (amps) and FEED is of course depending on the material to cut.
More power, bigger nozzles, ... all make a bigger hole and then the offset to the required contour matters.
QCAD/CAM is set to generate those because G41/42 is not supported.

It's a pity that Laser or Plasma do not have their own Profile dialog ... It's the Milling Profile dialog that is molded to suit the needs.
In Laser machining I remember that milling rotational SPEED is being (mis-)used as Laser POWER.

ArcDroidMM.js:
Tooltype 'Mill' is simply replaced by 'Plasma' ... Textual.

In the CamProfileToolpathDialog:
- CamSpindleSpeed and associated are set invisible.
- Whole the CuttingDepths_Group is set invisible.
- CamPlungeRate is set invisible.

In the CamToolDialog:
- CamSpindleSpeed and associated are set invisible.
- CamPlungeRate is set invisible.


Regards,
CVH
What I see when I am setting up the tool (like you mentioned) is a limited set of parameters. I am currently just working with one material thickness of 3/16" of an inch and a feed of 63. I will have to set the power on my machine.

I can get the tool path to start where I want, do the appropriate lead in etc. The one thing I do not understand is when I run the simulation it starts off at the safety Z position moves to the start position then drives to 4" (ie a plunge of 4") below the surface. I have no idea if this is correct, and can't find anywhere to change it. I am concerned that it will try to drive my machine down into the material. it's supposed to stay .06 above for the cut

clearly I dont understand what supposed to be going on here and im worried to try it on my machine

CVH
Premier Member
Posts: 5054
Joined: Wed Sep 27, 2017 4:17 pm

Re: CAM SET UP with Plasma cutter

Post by CVH » Sun Dec 28, 2025 8:26 am

It is certainly best to 'cut nothing but air' for starters.
Meaning that you fool your machine Zzero so high that it can't touch your material in any case.
For milling machines we can also remove the cutter all together.

A short introduction:
Not many DIY machines have a true feedback of their actual axis positions.
Certainly with stepper, closed-loop steppers or servo motors.
They all work with sending NN steps in one direction and only assume that the axis has moved NN steps.
The software counter is thus not per definition in sync with the actual position.

A certain type of linear motors are a far better option but are also really expensive.

Homing:
On power up, the software driver has no valid reference of the physical position of the axes.
For that we run a Homing sequence.
Typically first in Z ... Until a limit switch or so is reached ... Best as high a possible to be safe.
Then in XY ... Again until limit switches or so are reached.
At this point the software values are in sync with the actual positions.
The driver now knows where the machine is.
But that doesn't mean that the XYZ values are already meaningful.
We call this Machine coordinates.

Zeroing:
After that the virtual and real positions are in sync we can zero our machine on the work-piece.
Typically first in XY.
Using QCAD/CAM that must correlate with the drawing origin.

For example left (X) - low (Y), so we move our setup to a point that can serve as left-low (manually).
At this position we zero the X and the Y axis.
Then we need to zero in Z and that depends on the thickness.
For that we move down in Z until the mill or nozzle just touches the work piece.
At this height we zero the Z axis.
We call this Work coordinates.

For the rest we need at least the used parameters.
But because whole the CuttingDepths_Group is set invisible, a screen capture serves nothing.

Diving back in the ArcDroid post processor, you probably use ArcDroidIN.js with display name 'ArcDroid CNC plasma [in]'.
Please also read above forum rules in red.
Without any information we can only guess. :wink:

ArcDroidIN.js is based on ArcDroidMM.js with some minor adjustments:
- In inch (G20) with 4 decimals
- A slightly adapted header:

Code: Select all

      "; Exported from QCAD/CAM using ArcDroid postprocessor",
      "; original file: [INFILENAME]",
      "G90 ; absolute mode",
      "G54 ; coordinate sys",
      "G20 ; units = in",
      "M444 S[ON_DELAY] P[OFF_DELAY]; cutter delays",
      "G28 O1 ; optional home",
      ""
- And working parameters:

Code: Select all

    this.zSafety = 1;
    this.zClearance = .15;
    this.zCuttingDepth = .1;
Zsafe will thus be 1 inch above the material ... :!: If and only if the machine is zeroed correctly :!:
And it will not drop below 1/10 of an inch. :wink:

PS: You don't have to quote a whole post.
Select only what to quote from a text/post/reply and then hit the Quote button. :wink:

Regards,
CVH

HJ Seef
Junior Member
Posts: 15
Joined: Mon Sep 15, 2025 1:14 pm

Re: CAM SET UP with Plasma cutter

Post by HJ Seef » Mon Dec 29, 2025 4:27 pm

Hi,

Reading your topic, I understand that Gcode is new for you. While the G-parameter is the best know, the Speed (S) is used for the 'tool-intensity', like RPM of a drill, or the PWM-setting for a lasercutter. The Feed (F) parameter is used for how fast your tool is moving in x,y,z-space. Also often used are M03 (Switch tool On) and M05 (Switch tool Off).

Different materials always requires different S and F settings. These can be set while creating the tools and/or while creating the paths in QCAD/CAM. Mind that your machine might need some odd S and F values. Consult the machine documentation.

QCAD's simulator is only a representation of the toolpath-cad-entities; it does NOT represent the really executed movements on your CNC-machine. The by QCAD generated GCode, is read, interpreted and executed by the machine-Gcode-interpreter on your plasma machine.

Just browsed for the Arcdroid; it is a desktop plasma cutter. And downloaded the Arcdroid postprocessor. Nowhere mentioned in the machine specs is the used gcode-interpreter. As for most desktop CNC-machines grbl is most likely to be used.

For creating a toolpath with QCAD/CAM one has to create a tool first. I notice the S-parameter is called 'Diameter' and Feed Rate is the F-parameter. In field Description you can enter a text like "Aluminium 3 mm". Even when a plasma cutter has only one torch, you might add a second tool for "Aluminium 1 mm" or for "Steel 0,8 mm"; every tool with their own specific Diameter and Feed rate for a particular material or application.

Arcdroid only uses QCAD/CAM for designing and creating the basic Gcode. That Gcode is (like on a 3D-printer) read and processed by Arcdroid. No more not less.

Be aware of the 'workpiece-zero-point'. Arcdroid presumably converts the Gcode to a 'machine'zero-point.

For some more detailed information of Gcode from the QCAD-postprocessor to a grbl-machine, you might read the info within the PwmLaserOffsetMM.js post-processor.

CVH
Premier Member
Posts: 5054
Joined: Wed Sep 27, 2017 4:17 pm

Re: CAM SET UP with Plasma cutter

Post by CVH » Mon Dec 29, 2025 5:06 pm

As stated above:
ArcDroidIN.js is based on ArcDroidMM.js
ArcDroidMM.js is based on GCodeBase.js ... CamExporterV2

True, Grbl.js and related are also based on GCodeBase.js ... CamExporterV2
There is probably a reason that ArcDroid provides post processors not based on Grbl.js or related.

ArcDroidIN.js doesn't register/alter new parameters.
ArcDroidMM.js registers 2 new parameters and alters none.

Code: Select all

    this.registerVariable("on_delay",  "ON_DELAY",  true, "", 3);
    this.registerVariable("off_delay", "OFF_DELAY", true, "", 3);
Both used in the header after M444.

ArcDroidMM.js also replaces the tool type "Mill" with "Plasma"

It is GCodeBase.js that registers these parameters among others:

Code: Select all

    this.registerVariable("spindleSpeed",        "S",                    true,  "S", 0);
    this.registerVariable("feedRate",            "F",                    false, "F", 0);
    this.registerVariable("plungeRate",          "FP",                   false, "F", 0);

    this.registerVariable("tool",                "T",                    true,  "T", 0);
    this.registerVariable("toolRadius",          "TR",                   true,  "",  "DEFAULT", "DEFAULT");
    this.registerVariable("toolDiameter",        "TD",                   true,  "",  "DEFAULT", "DEFAULT");
It is ArcDroidMM.js that disables/hides SPEED and all related and sets spindleSpeed to 1.

Presets, Power, Speed, Passes and so on are handled in a Layer Dialog.

But as there is almost no documentation on the CAM Add-On ....

Regards,
CVH

tiger351w
Newbie Member
Posts: 6
Joined: Wed Dec 24, 2025 7:33 am
Location: SF Bay Area

Re: CAM SET UP with Plasma cutter

Post by tiger351w » Mon Dec 29, 2025 9:21 pm

Thanks

I am going to try and test today and see what the results are. hopefully it doesn't try and drive my torch down through the material.

CVH
Premier Member
Posts: 5054
Joined: Wed Sep 27, 2017 4:17 pm

Re: CAM SET UP with Plasma cutter

Post by CVH » Tue Dec 30, 2025 5:37 am

tiger351w wrote:
Mon Dec 29, 2025 9:21 pm
hopefully it doesn't try and drive my torch down through the material.
It won't if you do the Homing and Zeroing sequences correctly. :wink:

High-end machines do that automatically.
Especially if they have a battery of interchangeable tools and an automatic tool-changer.
There is even something like tool wear compensation.

My flat-bed engraver its driver must Home first or it doesn't run over F100 (mm/min).
The working area isn't guarded either, simply because the driver doesn't know where the physical edges are.
But it is me that has to start the Homing sequence manually, it is a G-Code macro.

Because Homing is carefully slow, I have implemented a Park position.
Before turning of the machine I park it near the Homing positions. :wink:

Why 'carefully slow' is because it must be able to decelerate to a full stop not crashing into anything.
You can't 'Home' at F6000 and expect it to stop within an excess travel less than a fraction of a mm.

Regards,
CVH

Post Reply

Return to “QCAD/CAM”