Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Color has a deprecated constructor in /homepages/23/d548214462/htdocs/clickandbuilds/Joomla/MyCMS/templates/rt_chapelco/features/color.php on line 11
myCNC - advanced CNC control, software - FAQ - All FAQs

Frequently Asked Questions - All FAQs

Please select your question category

Search FAQs
View FAQ Tags

CNC control system messages

This message may appear in "Multi-Dev" configuration (several Ethernet controllers connected in master-slave local network). MyCNC software detects communication error with one of slave controllers.


1) Disable "Multi-Device" if you use single controller based configuration.


2) Check Network settings for slave devices.



THC (Torch Height Control)

Warning: Complete THC configuration is necessary if new Plasma Cutting profile created. Easy way is to use some of default profile made for Plasma Cutting and edit it for your needs. This acticle is for advanced users.

To complete setup THC for Plasma Cutting you will need:

1. Connect Height sensor output to one of Ethernet controller ADC inputs

2. Go to THC configuration widget (Technology->THC tab).

3) Configure THC

a) check "THC enabled"
b) select ADC input that used to connect Height sensor.
c) "Arc voltage ref" is reference value that the THC system will try to keep by control Torch Height.
d) "THC PI-control P-ratio" and "THC PI control I-ratio" can be set separately for moving up and down. The ratios for "move down" are usually lower than "move up" to prevent torch diving.
e) Height sensing signal may be unstable just after piercing. It's possible to deactivate THC for given timeout after piercing by setting "THC start delay"s"
f) At finish of cutting a cut part may fall out  and height sensing may work incorrectly at the moment. To prevent Torch following falling part THC system can be deactivated just before cut is finished. Set "THC time pre-off" to enable this feature. Set "THC time pre-off,s" to 0 to disable it.

4) Enable THC in G-code program.

PLC controller should send a message to THC to start THC working. Normally a message to "START THC" is included in some of cutting ON commands (M02.plc, M20.plc, M71.plc C07.plc etc) and message to THC "STOP THC" is included in cutting OFF and program OFF commands (M05.plc, M21.plc, M74.plc, OFF.plc, M02.plc)

CNC register 0xa4 is used to start/stop THC control.
Write "1" to the register switch ON THC.
Write "0" to the register switch OFF THC.

Sample of code to start THC is shown below-

if (thc_enable!=0)
  //start THC control
  parameter=1; //Start Height sensing


Sample of code to stop THC is shown below-

if (thc_enable!=0)
  //stop THC control
  parameter=0; //Stop Height sensing
  texit=timer+2; do{timer++;}while(timer<texit);

5) Configure DRO for measured Arc voltage.

DRO definition as all screen configuration is situated in "cnc-screen.xml" configuration file of the profile. Arc voltage DRO definition is shown below.

<gitem K="0.075" where="thc-work" type="display" format="%3.1f"  address="adc-inputs" number="0" bgColor="black" fgColor="cyan"
height="30" displayWidth="180" labelWidth="120" fontStyle="bold" labelFont="14" orientation="horizontal"
<message>Arc Voltage, V</message>
<message_ru>Напряжение дуги, В</message_ru>

For given example we use ADC0 input as feedback channel for THC system. So we need to choose ADC0 current value as Arc voltage.

Attributes "address" and "number" define ADC input #0 to DRO.
Attribute "where" defines Widget name to insert the DRO.
Attribute "K" describes ratio to convert 12bit value (0...4095 range) to Volts. This ratio should be set according your plasma power source, voltage divider parameters, THC addon board input attenuation etc.
Attribute "format" defines C-like format to display Arc voltage.
Attributes "height", "displayWidth", "labelWidth" describe height and width for DRO and its label.
Attributes "bgColor" and "fgColor" define Background and Foreground Color for DRO.

Field "message" provides test message for Label.

6) Reference Arc voltage control.

To change Reference Arc voltage from main screen can be used spinbox-like item. The item configuration is shown below.

Attributes "type", "action" "name" define spinbox that show and change current state of CNC-variable #0xa3 (which is actually reference value for THC control). The rest attributes and fields are similar to DRO configuration.

