Features

Free Download

Home

Examples

Contact

Contents
1. Getting started 1.1 Launching Gsimple. 1.2 Define the project 1.3 Select coordinates 1.4 Define the block 1.5 Define the part 1.6 Attaching tools 1.7 Make Options 1.8 Saving the project on the hard disk 1.9 Compilation 1.10 Check the G-Code produced 1.11 Report printing 1.12 G-Code downloading 2. GSIMPLE Command List 3. GSIMPLE files 4. G-Codes used by G-Simple

1. GETTING STARTED

Generally, you have to follow 12 steps in order to build a GSIMPLE project. Depending on the project, some of them may be ommited Step 1: Launch GSIMPLE by double clicking on its icon Step 2: Define the project details through the Setup/Project menu selection. Step 3: Select coordinate system (G54,G55 etc) Step 4: Define the block dimensions, block material and tool-zeroing level. Step 5: Define your part using Shape, Milling, Modify and Engrave menu selections. Step 6: Select the tools you will use from the tools library and attach them on the toolholder Step 7: Select fininshing quality, finishing quality parameters etc Step 8: Save your project Step 9: Compile your project Step 10: Check the G-Code produced by inspecting it and “running” it on the screen Step 11: Print out a report with information and instructions for the machinist who will actually produce the part Step 12: Download the g-code and run it on your milling machine

1.1 Launching Gsimple
Launch Gsimple by double clicking on its icon. Gsimple will NOT automatically create a shortcut on the desktop at installation time, and it will NOT add itself in the Start-Up menu, so you will need to open the folder where it has been isntalled (for example c:\Project Files\gsimple) to find it. You can also launch gsimple be double clicking on any .gsi file (.gsi is the filexetension used for gsimple project files) but only if you have associated .gsi files with gsimple.

1.2 Defining the project
In order to be able to make a usable G-Code GSIMPLE will have to know

• •

The filename of the file that will contain the g-code The G-Code program number

Open the General Project Data dialog through the Setup/Project menu.

In order to facilitate the users we have included some additional usefull informations in the Project Dialog. You may leave them blank if you wish. Fields left blank will not appear in the Report (look at 1.11)

If you ommit this step and do not define G-Code filename and program number, Gsimple will use the default values.

Default values are defined in the Configuration File (gsimple.cfg) accesible through the Setup/Configuration menu selection.

In order to change the defaults edit the following lines in gsimple.cfg: .... # Default output file (the file where the G-Code program will be stored) GCFILE noname.cnc # Default program number PROGRAM 1 ....

1.3 Selecting coordinates

Open the Coordinated dialog through the Setup/Coordinates dialog

X,Y settings will affect only the image on the screen and not the g-code produced. Default values are set in the configuration file OR the milling machine configuration files.

In order to change the defaults edit the following lines in gsimple.cfg:

# Default coordinates. You can also move these lines in the milling machine # definition file(s) # COORDINATES G<54,55...> X Y Z [UNITS] (Z is always 0) # UNITS are either mm or inch. Default is mm COORDINATE G54 -350 -300 0 mm

1.4 Defining the block
Use the block dialog, accesible through the Setup/Block menu, to define the block dimensions and materal and the block zaxis position in accordance to the tool-zeroreferance level

Top

The tool-zero-referance-level is the surface which you will use in order to “zero” your tools. In many applications it is a common practice to zero the tools on the top face of the block. In this case you will have to set “Top” at 0 (the default value).

Sometimes, you will zero the tools on the table. If the block is fixed directly on the table, “top” will have to be set at the same value as “Height(Z)” (50 in our example).

If you select another object for tool-zeroing (the vice for example) you will have to calculate (or measure) the distance between the block top face and the face selected for tool-zeroing and set “Top” accordingly.

Block Material

Select the block material from the material data base. The material data base is stored in a simple text (ascii) file (material.dat) which may be edited with Windows Notepad or any other text editor.

A typical line in material.dat looks like the following:

Ck45 1.3

In this case, CK45 is the material name and 1.3 the material-group and subgroup to which CK45 belongs. Gsimple will use this information -the block material group and subgroup- at compilation in order to select the proper speed and feed rates from the tool data base. You can edit the material.dat file in order to delete unused materials, use different names etc. Do not delete ST37-2 from the data base!