<gitem K="0.075" where="thc-work" format="%3.1f"
type="kspinbox" action="cnc-variable-dec-0xa3;cnc-variable-inc-0xa3" name="display-cnc-variable-0xa3"
fgColor="cyan" bgColor="black"
labelWidth="120" displayWidth="60" height="60"
fontStyle="bold" labelFontSize="14"
<message>Arc Voltage Ref, V</message>
<message_ru>Опорное напряжение дуги, В</message_ru>

 7) Configured spinbox changes CNC variable 0xa3. The variable itself should be defined in cnc-variables.xml configuration file. While pressing "left"(decrement) and "right"(increment) buttons on the spinbox value of the CNC variable is changed according to increment/decrement value ("step" attribute) and range ("min", "max" attribute).

<value suffix="V" type="numpad" min="300" max="4090" step="2" name="cnc-variable-0xa3">1850</value>

If the variable defined inside of <item> section it will be show on Settings dialog as well. See screenshot below.

    <value type="numpad" min="300" max="4090" step="2" name="cnc-variable-0xa3">1850</value>
    <message>Arc Voltage Ref, ADC units</message>
    <message_ru>Установка напряжения</message_ru>
    <message_du>Boog Voltage Ref</message_du>
    <message_kr>ARC 볼트 기준</message_kr>
    <message_pl>Napięcie odniesienia łuku</message_pl>
THC Arc Volatge setup
THC Arc Volatge setup


Screenshot below shows both Arc Voltage DRO and Arc Votage reference spinbox.

THC Arc voltage DRO and Arc volateg Reference spinbox
THC Arc voltage DRO and Arc volateg Reference spinbox


8) Plasma Arc voltage is negative. Differential amplifier/attenuator can be used to convert Plasma Arc voltage to 0...5V rande. Ethernet control boards ET10, ET1(2016 revision) contains differential amplifier to accept signal up to 30V. If Plasma power source doesn't have built-in voltage diveder, some external divider 1:10 should be used.

ET5, ET1(old revision) ADC accept 0...5V signals, so external differential amplifier and voltage divider should be used. On a photo below is possible choice fro differential amplifier - THC add-on board.





THC (Torch Height Control) is sub-system that keeps constant distance between plasma torch and material sheet.

Most of Plasma Cutting THC use Arc voltage as feedback.

Plasma Arc voltage depends on

  • distance to material
  • material type
  • material thickness
  • plasma torch
  • torch consumables
  • others.

Considering stable plasma cutting process the only "Distance to material" is variable., other parameters are constants.

THC able to keep constant distance to material by control Arc voltage.

myCNC THC & IHC implementation.

MyCNC THC contains independent PI-controller. If THC is activated,

  1. myCNC measures Arc voltage
  2. Compares Arc voltage with Reference value
  3. Uses PI-control to drive Z axis and compensate the difference.

Driving Z axis implemented as variable "tool length" so no special Z axis programming need to use THC.

THC parameters can be set in "THC configuration dialog.

  • THC enable - enable/disable THC.
  • THC feedback channel - ADC channel number that used for THC control.
  • Arc->Voltage ratio - ratio to recalculate ADC value to real Arc Voltage
  • Alarm Move Up - Voltage difference value range that detected as system error.
  • THC Low Speed.
    Machine adds deceleration-acceleration on corners.If cutting speed is lower, cut width become wider and effective Plasma Arc Length is longer, Arc Voltage increased. Plasma Torch might go down if THC tries to keep Arc Voltage on corners while cutting speed is low. That's why temporarily disable THC while cutting spped is low is very important option for modern THC systems.
    If current speed is lower than "THC Low Speed", THC is temporarily disabled.
  • Hi/Lo event output port. Port number #63 is used to disable built-in THC on corners. In case 3rd party THC used, it's possible to assign any other output to disable external THC.
  • Arc Voltage Ref - Reference Arc Voltage value (in ADC units)
    There are 2 scenarios for Reference Arc Voltage
    1) Predefined Reference Arc Voltage value can be used (or loaded from Cutcharts)
    2) Machine starts cutting on "Cutting height" set by IHC procedure. After "THC start delay" THC measure current Arc Voltage and uses this value as Reference value. During electrode/nozzle lifetime Cutting parameters are changing and Cutting height might "float" on the same Arc Voltage. This method may have some advantages and helps to keep constant cutting height during full lconsumables lifetime cycle.

  • THC PI-control ratios - Separate PI-control ratios (proportional, integral) for motion up and down to fine tuning PI controller.
    In many cases there can be different behaviour of THC while lift up and down. If gun comes closer to material (arc voltage goes low), THC should act quite quickly to prevent torch damange.
    If arc voltage goes high, it may be because distance between torch and material goes up OR because torch comes along corner and cut become wider. PI ratios for moving down may be lower and slower (Low fast P-ratio, high slow I-ratio) to have lower down speed and extra prevent torch plunging on corners.
    First P/I value in the dialog is for positive arc voltage difference ( voltage high, move down), second value is for negative arc voltage difference ( voltage low, move up). It's recommended to set similar values to both ratios (up & down), then advanced users may play with ratios for fine tuning.

  • THC start delay. Right after piercing Plasma Arc and its voltage can be unstable. It's useful to start THC with 1-2 sec delay after pierce finished and cutting motionstarted.

  • THC pre-off. Small parts may fell down at the end of cut. If the falling happens while cut process is not finished, Torch may follow falling part and move down, leaded by THC. Switching OFF THC 0.3...2 seconds before cut finished might help with this error and save torch gun.


THC system should be activated/deactivated in "Cutting-ON" "Cuttning-OFF" PLC procedures. All PLC procedures are flexible and available for modification/customisation in PLC Builder. We offer "P1024" profile as a basic template for Plasma Cutting. Beside of THC ON/OFF handler PLC procedures contains a complete IHC (Initial Height Control) procedure handler. Cutting-ON procedure controls Initial probing, move to ignition height, pierce height, cutting height and all the delays.

IHC procedure described on a picture below.

A- Material probing (Voltage short circuit sensor or pneumatic valve activated probe sensor can be used)
B- Move up to Ignition height, Ignition
C- Move up to Pierce Height, Pierce Start
D- Move down to Cutting height
F- Start THC control
E- Ignition Height
F- Pierce Height
G- Cutting Height
H- Pierce Time
I- THC start delay

All the parameters can be set in Settings dialog or User dialog


 myCNC has Cutcharts for Hypertherm, Thermadyne, Kjellberg power sources. IHC and THC parameters can be loaded directly from the cutcharts.

myCNC cutcharts support for plasma cutting


CNC software, load cutchart process


PLC builder window, Cutting ON PLC procedure.

myCNC software, PLC builder, Cutting ON, IHC, THC start procedure



1. Number of packages are needed to run myCNC sofware on Cubieboard2.
To install it run -
sudo   apt-get   update
sudo   apt-get   install   ffmpeg   libsdl1.2debian   libopencv-dev   libusb-1.0

2. Download myCNC-arm-linux last distribution file from download page.

3. Run the file with administrator rights:

 sudo ./

4. Press Y <Enter> to confirm you like to install myCNC software.

5. Press Y  <Enter> to accept EULA terms.

6. Enter myCNC destination folder ("myCNC" by default). The software will be installed on "/opt/YOUR_FOLDER"

7. Installation will be finished in a few seconds.

8. To run the myCNC software use script file in myCNC folder.



1) Potentiometer should be connected to any of ADC inputs of Etherenet control board (ET1, ET5). Schematic connection is shown on a picture below.

2) Software Connection of ADC input to "change-over-speed" should be configured.
Item configuration is situated in "cnc-variables.xml" configuration file.

<value name="cnc-connection-item-001"
K0="25" K="0.030525" deviation="16">0</value>

Attribute "source" describe source connection. It's "adc" in this case. Attribute "dest" describes destination of connection.

Possible sources/destinations are:

  • adc
  • pwm
  • dac
  • input-pin
  • input-port
  • output-pin
  • output-port
  • item

If defined source is changed, destination is changed according given ratios K0, K.

Destination value= K0 + (K*source)

For given example ADC input range is 0...4095.

So motion over-speed is changed from
(25+0.030525*0 to

Destination value is updated if source value is changed more than given deviation.


Output switching depends on input signal can be configured through cnc-connection in "cnc-variables.xml" configuration file in current profile.

Example of configuration line is shown below.

<value name="cnc-connection-item-002"
K0="0" K="1" deviation="0.5">0</value>

Attribute "source" defines input pin #0 as source of connection.
Attribute "dest" defines output pin #3 as destination of connection.

If input pin #0 is "0" output pin #3 is turned OFF, if input pin is "1" output is turned ON.

1. Select "Settings" tab, then "System configuration tab.
2. Find the last menu with child menu items ("Preferences").
3. Select the last submenu ("Interface Language")
4. Select your language.
5. Press "OK", then press "Save".
6. Restart the software


There are 2 ways to set IP address of myCNC Ethernet controller.

1) Configuration dialog, "Network" Tab, "Controller IP address"