Default block material is defined in the configuration file (gsimple.cfg) with the configuration command MATERIAL. Example: the following line in the configuration file (gsimple.cfg) will make CK45 the default block material.

MATERIAL CK45

If you do not select a default material in the configuration file, gsimple will use ST37-2

1.5 Defining the part
Object Types

There are 5 predifinet object-types in GSIMPLE

• • • • •

Bulges Pockets Drills Threads Engravings

A Bulge has a positive volume. It may have any (producable) shape. In order to facilitate the user GSIMPLE includes dialogs for three common bulge types -rectangular, cylindrical and polygonal. Use the Shape/Odd-Shapped Bulge menu selection to defined an arbitrary shaped bulge.

A Pocket has a negative volume. It may have any (producable) shape. In order to facilitate the user GSIMPLE includes dialogs for three common pocket types -rectangular (with rounded edges), cylindrical and longholes. Use the Shape/Odd-Shapped Pocket menu selection to defined an arbitrary shaped pocket.

Drills and Threads are just that -common drills and threads. Engravings include lines, arcs, circles and text. The font used for text engravings is selected with the FONT configuration-command in gsimple configuration (gsimple.cfg) file. Object Attachment

A part is defined through the attachment of objects of predifined object-types. You can attach objects directly on the block. For example, if you want to drill a hole (please look at the first example at http://www.gsimple.eu/ex1/ex1.html) on a metal plate, you just attach a drill on the block. If you use bulges you must attach the lower bulge on the block -otherwise GSIMPLE will not know where you have placed it. Bulges may be attached on the block or on any other bulge. Pockets, Drills, Threads and Engravings may be attached on the block, a bulge or a pocket (but not on pockets defined as a Longhole which is a special kind of pocket). Current GSIMPLE version will not accept the attachment of a bulge on a pocket (an island). Levels

A level is a group of one or more bulges attached on the same level. The first level (level 0) is the block remaing top face. Bulges belonging to the same level have always the same height.

You will have to split your object in levels manualy in order to produce more complicated objects.

1.6 Attaching tools
Use the Setup/Toolholder menu selection to define the tools you are going to use (attach them on the toolholder).

During compilation GSIMPLE will (if not otherwise commanded) automatically select the proper tool for each job it has to perform, from the attached tools. If none is found, the compilation will be terminated with an error message.

In order to be able to “attach” a tool in the toolholder the tool must have been properly defined in the Tool Data Base. Tools are devided in 11 tool-types: A. Center Drills B. Drills C. Taps D. Thread mills E. Rough end mills F. Fine end mills G. Rough face mills H. Fine face mills I. Countersinks (chamfering tools) J. Engraving tools K. Special tools

For every tool the data base stores two sets of data: 1. Geometry data (diameter, length, number of flutes, pitch (taps anjd thread cuts, etc) 2. Milling data (tools speeds, vertical and horizontall feed rates, cutting depth etc). Since these data are material dependend, the data base is able to store a set of milling data for every material group/subgroup.

The above screenshot shows the speed, horizontal milling (fxy) and Vertical milling (plunging, fz) feed rates for tool named EM14R2 (a rough end mill) for Material group 1, subgroup 3 (*) If no tool-milling-data have been defined for the block-material-group, you will get a “UNSUITABLE TOOL” message in the toolholder dialog.

Unsuitable tools will be ignored by the automatic tool selection compilation procces. If you select an unsuitable tool manualy for a specific job, compilation will be terminated with an error message such us

(*) Material Groups and Subgroups are defined in amg.dat file. This is a plain text (ascii) file editable with any text editor such as Notepad. The original file (the one you have downloaded) follows the common division made by the most tool manufacturers. Our suggestion is to leave it as it is.

1.7 Make Options

Select G-Code/Make Options from the main menu to access this dialog

Option are divided in 5 sections. Only the non obvious options are discussed below. 1. General. “Fast block approch height “ is used in drilling and taping and is the equivalent of the R-Plane in G-Code. For example, if “Fast block approach heigth” is 3 the drilling outup command will become G81 R3.000 Z-25.000 F85.000 “Go X,Y at tool change” will be used with large object to avoid a colision between the tool and the object during toolchange. Gsimple will fisrt move to the ordered x,y position and then change tool

2. Shape and pocket milling. “Horizontal overlap” will affect the distance between sunsequent milling lines. 0% means a distance equal to tool diameter. 50% a distance equal to half the tool diameter etc.(*) “Filter-out out-of-block paths” is a powerfull filter which will eliminate from the G-Code slow running G01 paths, which are placed out of the block. This is very usefull if you just want to mashine just one part of an object (for example round the left edge of a long plate) No filtering

Same object with filtering Version 1.09 has a new filter which will also eliminate most of the slow running arcs which are placed entirely outside the block. To use the old filter, add the following line in the configuration file (Gsimple.cfg):

USE OLDFILTER ON or USE NEWFILTER OFF 3. Drilling “Drill Cleaning” will retract the drill, turn it CCW at high speed (for example 200% of the defined) for the time defined by “duration” and repeat it “repeat” times 4. Finishing “Rough filinsh horizontal faces” means fininshing the face with the rough milling tool, turning normally faster and running at a lower feed rate. Please note that you can select the finishing quality individually for every bulge and pocket with the “Edit” dialog. 5. Finishing parameters All entries are obvious

1.8 Save your project
Select File/Save or File/Save As from the main menu to open a standart file-save dialog.

Gsimple projects have the .gsi extension. The .gsi files are plain text files, ie you can open them with any text editor such as notepad.

A typical .gsi file looks something like that

$64 65918042 $65 www.gsimple.eu $66 1.09 ... $50 AUTO

$11 1 CD3.15 0 0.00000 0.00000 $11 4 DHSS08 0 0.00000 0.00000 $11 6 EM05R2 0 0.00000 0.00000 $11 7 EM08FS4 0 0.00000 0.00000 $11 10 FM25R4 0 0.00000 0.00000 $3 1 145.00000 60.00000 20.00000 0.00000 0.00000 0.00000 0 0 -1 $4 ST37-2 $28 0.00000 0 ...

Do not edit!

1.9 Compile your project
Select G-Code/Make G-Code from the main menu and Gsimple will “compile” your project -that is produce the G-Code. The G-Code will be stored in a file with the name selected in step 2 (Look at 1.2 Defining your project). In case of errors (for example a missing tool) the compilation will be aborted and Gsimple will inform you about the problem with an error message, for example

If everything goes ok Gsimple will give you a report indicating the tools that have actually been used and the estimated milling time

1.10 Check the G-Code produced

Select G-Code/View G-Code from the main menu to view the G-Code produced (colored) using your Web Browser, or G-Code/Edit G-Code to open the file with your text editor (for example Notepad), or G-Code/Annimation to run it on the screen.

Important Note

Gsimple will not look at the “back side” of the tool when generating a path. This means that it will damage your part if, for example you place two bulges one next to the other, in a distance smaller than the tool diameter. You can see this problem, during “run-time” (animation) as a path intersection. In this case you will have to select a smaller tool and assign it to this job manualy.

1.11 Report printing
Select File/Print Report to print out a report for the machine operator. The report will contain valuable informations, such as the G-Code filename, the G-Code program number, the block (stock) diamensions and material, the coordinates used, the tool-zeroing method, the tools used etc. You can change the report header (for example insert your company name and logo)

through the configuration file (gsimple.cfg) accesible through the Setup/Configuration menu.
############################################################## # G-Simple Ver 1.07 Configuration file # # # # Sample file # # Author: S.Kontogiannis # # Last Modified: 6/4/2007 # # # # NOTICE: # # Configuration file is parsed only on program start up # # Changes will not be effective until program restart # # # # Lines starting with # are comments # ##############################################################

# Company Name and User. Change these settings with your company and name USER S.Kontogiannis COMPANY Polaris Engineering SA

# You may add your logo and a logo-image, to be used on the printed report # COMPANY_LOGO CAD-CAM DEPARTMENT COMPANY_IMG “c:\My Documenets\logo.jpg”

1.12 Download G-Code file
Select G-Code/Transfer G-Code to copy the G-Code file on diskette a: (default setting) or

invoke your downloading software (defined through the configuration file gsimple.cfg). For exapmle if your downloading software is called MyDownLoad.exe and it is in the folder c:\Program Files\CNC you will have to add the following line in the configuration file: TRANSFER "c:\Program Files\CNC\MyDownLoad.exe” Gsimple will call it with argument the G-Code filename.

2. GSIMPLE VERSION 1.09 COMMAND LIST
Menu File Command New Toolbar Icon Function Clears current project (if changes have not been saved it will ask for confirmation) and opens a blank “machine table” Clears current project (if changes have not been saved it will ask for confirmation) and opens a new, selected through a standart file selection dialog Save the current project on disk. Standart file extension for GSIMPLE files is .gsi. .gsi files are text files. Do not edit! Save As Saves current project under a new name.

Open

Save

Print report

Prints a report of the project, ready for use by the machine operator. Report is in HTML format. Gsimple will invoke your browser for printing. Opens the related CAD drawing. You can assign a drawing filename to the project using the Setup/Project command.

Open Drawing

Import DXF

Imports a drawing from a .dxf file. Import only the nessesary parts of the drawing. Gsimple will not handle more than 4096 lines, arcs or circles Exits GSIMPLE (if changes have not been saved it will ask for confirmation). Stores project specific information: G-Code filename, GCode program number, Part Number, Drawing File, Customer etc Define block dimensions, material and position in accordance to the tool zero reference level. Block is initaly placed at X0,Y0 but may be moved Select coordinates (G54, G55, G56 etc), define position in accordance to machine zero. Check box to align block at X0,Y0. Define user coordinates. Very usefull for drawing part placed in middle of block. You can use the right-click menu to set the user coordinates on a specific point. Attach tools to be used, selectable from tool data base.

Exit

Setup

Project

Block

Coordinates

User Coordinates Tool holder

Fixture

Draw fixture. Used only for actual setup visiulasation. No colision control made by GSimple Opens the configuration file gsimple.cfg for editing using Notepad or any other text editor. Restart gsimple to activate changes. Objects may be selected and deselected only in this view-mode. Current view-mode remains active until another is selectec. Isometric view mode. Objects may not be selected/deselected in this mode. Left mouse button is inactive. Right mouse activates “View” menu. Current view-mode remains active until another is selected. Object viewed from the lower-left corner (South West). Isometric view mode. Objects may not be selected/deselected in this mode. Left mouse button is inactive. Right mouse activates “View” menu. Current view-mode remains active until another is selected. Object viewed from the lower-right corner (South East).

Configuration

View

Top View

Isometric SW

Isometric SE

Axonometric

Axonometric view mode. Objects may not be selected/deselected in this mode. Left mouse button is inactive. Right mouse activates “View” menu. Current view-mode remains active until another is selectec. Object viewed from the lower-left corner (South West). Select whether the machine table, the machine originn, the block, the fixtures, the machine limits etc will be visible or not. Draws a simple line. Values entered are in User Coordinates. You can record the start and endpoints through the right-click menu Draws an arc. Values entered are in User Coordinates. You can record the start and endpoints through the right-click menu Draws a circle. Values entered are in User Coordinates. You can record the center point through the right-click menu Draws a rectangle (4 lines). Values entered are in User Coordinates. You can record the start and endpoints through the right-click menu Writes a text. Start point values entered are in User Coordinates. You can record the startpoints through the right-click menu Free drawing and object snap selection. Selected points (endpoints, centers, middpoints and intersection points) set for the selected objects only. Points may be cleared through the right-mouse-button menu Groups selected drawing elements (lines, arcs, circles) together. Delete, move, rotate, copy and mirror will handle them as a group Resolves a group. Drawing elements impored from dxf file will be grouped according to their “layer” (as defined in AutoCad) Used to determine how much the topface will be milled down. Dialog will select milldown method, surface quality and tools used. A Bulge is the opposite of a pocket. You must select a parent object, on which the bulge will be attached before defining a bulge.

View Options

Draw

Draw Line

Draw Arc

Draw Circle

Draw Rectangle Draw Text

Snap Settings

Group

Ungroup

Shape

Topface

Rectangular Bulge

Cylindrical Bulge Polygonal Bulge Odd shaped Bulge Milling Rectangular Pocket Cylindrical Pocket Odd shaped Pocket Drill

The block or another bulge may be selected as parent for a bulge. Several bulges may be attached on the same parent but they will have the same height. Left click on the block or on a bulge to selected as parent. Alternatively use the right-click menu. Use this dialog to define an odd (arbitrary) shaped bulge. Alternatively compose it from a drawing with the compose command Select a parent object on which the pocket will be attached before defining a pocket. Suitable parent objects for pockets are pockets, bulges and the block. Cylindrical pockets may be milled using face mills in a continuus, spiral down way. Use this dialog to define an odd (arbitrary) shaped pocket. Alternatively compose it from a drawing with the compose command Define a simple drill, chamfer and tool to be used. If tool needs predrilling (defined in data base) Gsimple will look for a suitable tool and predrill it! Define a thread, chamfer and tool to be used (tap or thread mill). Predrilling will be performed automatically (a suitable tool must be attached) Defines a simple long hole

Thread

Longhole

Modify

Delete

Deletes selected objects exept the block, which cannot be deleted. Moves selected objects in the x,y plane. Values entered are shift values. WARNING: moving an object above another will not attach it on it! Copy selected objects in the x,y plane. Multiple copies (array) may be selected. See above warning! Turn selected objects around a center point. Use the right-click menu to preselect center point. Bulges and pockets will be exploded Mirror selected objects horizontally or vertically. Use the right-click menu to preselect axis.Texts cannot be mirrored

Move

Copy

Turn

Mirror

Attach

Attach an object on another. Bulges cannot be attached on a pocket (Gsimple Version 1.xx cannot mill an island) Open respective dialog to change the data of the preselected object. Multiple selected objects may not be edited, even if they are identical

Edit

Milling Parameters

F

Select milling parameters for the selected object (Pocket, Bulge, Drill, Thread). Parameters may be set only if tools have already been manualy preselected. Declare a rectangular, polygonal or cylindrical bulge odd-shapped; declare a rectangular o cylibdrical pocket odd-shaped in order to be able to edit them with the odd-shaped editor. NOTE: Turning or mirroring a non odd-shapped bulge or pocket will automatically make them odd-shapped

Explode

Compose Compose Bulge

Convert a drawing into a bulge. Parent must be preselected. Select lines and arcs to be converted into a bulge by clicking on them with the Shift Key presed in a Counterclockwise order. Alternatively you can use the right-mouse-button menu. Click on the parent and select “Select as Parent”. Click on the first line or arc and select “Select”. Click on the next line or arc (in a counterclockwise order) and select “Auto Select”. The parent will be colored in red. The selected lines and arcs in blue. Auto select will stop if it “bumbs” on a “crossroad” (and intersection of 3 or more lines/arcs) or at the end. Open shapes cannot be converted into a bulge. WARNING: Gsimple will not check whether your bulge is producable. In order to be producable a bulge is not allowed to contain any “non sharp corners” -that is lines intesecting at an angle greater than 180 deg. WARNING: Be carefull not to attach a “bigger” bulge on a smaller one. Gsimple will not check it! Running the code will produce a tool crash!

Compose Pocket

Convert a drawing into a pocket. Parent must be preselected. Select lines and arcs to be converted into a pocket by clicking on them with the Shift Key presed in a

Counterclockwise order. Alternatively you can use the right-mouse-button menu. Click on the parent and select “Select as Parent”. Click on the first line or arc and select “Select”. Click on the next line or arc (in a counterclockwise order) and select “Auto Select”. The parent will be colored in red. The selected lines and arcs in blue. Auto select will stop if it “bumbs” on a “crossroad” (and intersection of 3 or more lines/arcs) or at the end. Open shapes cannot be converted into a pocket. WARNING: Gsimple will not check whether your pocket is producable. In order to be producable a pocket is not allowed to contain any “sharp corners” -that is lines intesecting at an angle smaller than 180 deg. WARNING: Be carefull not to attach a “bigger” pocket in a smaller one. Gsimple will not check it! Running the code will produce a tool crash! Comppse Drill Convert selected circles into drills. Parent must be preselected. Convert selected circles into threads. Parent must be preselected. Convert selected lines, arcs and circles into an engraving. Parent must be preselected Convert an object into drawing. Objects with attacments (other objects attached on them) cannot be decomposed. Engrave a line. Values entered are in User Coordinates. You can record the start and endpoints through the right-click menu Engrave an arc. Values entered are in User Coordinates. You can record the start and endpoints through the right-click menu Engrave a circle. Values entered are in User Coordinates. You can record the start and endpoints through the right-click menu

Comppse Thread Compose engraving Decompose

Engrave

Line

Arc

Circle

Text

Text engraving.

Tools

Center Drills

Add, delete, modify center drill geometry data (diameter, length) and material-group dependend data (speed, feed and feed rates) Add, delete, modify drill geometry data (diameter, length, min. predrilling diameter) and material-group dependend data (speed, feed and feed rates) Used for taps and thread mills

Drills

Threads

End Mills

Used for rough and fine end mills

Face Mills

Used for rough and fine face mills

Other

Used for countersinks (chamfering mills) and engraving tools Used for special tools

Special

Meterials

Material list. You can change this list by editing (for example with Notepad) the material.dat file Compile drawing into G-Code file C

G-Code

Make

View G-Code

View G-Code (colored) using your browser

Edit G-Code

View/Edit G-Code using Notepad (or any other text editor, as defined in the configuration file) Copy G-Code file to diskette a: (or any other drive, as defined in gsimple.cfg). To download the file directly to ypur machine you will need a special program. Define several milling parameters (global finishing quality, center drilling, peck drilling, tool retract distance etc). Datas are project specific.

Transfer GCode Make Options

Make Report

View compilation report

Animation

Star animation. You can start the G-Code “execution” from any point, go fast or slow, pause, restart etc. Visualasation in 2 dimensions. Get Help

Help

Help

About

View Gsimple version and related information

3. GSIMPLE FILES
File GSimple.exe Type Binary, executable Details CAD-CAM executable file Usage: gsimple [filename.gsi]

CopyTo.exe

Binary, executable

Simple copy to drive utility Usage: CopyTo <driveletter> <filename>

amg.dat

Ascii (simple text)

Material group and subgroup definition file

Threads.dat

Ascii (simple text)

Threads definition file

Material.dat

Ascii (simple text)

File connecting material names to material groups and subgroups as defined in amg.dat file

Tool.dat

Ascii (simple text)

Tool definition file. Geometry data only.

Toolmat.dat

Ascii (simple text)

Material group/subgroup dependend tool data (Speed, cuting depth and feed rates)

Gsimple.cfg

Ascii (simple text)

Gsimple configuration file.

Stdfont.cfg

Ascii (simple text)

Font configuration file

haas_vf0.cfg

Ascii (simple text)

Machine definition file for Haas VF0 Mill

haas_vf4.cfg

Ascii (simple text)

Machine definition file for Haas VF4 Mill

Files used for installation Gsimple.zip Archive (zip) Compressed full istallation file. Containes gsimple.ex~, gsinstal.exe, agree.txt Gsexe.zip Archive (zip) Compressed update file. Containes gsimple.exe

Gsimple.ex~ Gsinstal.exe Agree.txt

Archive (not zip) Executable Ascii (simple text)

Gsinstal.exe extracts all files from this Installation program Legal agreement text

4. G-CODES USED BY GSIMPLE
Gsimple follows the "standart" G-Code. For a referance look at http://www.linuxcnc.org/handbook/gcode/g-code.html

GSimple is using just a subset of the G-codes, that is:

G00 G01 G02 G03 G04 G20 G21 G28 G43/G44 G54 – G59 G74 G80 G81 G83 G84 G90

Rapid move Linear move Circular move(***) Circular move(***) Dwell (delay) Select inch Select mm Rapid move to origin Tool length offset(**) Select coordinates system Left hand tapping (*) Cancel canned cycle Simple drilling Peck drilling Right hand tapping Absolute distance mode

(*) Note on G74 Not standart, used by many machine manufacturers

(**) Note on G43/G44 If you are using G44 instead of G43 add the following line in your machine-definition (OR configuration file) USE G44 ON

To return to G43 substitute the keyword ON with OFF USE G44 OFF

Some machines require a G00 command before G43/G44. You can turn this feature ON with the configuration command

USE G00_BEFORE_TOOL_COMP ON

To disable this option “turn it off”: USE G00_BEFORE_TOOL_COMP OFF

The default setting for both USE G44 and USE G00_BEFORE_TOOL_COMP is OFF

(***) Starting with version 1.09 Gsimple is using the G02/G03 X Y Z I J F syntax for arcs and circles. Older versions

used G02/G03 X Y Z I J F only for a full circle and G02/G03 X Y Z R F for arcs. You can use the old syntax with the

USE R_IN_G02_G03 ON command

GSimple is using just a subset of the M-codes, that is:

M00 M03 M04 M05 M08 M09 M30 M88 M89

Program pause Turn spindle clockwise Turn spindle counterclockwise Stop spindle Start cooland Stop cooland Program stop and reset Start through the spindle coolant (*) Stop through the spindle coolant (*)

(*) Note on M88/M89 Not standart, used by Haas.