2) In command line while starting myCNC software with option "-L"
For example, Linux:

./Linux/myCNC  -dUt   -pVision  -L192.168.0.178


c:\MyCNC\bin\myCNC.exe  -dUt   -pVision  -L192.168.0.178

Command line option "-L" have higher priority. IP address with "L" otion is used first.

However when "Save" button in configuration dialog pressed, myCNC software reloads settings from configuration file and data from Configuration dialog/"Network" tab takes effect.

If you have different IP address settings in "Network" tab and command line "L" option - you will get connection lost (established) when "Save" button pressed.



Current configuration is stored in profile folder. To copy configuration you need to copy a profile folder with its content to new computer.

There are 2 ways to transfer profile folder.

1) Direct copy profile folder.

Current profile folder is placed in "User" folder. User foder depends on Operating System.

For MS WIndows 7 a complete path to profile folder is "C:\Users\USER_NAME\myCNC\profiles\PROFILE_NAME"

For Linux a complete path usually is "/home/USER_NAME/.config/myCNC/profiles/PROFILE_NAME"


It's a good way to make archive file from profile folder and transfer the only archive file from one computer to another.

On a picture - user name is "H7", profile to copy is "1280V"

On next screenshot - destination example for Linux Ubuntu Mate computer.

User name is "mycnc", home folder is "/home/mycnc", a complete path to put profile "/home/mycnc/.config/myCNC/profiles"

Copy archive file "1280V.7z" there, extract files from archive - double click on the archive file in File Manager,
New window with archive content will be opened,
press right button and select extract file.



2) Transfer through Profile Archive.

myCNC can store current profile snapshot to mySQL database file. This file can be transfered to another computer and profile restored form the archive.

By default database file is stored in -

 "C:\MyCNC\db\profiles.sqlite" (for MS Windows)

"/home/USER_NAME/myCNC/db/profiles.sqlite" (for Linux)

To store current profile press "Ctrl+Z". Profile save dialog will be shown. You can enter comments and enter/change save date to easy identify the shapshot while load.



 to be continued....




1. Run Web Bwrowser (Firefox), open web page and download the last version of myCNC for Linux.



2. Open Dolphin utlity.

3. Open "Downloads" folder, find myCNC distribution file, press RIGHT button on it and select "Properties" menu.

4. Select "Permission" tab, SET "is executable" checkbox, press "OK" button.


5. DOUBLE-CLICK on the downloaded file "". Installation will be started.

6. Press "Y" and "ENTER" to confirm start installation.

7. Press "Y" and "ENTER" to accept EULA terms.

8. Press "ENTER" to accept "myCNC" folder to install the software.

9. Enter administrator password and press "ENTER"

10. Press "ENTER". Installation will be finished.

11. Press RIGHT button on the "K" menu icon. Select "Edit Application" menu.

12. Press "New Item" button, enter "myCNC" name for new item. Press "OK" button.

13. Select new "myCNC" menu, select "General" tab, enter name" myCNC" and command  "~/myCNC/"

14. Select "Advanced" tab, enter "~/myCNC/" workpath and press "Save" button.

15. Menu item "myCNC" in K-menu is ready to launch myCNC control software.






Press "K-menu", select myCNC menu item, press RIGHT mouse button on it and select "Add to Desktop".

1. Select "System Settings" in K-menu.

2. Find "Startup and Shutdown".

3. Press "Add Program" button.

4. Select "myCNC" in the list, press "OK" button.

That's all.


1. Press Ctrl+Alt+F to open console window.

2. Start Firefox Brwser. Type -
firefox <Enter>

3. Goto http://www.pv-automation/download page and download the version of myCNC-Embedded

4. Close Firefox

5. goto Home folder, type on console window -
cd  ~  <Enter>

6. run myCNC-embedded distribution package, type -
bash    ./  <Enter>

7. Follow instruction (press <Enter> a few times)

8. Goto myCNC foder, type -
cd    ~/myCNC <Enter>

9. Execution binary file is updated during installation process. Profile is placed in Configuration folder and keep untouched. It should be updated manually in needed. Mostly likely Screen should be updated with new installation. PLC & Macros configuration may contain your specific data and should NOT be updated by default.

a) Update Screen configuration, type -

bash   ./ <Enter>

b) Update PLC binary files -

bash   ./ <Enter>

c) Update Macros files -

bash   ./ <Enter>

10. Set default profile name. Put profile name you need as content of "profile"  in /home/operator/.config/myCNC folder, type
echo   P1024   >/home/operator/.config/myCNC/profile

11. Copy starting script from your platform template, type (for Odroid-XU4)
type (for Raspberry Pi2)


FAQ for PLC programming.

1) THC Voltage reference register is mapped to CNC variables array address "0xA3" and Global variables array address "7229".

For example, M-code "M190 P1500" will value "1500" to THC Voltage reference register.
Source code for M190.plc (version 1)

#include src/common.const.h
#define variable          var00
#define parameter         var01
variable=0xa3; //Set Voltage reference
parameter=eparam; //Voltage ref value







Source code for M190.plc (version 2)

#include src/common.const.h





2) Parameters "Piece time", "Ignition height" and "Cutting height" are used in Cutting-ON procedure (M03, M21, M71, C07 - depends on postprocessor and profile configuration). It's possible to store values of this variables in PLC variables array in one PLC-procedure and use it later from another PLC-procedure.

PLC Variables array is array of 32 long int values (int32_t plc_variables[32]) which is mapped to Global varoables to addresses 7230...7361

For example running "M191 P1450" will set value of "1450" to PLC-variables register #0.
Cutting-ON procedure uses ths register as "Pierce time"

Source code for M191.plc

#include src/common.const.h





Source code for M71.plc (part)

#include src/common.const.h
#include src/pins.h

#define variable          var00
#define parameter         var01

#define pierce_time       var09










myCNC Ethernet controllers contain RS485 bus connector with RTU-modbus and ASCII-modbus implemented protocols.

Modbus can be configured through configuration tab "Technology"->"Spindle"


1) Check "RS 485/Modbus communication" to enable RS485/Modbus on myCNC Ethernet controller.
2) Setup "RS485" comminication speed according your inverter settings.
3) Setup "Inverter Address" and check the first checkbox.
address value 0...15 are reserved in myCNC or non-modbus devices, Modbus Inverter address value should be 16 or more;
For 1-spindle configuration the first checkbox only should be checked. Other checkboxes are for multi-spindle configurations.

 4) Modbus diagnostic mode.

If "Spindle" Tab dialog is open, myCNC software can ping over Modbus selected registers for testing pupose. If register selected, myCNC tries to read them 2 times per second.
myCNC shows register value if reply recieved.
If inverter replies with exception myCNC shows register address that generates exception.

On a picture below there are 2 registers choosen for ping: #2239, #8192

A- Register #2239 value is received and shown ("1")

B- Inverter replied with Exception regarding register #8192


 If "modbus diagnose" checkbox is checked, myCNC shows all traffic between myCNC controller and modbus device (Inverter).

 Blue lines are outgoing traffic from myCNC Etherent controller to Modbus unit. There are extra ">" symbol and current time added to each line. Red lines are modbus unit (Inverter) reply. On a pictures below examples of Modbus traffic.

1- No income traffic (Modbus unit is disconnected or configured not properly

2- Correct traffic between Modbus client (myCNC contrller) and Modbus server (Inverter)



myCNC Ethernet controllers contain RS485 bus connector with RTU-modbus and ASCII-modbus implemented protocols.

Modbus can be configured through configuration tab "Technology"->"Spindle"


1) Check "RS 485/Modbus communication" to enable RS485/Modbus on myCNC Ethernet controller.
2) Setup "RS485" comminication speed according your inverter settings.
3) Setup "Inverter Address" and check the first checkbox.
address value 0...15 are reserved in myCNC or non-modbus devices, Modbus Inverter address value should be 16 or more;
For 1-spindle configuration the first checkbox only should be checked. Other checkboxes are for multi-spindle configurations.

 4) For proper communication 2 write registers should be setup.

"WR/Operate" - Writing to this register defined values will turn ON rotation, direct rotation or Stop rotation.

"WR/Frequency" - Writing to this register will change inverter output frequency (spindle speed)

For number of inverter types (Delta-VFD, Mitsubishi/VD-D700, Fuling-DZB, Yaskawa V7 & V1000) you can load register addresses by pressign "Load defaults" button.


5) Defined values that "Spindle ON", "Spindle Reverse" and  "Spindle OFF" should be written on "PLC Configuration->Spindle" dialog settings. Option "Spindle inverter over Modbus" - "yes" should be choosen as well to activate sending SPindle commands over modbus.


6) Depends on Inverter model Inverter frequency unit can be rpm, 1 Hz, 0.1Hz, 0.01% or something else. MyCNC software sends spindle speed as "Spindle speed, rpm" multiplied by "speed  ratio (modbus)". This ratio should be choosen to get correct spindle speed setup for any inverter model.

For example, Inverter "Fuling DZB": speed settings unit is 0.01%, max inverter frequency 300Hz, 18000 rpm.

This means value 10 000 should e sent to get spindle frequency 18000rpm.

Speed ratio is 10000/18000=0.55556






1. Download "Zadig" software from


2. Run the utility, select "Options menu" and check menu "List All Devices"

3. Select "USB HID" device  in the list (Check USB ID "10CE:EB70)

4. Select "WinUSB" driver and press "Replace Driver" button, confirm river changes.

5. Restart myCNC softwrae, it should get access to XHC Pendant control over "libusb" driver.



Server API interface related questions.

myCNC sooftware offers API for third party software. Softwrae developers can connect to myCNC software and

  • load, run, stop/pause, g-code programs or single g-code lines;
  • rotate, scale g-code programs;
  • get current status of myCNC control (current position, speed, controller hardware inputs & outputs,
  • run PLC procedures from myCNC controller;
  • change myCNC control hardware outputs (relays, open collector outputs, PWM, DACs etc);


There are 2 version of command "SetScale" in the Server API to change scale of given g-code file.

For both commands g-code program should be loaded to myCNC by runnig command "ProgramFileOpen" -

ProgramFileOpen /sk/DNC/

1) Command "SetScale".

Format: SetScale <scale>

SetScale 3.5

(myCNC software will open g-code file defined by command "ProgramFileOpen", scale it to factor 3.5 and load result to myCNC memory).

 If "SetScale" command used several times, previous "scale" ratios are ignored. myCNC software uses original g-code file and the last "scale" ratio to generate scaled program.


{avsplayer videoid=1}

2)Command "SetScale++".

For some applications "scale" ratio should be used together with g-codes rotation. In this case commands "SetScale++" and "SetRotationAngle++" should be used.

When running "SetScale++" command "scale" ratio is latched to 'Scale&Rotation" structure. If running "SetRotationAngle++" myCNC software loads g-code file, given with "ProgramFileOpen" commands and perform rotation and scale with given Angle and Scale.



SetScale++ 2.75

SetRotationAngle++ 1.77




myCNC software offers import of DXF and HPGL files and convert it to g-code for different technology processes:

  • Engraving;
  • Mill cutting;
  • Plasma cutting;
  • Gas cutting;
  • Camera (computer vision);
  • Tangential knife;
  • 45 degree Tangential knife;

It's possible to generate g-code that use several technology process and automatical switching between them (like Camera alignment and engraving, tangential knife and mill cutting)

myCNC softwareDXF/HPGL convert to G-codes settings

Some settings can be selected for each technology process.


  1. "Tool lift": tool moves between cuts/engraving on this "safe" height.
  2. "Z": Z position for engraving - machine perform engraving on this height.
  3. "Feed" : engraving speed.


convert DXF to g-code (Engraving)

Example of DXF to G-code conversion for engraving


Mill/Router cutting:

  1. "Tool lift": tool moves between cuts on this "safe" height.
  2. "Material thickness": Thickness of material to cut. It's supposed that Top of material has position Z=0. If material thickness is "H", tool will end cutting on position Z=-H.
  3. "Cut Depth": Depth of each cutting pass.
  4. "Feed" : cutting speed.

myCNC software generates multi-pass cutting starting from Z=-Depth, then -2Depth, -3Depth,...,-H.
Each pass going deeper to "Cut Depth" value.

 myCNC software, DXF/HPGL to G-code conversion for mill cutting