---
description: Discover etcnmachining&#039;s tips for mastering G17, G18, and G19 in CNC programming. Read now for essential knowledge and improve your setup!
title: Understanding G17, G18, and G19 in CNC Programming - ETCN
image: https://etcnmachining.com/wp-content/uploads/2024/08/13.8.png
---

[ ![ETCN LOGO](https://etcnmachining.com/wp-content/uploads/2024/04/ETCN.png) ](https://etcnmachining.com/) 

* [Home](https://etcnmachining.com/)
* Services  
▼  
   * [CNC Machining Service](https://etcnmachining.com/cnc-machining-service/)  
   * [CNC Milling Service](https://etcnmachining.com/cnc-machining-service/cnc-milling-service/)  
   * [CNC Turning Service](https://etcnmachining.com/cnc-machining-service/cnc-turning-service/)  
   * [CNC Machining Surface Finish](https://etcnmachining.com/cnc-machining-surface-finish/)  
   * [CNC Metal Machining Service](https://etcnmachining.com/cnc-metal-machining-service/)  
   * [CNC Plastic Machining Services](https://etcnmachining.com/cnc-plastic-machining-services/)
* Materials  
▼  
   * [CNC Metal Machining Service▼](https://etcnmachining.com/cnc-metal-machining-service/)  
         * [Aluminum CNC Machining Service](https://etcnmachining.com/cnc-metal-machining-service/aluminum/)  
         * [Brass CNC Machining Services](https://etcnmachining.com/cnc-metal-machining-service/brass/)  
         * [Stainless Steel CNC Machining Services](https://etcnmachining.com/cnc-metal-machining-service/stainless-steel/)  
         * [Copper CNC Machining Services](https://etcnmachining.com/cnc-metal-machining-service/copper/)  
         * [Magnesium CNC Machining Services](https://etcnmachining.com/cnc-metal-machining-service/magnesium/)  
         * [Titanium CNC Machining Services](https://etcnmachining.com/cnc-metal-machining-service/titanium/)  
   * [CNC Plastic Machining Services▼](https://etcnmachining.com/cnc-plastic-machining-services/)  
         * [ABS (acrylonitrile) CNC Machining](https://etcnmachining.com/cnc-plastic-machining-services/abs/)  
         * [Acrylic (PMMA) CNC Machining](https://etcnmachining.com/cnc-plastic-machining-services/acrylic/)  
         * [Nylon CNC Machining](https://etcnmachining.com/cnc-plastic-machining-services/nylon/)  
         * [PAI(Torlon) CNC Machining](https://etcnmachining.com/cnc-plastic-machining-services/pai-torlon/)  
         * [PEEK CNC Machining](https://etcnmachining.com/cnc-plastic-machining-services/peek/)  
         * [PEI (Ultem) CNC Machining](https://etcnmachining.com/cnc-plastic-machining-services/pei-ultem/)  
         * [POM (Delrin/Acetal) CNC Machining](https://etcnmachining.com/cnc-plastic-machining-services/pom/)  
         * [PTFE(Teflon) CNC Machining](https://etcnmachining.com/cnc-plastic-machining-services/ptfe/)
* [Blog](https://etcnmachining.com/blog/)
* [About](https://etcnmachining.com/about/)
* [Contact](https://etcnmachining.com/contact/)

[ Skip to content](#content) 

# Understanding G17, G18, and G19 in CNC Programming

[ Back to Home ](https://etcnmachining.com) 

![](https://etcnmachining.com/wp-content/uploads/2024/04/dc74faa7-shape-1-1.png) 

![](https://etcnmachining.com/wp-content/uploads/2024/04/97080b15-pattern-dot.png) 

Understanding G17, G18, and G19 in CNC Programming

* [ August 19, 2024 ](https://etcnmachining.com/blog/2024/08/19/)
* 6:01 am
* [  karry ](https://etcnmachining.com/author/karry/)

 Facebook 

 Twitter 

 Reddit 

 LinkedIn 

![](https://etcnmachining.com/wp-content/uploads/2024/08/13.8.png) 

Regarding CNC (Computer Numerical Control) programming, one must know the essential G-codes for efficient machine operations and accurate manufacturing. These are G17, G18, and G19, which are specific commands in any CNC machine that determines its working planes, enabling a programmer or operator to perform precise machining tasks as part of g code basics. This post will look at these g codes in detail by examining what each does, where they can be applied, and their significance in controlling the geometry of machining operations. Ultimately, through this discourse, individuals should be able to appreciate how they can best use these statements for their CNC program optimization while attaining better results during production processes.

## What is G17 in CNC Programming?

![What is G17 in CNC Programming?](https://etcnmachining.com/wp-content/uploads/2024/08/13.1.png)

### Plane Selection G17

In CNC programming, G17 is the command for choosing the XY plane in which the machine works; this is among the most essential principles of G-codes. When activated, all arcs and circles are made within this 2D surface only. Most computer numerical control machines have it as their default working plane so that operations like milling or drilling can be done on a given axis with precision. Using it well enables programmers to organize their codes better, thereby simplifying machining while reducing the chances of wrong plane selection errors.

### CNC Machine and G17

G17 is crucial in CNC programming because it guarantees accurate machining operations on the XY plane. When a [CNC machine](https://etcnmachining.com/blog/g-codes/) has been programmed with G17, it can effectively make circular and arc movements within this two-dimensional space. This makes for smoother transitions and more precise cuts since the device reads the code so that it only moves along certain planes. Still, another advantage of setting G17 as default is that it simplifies programming, allowing operators to concentrate on other essential things like tool path [optimization or machining](https://etcnmachining.com/blog/low-volume-cnc-machining/) parameters. With an understanding of how G17 works, one can reduce setup times and minimize the chances of mistakes during production, leading to better manufacturing efficiency and product quality improvement.

### How to Program G17

Programming CNC machines in G17 is easy. In other words, we must first establish that the XY plane will be used for all subsequent processes by starting your CNC program with a G17 command. Here is how you can effectively use G17:

1. Initialize the Program: Begin your CNC program with G17\. This tells the machine that any circular or arc movement commands that come after should be interpreted as being about planes defined by points located on this plane.
2. Setting up Tool Path: After giving the command for establishing a plane (G17), indicate where tool paths should be located within it using common g-codes, such as those used when programming drilling operations.
3. Programming Circular Motions: Commands like G2 and G3 can make clockwise and counterclockwise arcs, respectively, while ensuring that their endpoints lie within the XY plane.
4. Execute Machining Commands: In addition to specifying paths taken by tools during machining processes, additional instructions may be provided concerning operations like drilling or milling; however, reference must always be made back towards G17 so as not to confuse positioning accuracy.
5. End the Program: Use suitable G-code (for example, G0—rapid positioning) at the end of programs to either bring the machine back home or move it to the next operation stage.

By following these steps, cnc programmers can ensure they stay accurate and work within correct confines, improving overall performance during machining.

## How do G18 and G19 Differ from G17?

![How do G18 and G19 Differ from G17?](https://etcnmachining.com/wp-content/uploads/2024/08/13.2.png)

### Understanding Tool Planes G18 and G19

G18 and G19 refer to G-code commands that identify more tool planes in computer numerically controlled machining. In particular, they stand for the ZX and YZ planes, respectively, which are additional to the XY plane indicated by G17.

1. G18 (ZX Plane): As soon as it is enabled, this machine works in terms of circular interpolation orients along with this axis arrangement. This is very important because there are operations where pieces should be fixed at certain positions so that they can be worked on across the Z-axis only; for example, drilling or turning, which need accurate vertical adjustments made together with horizontal movements.
2. G19 (YZ Plane): On the other hand, when a program sets G19 mode, it means that everything will now happen within the YZ plane. This mode comes in handy when contours have been cut vertically and need precise measurements on both Y and Z axes. It is mostly used where complex shapes are created through component cutting, thus requiring tools to combine vertical and sideways motions.

Overall, either selecting G18 or going for G19 enables a CNC operator to effectively allocate their tool paths and circular movements around specified axes while optimizing machining processes so that operations may be done accurately from different orientations.

### When to Use G18 or G19 in CNC

The main factors in deciding whether to use G18 or G19 in CNC programming are the shape and position of the workpiece and particular machining functions.

1. When drilling holes (where vertical depth and horizontal location matter most), one should employ G18, which is needed for operations primarily performed along the Z-axis with respective compensations made on the X-axis.
2. G19 must be used whenever we are dealing with parts having complex profiles or contours that demand accurate positioning along the Y and Z axes. This command is best for cases when vertical features are involved in machining—e.g., multi-face milling, and shapes extending upwards from the horizontal plane.

In summary, either G18 or G19 should be chosen to optimize tool paths and improve machining precision by considering a workpiece’s specific spatial needs.

### Programming G18 and G19 in Milling Machines

To program a milling machine with G18 and G19, the operators should first define the plane of work. For G18, one usually starts by choosing the correct plane and then establishing the tool’s position using the G18 command. The next moves must indicate the feed rate as well as the corresponding coordinates in the X and Z axes for accurate control during vertical machining operations.

Similarly, G19 concentrates on the Y and Z axes this time. To effect G19, initiate plane selection with G19, followed by relevant coordinates concerning movements along the Y-axis and adjustments along the Z-axis. This allows for detailed contouring and intricate shape machining. All tool path commands should be accompanied by necessary safety checks plus tool retraction commands to ensure efficiency while operating within the important milling process.

## What is the Role of G18 in CNC Machining?

![What is the Role of G18 in CNC Machining?](https://etcnmachining.com/wp-content/uploads/2024/08/13.3.png)

image source：https://www.machiningdoctor.com/gcodes/g17-g18-g19/

### Plane Selection G18

Regarding CNC machining, G18 is the godfather of establishing the horizontal plane of operation. In simple words, it does this by giving a command that activates the XZ plane so that all machine movements can be interpreted in relation to this orientation. Precise control along X and Z axes mainly used in vertical machining applications can only be achieved through programming G-code on a CNC where such commands like G18 are very critical. The choice of an appropriate plane using G18 enhances accuracy during the production of complex profiles or contours since it guides the toolpath into meeting required specifications with precision. Among other things, tool position and feed rates must be properly set by operators while programming these relevant parameters for maximum efficiency during manufacturing processes; otherwise, errors may occur, which will lead to waste materials being produced even more than necessary. Therefore knowledge about what happens behind the scenes when selecting planes with G18 greatly increases operational precision within CNC machining environments.

### Using G18 in CNC Machining

The XZ plane is used when cutting with G18 on a CNC machine. It starts with the G18 command, which sets the direction of the machine; then, operators need to specify how far along the X-axis and Z-axis they want it to move. This is most critical in tasks requiring great accuracy, like machining parts with intricate shapes. In addition, feed rates must be considered together with tool paths while using G18 to improve the precision of machining and avoid mistakes. Using G18 correctly will lead to the desired processing results and facilitate better productivity at every stage of the manufacturing process through enhanced part quality.

### CNC Machine Programming with G18

To achieve the best results, you should systematically program CNC machines using the G18 command. This begins by ensuring that the machine’s coordinate system has been set correctly to the XZ plane, as stated in this command. After which, input G-code instructions that define the cutting path must be made, indicating starting points, ending points, and any other intermediate points along this route. All of this must be done with utmost care, cross-checking all values against each other and also against what they are supposed to represent so that no errors or omissions occur during computation – spindle speed is a parameter among others such as tool selection or feed rate which should not only be known but also verified because failure can lead to breakage thereby causing harm to the workpiece being worked on thus affecting productivity within the manufacturing industry. Regarding these aspects of programming, an operator must understand their relationship with practical machinist practices since different materials need different tools, speeds feed and depths, cuts holes, etcetera, otherwise known as surface finish tolerances, stock removal rates, chip loads, tool deflection ramping entry methods run times etcetera (which may vary widely) – hence knowledge about them becomes mandatory if success shall ever be achieved in machining operations!

## How Does G19 Affect CNC Programming?

![How Does G19 Affect CNC Programming?](https://etcnmachining.com/wp-content/uploads/2024/08/13.4.png)

image source：https://cnc-programming-tips.blogspot.com/2014/11/g17-g18-g19-plane-selection.html

### Understanding G19 Plane

In CNC programming, the G19 code is used to select the YZ plane for machining. When this command is turned on, it enables operators to move and work in three dimensions — along the Y-axis and Z-axis — which is necessary for most practical machinist applications. This is particularly useful for tasks such as contouring or creating intricate details on a part. To use G19 correctly, an operator needs to establish the machine’s home position before entering specific instructions about what toolpath should be followed where. It should be noted that feed rates and tool types, among other parameter settings, should be carefully considered since they greatly affect machining accuracy and efficiency levels achieved at last. Integrating G19 into the CNC program framework appropriately allows for greater geometric complexity and functional capability of machined parts.

### Differences Between G17, G18, and G19

The CNC programming language has three codes, G17, G18, and G19, that allow us to choose a plane for machining operations.

1. G17: This command selects the XY plane so that we can execute operations on a horizontal plane. It is largely used for 2D contouring and profiles lying in this flat surface.
2. G18: When the G18 code is activated, it means that the XZ plane is selected. We need this while working with vertical moves along the Z-axis at a fixed X position. This is especially necessary for milling, where depth control is critical.
3. G19: As mentioned before, G19 sets the YZ plane. This command enables movement along the Y and Z axes simultaneously. It supports more complex geometrical machining, such as intricate profile cutting or feature-making required by certain applications.

Each code provides different functions, so knowledge of their dissimilarities is essential to maximizing the usage of CNC programming machines across various sectors while improving accuracy levels during production processes. These orders help ensure correct tool orientations with regard to the workpiece, thereby increasing efficiency and accuracy overall.

### Examples of Using G19 in CNC

The G19 command is very useful in various machining scenarios that necessitate accurate management of the YZ plane. Here are a few examples to illustrate this:

1. Machining Intricate Profiles: For instance, aerospace components and custom automotive parts with complex curves or contours need simultaneous movement on Y-and Z-axes which can be achieved through G19\. This feature is necessary if one wants to achieve high levels of detail and precision in the final product.
2. 3D Contouring Operations: G19 allows CNC machines to be used in 3D contouring applications, such as making molds or dies, where the machine has to move smoothly between different heights and lateral shifts while keeping true to the designed geometry.
3. Parting Off Operations: While parting off process in lathe operations where tool needs plunge into material along y-axis at same time; it should also move horizontally thereon may call for use of g19\. This will make machining cycle more efficient and reduce chatter risk associated with tools.

Using g19 properly can greatly affect the accuracy and efficiency of machining operations thereby becoming an essential command for cnc programmers dealing with complex geometrical problems.

## Why is Plane Selection Important in CNC?

![Why is Plane Selection Important in CNC?](https://etcnmachining.com/wp-content/uploads/2024/08/13.5.png)

image source：https://link.springer.com/article/10.1007/s11356-022-24908-3

### Impact on Coordinate System

Among the most significant phases of CNC programming is choosing the machining plane. The coordinate system that will be employed during the whole process of machining largely depends on this decision. It also affects where a tool should be relatively positioned to a workpiece in terms of dynamic positioning, which may be altered along X, Y, and Z axes whose orientation is dictated by specifying any particular plane. Two-dimensional cutting operations, for instance, can be achieved by selecting the XY plane, while three-dimensional part fabrication is enabled through YZ or XZ plane selection. Therefore, such a choice has direct influence over programming strategy since there must be changes made on calculations of toolpath so that accuracy and precision are guaranteed with respect to produced components. In addition, the wrong plane choice may increase the wear rate of tools, lower machining efficiency, and compromise the integrity of parts, thus underscoring the need for strategic thinking in CNC operations. Ultimately, programmers’ knowledge about these implications allows them to optimize workflows during milling on lathe machines, thus improving reliability when attempting to achieve required dimensions, ultimately leading to enhanced reliability during finishing processes with the milling machines according to desired specifications for final products made using the turning center with live tooling.

### Effects on Canned Cycle Operations

In CNC programming, canned cycles are highly affected by the choice of a machining plane. These cycles, which are pre-programmed commands, aim to reduce extensive programming by streamlining repetitive operations like drilling and tapping. Once the machining plane is set, it alters how the cycles interpret positional data in relation to the workpiece. As an illustration, the approach, retract, and dwell time settings of this cycle may be determined by the selected plane, hence impacting safety and efficiency in general terms.

When the programmed plane does not align with a piece being worked on, there can be unintended tracks for tools, resulting in wrong final cuts or even potential collision between them. This implies that it is important to plan carefully when defining a suitable plane before initiating any canned cycle command. Additionally, correct one can increase reliability in terms of performance while lowering setup periods thus affirming the need for an accurate coordinate system which should also improve consistency in production quality.

### Practical Applications in Milling Machines

Milling machines are very important in industries that use them because they can do many different things well. For example, manufacturing often involves making intricate shapes from solid blocks using milling cutters and complex geometric templates. This is possible through 2D or 3D contouring, which would allow the creation of such items as brackets, plates, gears, etcetera. Apart from that, milling procedures are also instrumental in carrying out face cutting, end milling, and slotting operations for material shaping into required sizes. The productivity of advanced CNC-enabled mills is improved by automation, which reduces cycle time and provides a good surface finish as well. Furthermore, the integration of live monitoring systems ensures operational efficiency and quality control during machining processes. These features show why this equipment still plays a key role within modern production systems, hence the need to select the best machining plane, such as the G17 plane, for optimal performance realization.

## Reference Sources

[Cartesian coordinate system](https://en.wikipedia.org/wiki/Cartesian%5Fcoordinate%5Fsystem)

[G-code](https://en.wikipedia.org/wiki/G-code)

[Numerical control](https://en.wikipedia.org/wiki/Numerical%5Fcontrol)

## Frequently Asked Questions (FAQs)

![Frequently Asked Questions \(FAQs\)](https://etcnmachining.com/wp-content/uploads/2024/08/13.6.png)

### Q: CNC Programming – What are G17, G18 and G19?

A: Although it may sound like a foreign language, these three abbreviations represent commands in the field of computer numerical control machining. Specifically speaking, g-codes G17, G18, and G19 help to define which plane to perform a particular operation on. For example, G17 sets the X-Y plane as the working surface while milling; G18 establishes the Z-X plane, whereas Y-Z is selected through G19.

### Q: How do they affect programming with g-code?

A: The impact of these commands is directly felt during the programming process that involves arcs or circles. When you input a circular move command into your program (such as “G02” or “G03”), the control needs to know what plane this circular motion should occur on. This is achieved by specifying any of the three codes, thus keeping things accurate when it comes to tool pathing and avoiding programming mistakes.

### Q: When do I use this code?

A: Use “G17” every time you want to make an arc with respect to the X and Y axes. It’s mostly employed in milling to control precise XY movements.

### Q: What’s different between them?

A: Each one selects its own plane for machining purposes, among others associated with basic knowledge about g-codes. The planes involved are X-Y for “G17”, Z-X for “G18” and finally Y-Z represented by “G19”. Knowing how these work helps operators write correct instructions along two selected axes while dealing with their programs’ arcs, circles, and other complex paths.

### Q: How does selecting a different plane affect circular interpolation moves?

A: Depending on which one was chosen — all three can be used interchangeably — different axis combinations will be used while generating curves/rounds in a g-code file executed by a CNC machine. For instance, if we take into account only the first command (G17) out of them where X and Y are active, then such movements will be interpreted between those two axes.

### Q: Are g-code modal for plane selection?

A: Yes. Modal is also where the choice of planes using G17, G18 or G19 lies. This means it remains active after selecting one until another program commands a g code to select different planes. Therefore, it is important to keep track of this.

### Q: Is g17 used in both lathe and milling operations?

A: During milling operations, especially when there are movements along the XY plane while cutting across the x-axis and y-axis, respectively, but in lathes, mostly through the xz or yz plane towards the z-axis, then no doubt they will be using G18 and G19 apart from any other possible choices.

### Q: How does G17 combine with other g-codes?

A: You often find people using combinations such as “G02,” which is a clockwise arc movement definition code, followed by “G03,” an anti-clockwise (counterclockwise) arc movement definition code; G17 must have preceded all these codes to mean we want them interpreted within the xy-plane where arcs are made.

### Q: Can you give me an instance where the CNC program includes G17?

A: Yes, I can give you one below;

N1 G17

N2 N90

N3 GO1 X10 Y0

N4 GO2 X20 Y10 I10 J0

N5 GO1 X30 Y0

In this example, after setting the plane to XY using code number 1(G17), a clockwise arc with the center defined by I10, J0, along the XY plane is commanded through code number 4 (GO2).

### Q: How do I know what the active plane on my CNC control is?

A: The current active plane should usually be displayed somewhere around your controls’ screen, maybe in the top left corner or near the bottom right corner, etc. The display should show something like “ACTIVE PLANE=XY.”

Related Posts

* [Discover the Advantages and Techniques of Aluminium die-casting](https://etcnmachining.com/blog/aluminium-die-casting/)
* [“Use G14 to Program Your Haas Lathe Sub-Spindle – Tips & Tricks Easily”](https://etcnmachining.com/blog/g14-cnc-code/)
* [Ensuring MRI Safety: Navigating the Complexities of Magnetic Resonance Imaging with Metal in Your Body](https://etcnmachining.com/blog/ensuring-mri-safety/)
* [Ultimate Guide to Acrylic Machining: Unlocking Precision and Clarity](https://etcnmachining.com/blog/acrylic-machining/)
* [Unlock the Secrets of 4140 Alloy Steel: Composition, Properties, and Applications](https://etcnmachining.com/blog/material-4140-steel/)
* [Unlocking the Potential of Titanium CNC Machining: A Comprehensive Guide](https://etcnmachining.com/blog/titanium-cnc-machining/)
* [Understanding the Properties of Cold Rolled Steel: Differences Between Hot Rolled and Cold Rolled Steel](https://etcnmachining.com/blog/cold-rolled-steel-properties/)
* [Unlock the Potential of Custom Parts with CNC Machining Service](https://etcnmachining.com/blog/unlock-the-potential-of-custom-parts-with-cnc-machining-service/)

![Picture of karry](https://etcnmachining.com/wp-content/cache/flying-press/gravatar-1b8eaa0e0502.png) 

 karry 

Search 

Main Products

* [CNC Machining Service](https://etcnmachining.com/cnc-machining-service/)
* [CNC Milling Service](https://etcnmachining.com/cnc-machining-service/cnc-milling-service/)
* [CNC Turning Service](https://etcnmachining.com/cnc-machining-service/cnc-turning-service/)
* [CNC Machining Surface Finish](https://etcnmachining.com/cnc-machining-surface-finish/)
* [CNC Metal Machining Service](https://etcnmachining.com/cnc-metal-machining-service/)
* [CNC Plastic Machining Services](https://etcnmachining.com/cnc-plastic-machining-services/)
Hamburger Toggle Menu 

Recently Posted

[ ![Top 15 Aluminum CNC Machining Suppliers](https://etcnmachining.com/wp-content/uploads/2026/01/Aluminum-CNC-Machining-suppliers.png) ](https://etcnmachining.com/blog/top-15-aluminum-cnc-machining-suppliers/) 

[ Top 15 Aluminum CNC Machining Suppliers You Need to Know in 2025（Updated List） ](https://etcnmachining.com/blog/top-15-aluminum-cnc-machining-suppliers/) 

 DU  January 4, 2026 

[ ![Understanding CNC Machining and Its Costs](https://etcnmachining.com/wp-content/uploads/2025/12/reduce-cnc-machining-cost.png) ](https://etcnmachining.com/blog/reduce-cnc-machining-cost/) 

[ Design for Manufacturability (DFM): 10 Proven Ways to Reduce Aluminum Machining Costs ](https://etcnmachining.com/blog/reduce-cnc-machining-cost/) 

 DU  December 30, 2025 

[ ![The Role of CNC Machining in Aluminum Parts Production](https://etcnmachining.com/wp-content/uploads/2025/12/low-volume-aluminum-machining-1.png) ](https://etcnmachining.com/blog/low-volume-aluminum-machining/) 

[ From Prototyping to Low-Volume Production: Bridging the Gap with CNC Machining ](https://etcnmachining.com/blog/low-volume-aluminum-machining/) 

 DU  December 25, 2025 

[ ![Common Applications Requiring Precise Anodizing Thickness](https://etcnmachining.com/wp-content/uploads/2025/12/aluminum-anodizing-thickness-tolerance.png) ](https://etcnmachining.com/blog/aluminum-anodizing-thickness-tolerance/) 

[ Anodizing Aluminum: How to Achieve Consistent Color and Tight Tolerances ](https://etcnmachining.com/blog/aluminum-anodizing-thickness-tolerance/) 

 DU  December 18, 2025 

[ ![Best Practices for Thin Wall Machining](https://etcnmachining.com/wp-content/uploads/2025/12/machining-thin-wall-aluminum-3.png) ](https://etcnmachining.com/blog/machining-thin-wall-aluminum/) 

[ Machining Thin Wall Aluminum: Techniques and Best Practices ](https://etcnmachining.com/blog/machining-thin-wall-aluminum/) 

 DU  December 17, 2025 

[ ![Introduction to CNC Machining in Robotics](https://etcnmachining.com/wp-content/uploads/2025/12/cnc-machining-for-robotics-3.png) ](https://etcnmachining.com/blog/cnc-machining-for-robotics/) 

[ Precision Aluminum Parts for Robotics: Lightweighting Arms and Chassis ](https://etcnmachining.com/blog/cnc-machining-for-robotics/) 

 DU  December 12, 2025 

##### Blog Categories

##### Popular Blog Tags

![LIANG TING](https://etcnmachining.com/wp-content/uploads/2024/04/2-8.png)

Mr.Ting.Liang - CEO

Greetings, readers! I’m Liang Ting, the author of this blog. Specializing in CNC machining services for twenty years now, I am more than capable of meeting your needs when it comes to machining parts. If you need any help at all, don’t hesitate to get in touch with me. Whatever kind of solutions you’re looking for, I’m confident that we can find them together!

[ Contact ETCN ](#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjEyMzEiLCJ0b2dnbGUiOmZhbHNlfQ%3D%3D) 

[PrevPreviousMastering CNC Programming with G16 Polar Coordinate System](https://etcnmachining.com/blog/g16-cnc-code/) 

[NextUnderstanding G19: A Comprehensive Guide to CNC Plane Selection and Programming BasicsNext](https://etcnmachining.com/blog/g19-cnc-code/) 

× 

###### Contents

Contents 

Scroll to Top 

WhatsApp us

Get in touch with ETCN company

Before uploading, compress the file into a ZIP or RAR archive, or send an email with attachments to [ting.liang@etcnbusiness.com](mailto:ting.liang@etcnbusiness.com)

Contact Form Demo

Your Name \*

Email

Phone/WhatsApp

Your Message

3D and 2D files if available

Choose File 

Submit Form

Privacy Preference

We need your consent before you can continue on our website.If you are under 16 and wish to give consent to optional services, you must ask your legal guardians for permission.We use cookies and other technologies on our website. Some of them are essential, while others help us to improve this website and your experience.Personal data may be processed (e.g. IP addresses), for example for personalized ads and content or ad and content measurement.You can find more information about the use of your data in ourprivacy policy.

Privacy Preference
* Essential  
Essential cookies enable basic functions and are necessary for the proper function of the website.
* Statistics  
Marketing cookies are used by third-party advertisers or publishers to display personalized ads. They do this by tracking visitors across websites.
* Marketing  
Statistics cookies collect information anonymously. This information helps us to understand how our visitors use our website.

[ Accept all](#)

[ Reject all](#)

[ Accept only essential cookies](#)

[ Accept only selected](#)

Privacy Preference

If you are under 16 and wish to give consent to optional services, you must ask your legal guardians for permission.We use cookies and other technologies on our website. Some of them are essential, while others help us to improve this website and your experience.Personal data may be processed (e.g. IP addresses), for example for personalized ads and content or ad and content measurement.You can find more information about the use of your data in ourprivacy policy.Here you will find an overview of all cookies used. You can give your consent to whole categories or display further information and select certain cookies.

[ Accept all](#)[ Save](#)[ Accept only essential cookies](#)

[ Back](#)

Privacy Preference

Essential (1)

Essential cookies enable basic functions and are necessary for the proper function of the website.

[ Show Cookie Information Hide Cookie Information](#)

| Name          | Basic Cookie                                                               |
| ------------- | -------------------------------------------------------------------------- |
| Provider      | Owner of this website                                                      |
| Purpose       | Saves the visitors preferences selected in the Cookie Box of Basic Cookie. |
| Cookie Name   | wish-cookie                                                                |
| Cookie Expiry | 1 Year                                                                     |

Statistics (3)

Statistics

Statistics cookies collect information anonymously. This information helps us to understand how our visitors use our website.

[ Show Cookie Information Hide Cookie Information](#)

| Accept         | Google Ads                                                                              |
| -------------- | --------------------------------------------------------------------------------------- |
| Name           | Google Ads                                                                              |
| Provider       | Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland                  |
| Purpose        | Cookie by Google used for conversion tracking of Google Ads.                            |
| Privacy Policy | [ https://policies.google.com/privacy?hl=en](https://policies.google.com/privacy?hl=en) |

| Accept         | Google Analytics                                                                                             |
| -------------- | ------------------------------------------------------------------------------------------------------------ |
| Name           | Google Analytics                                                                                             |
| Provider       | Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland                                       |
| Purpose        | Cookie by Google used for website analytics. Generates statistical data on how the visitor uses the website. |
| Privacy Policy | [ https://policies.google.com/privacy?hl=en](https://policies.google.com/privacy?hl=en)                      |
| Cookie Name    | \_ga,\_gat,\_gid                                                                                             |
| Cookie Expiry  | 2 Months                                                                                                     |

| Accept         | Google Tag Manager                                                                      |
| -------------- | --------------------------------------------------------------------------------------- |
| Name           | Google Tag Manager                                                                      |
| Provider       | Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland                  |
| Purpose        | Cookie by Google used to control advanced script and event handling.                    |
| Privacy Policy | [ https://policies.google.com/privacy?hl=en](https://policies.google.com/privacy?hl=en) |
| Cookie Name    | \_ga,\_gat,\_gid                                                                        |
| Cookie Expiry  | 2 Years                                                                                 |

External Media (7)

External Media

Content from video platforms and social media platforms is blocked by default. If External Media cookies are accepted, access to those contents no longer requires manual consent.

[ Show Cookie Information Hide Cookie Information](#)

| Accept         | Facebook                                                                                      |
| -------------- | --------------------------------------------------------------------------------------------- |
| Name           | Facebook                                                                                      |
| Provider       | Meta Platforms Ireland Limited, 4 Grand Canal Square, Dublin 2, Ireland                       |
| Purpose        | Used to unblock Facebook content.                                                             |
| Privacy Policy | [ https://www.facebook.com/privacy/explanation](https://www.facebook.com/privacy/explanation) |
| Host(s)        | .facebook.com                                                                                 |

| Accept         | Google Maps                                                                                         |
| -------------- | --------------------------------------------------------------------------------------------------- |
| Name           | Google Maps                                                                                         |
| Provider       | Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland                              |
| Purpose        | Used to unblock Google Maps content.                                                                |
| Privacy Policy | [ https://policies.google.com/privacy?hl=en&gl=en](https://policies.google.com/privacy?hl=en&gl=en) |
| Host(s)        | .google.com                                                                                         |
| Cookie Name    | NID                                                                                                 |
| Cookie Expiry  | 6 Month                                                                                             |

| Accept         | Instagram                                                                             |
| -------------- | ------------------------------------------------------------------------------------- |
| Name           | Instagram                                                                             |
| Provider       | Meta Platforms Ireland Limited, 4 Grand Canal Square, Dublin 2, Ireland               |
| Purpose        | Used to unblock Instagram content.                                                    |
| Privacy Policy | [ https://www.instagram.com/legal/privacy/](https://www.instagram.com/legal/privacy/) |
| Host(s)        | .instagram.com                                                                        |
| Cookie Name    | pigeon\_state                                                                         |
| Cookie Expiry  | Session                                                                               |

| Accept         | OpenStreetMap                                                                                                      |
| -------------- | ------------------------------------------------------------------------------------------------------------------ |
| Name           | OpenStreetMap                                                                                                      |
| Provider       | Openstreetmap Foundation, St John’s Innovation Centre, Cowley Road, Cambridge CB4 0WS, United Kingdom              |
| Purpose        | Used to unblock OpenStreetMap content.                                                                             |
| Privacy Policy | [ https://wiki.osmfoundation.org/wiki/Privacy\_Policy](https://wiki.osmfoundation.org/wiki/Privacy%5FPolicy)       |
| Host(s)        | .openstreetmap.org                                                                                                 |
| Cookie Name    | \_osm\_location, \_osm\_session, \_osm\_totp\_token, \_osm\_welcome, \_pk\_id., \_pk\_ref., \_pk\_ses., qos\_token |
| Cookie Expiry  | 1-10 Years                                                                                                         |

| Accept         | Twitter                                                                                         |
| -------------- | ----------------------------------------------------------------------------------------------- |
| Name           | Twitter                                                                                         |
| Provider       | Twitter International Company, One Cumberland Place, Fenian Street, Dublin 2, D02 AX07, Ireland |
| Purpose        | Used to unblock Twitter content.                                                                |
| Privacy Policy | [ https://twitter.com/privacy](https://twitter.com/privacy)                                     |
| Host(s)        | .twimg.com, .twitter.com                                                                        |
| Cookie Name    | \_\_widgetsettings, local\_storage\_support\_test                                               |
| Cookie Expiry  | Unlimited                                                                                       |

| Accept         | Vimeo                                                           |
| -------------- | --------------------------------------------------------------- |
| Name           | Vimeo                                                           |
| Provider       | Vimeo Inc., 555 West 18th Street, New York, New York 10011, USA |
| Purpose        | Used to unblock Vimeo content.                                  |
| Privacy Policy | [ https://vimeo.com/privacy](https://vimeo.com/privacy)         |
| Host(s)        | player.vimeo.com                                                |
| Cookie Name    | vuid                                                            |
| Cookie Expiry  | 2 Years                                                         |

| Accept         | YouTube                                                                                             |
| -------------- | --------------------------------------------------------------------------------------------------- |
| Name           | YouTube                                                                                             |
| Provider       | Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland                              |
| Purpose        | Used to unblock YouTube content.                                                                    |
| Privacy Policy | [ https://policies.google.com/privacy?hl=en&gl=en](https://policies.google.com/privacy?hl=en&gl=en) |
| Host(s)        | google.com                                                                                          |
| Cookie Name    | NID                                                                                                 |
| Cookie Expiry  | 6 Month                                                                                             |

```json
{"@context":"https://schema.org","@graph":[{"@type":["Corporation","Organization"],"@id":"https://etcnmachining.com/#organization","name":"ETCN","url":"https://etcnmachining.com","sameAs":["https://www.facebook.com/profile.php?id=61559767260733"],"logo":{"@type":"ImageObject","@id":"https://etcnmachining.com/#logo","url":"https://etcnmachining.com/wp-content/uploads/2024/04/ETCN.png","contentUrl":"https://etcnmachining.com/wp-content/uploads/2024/04/ETCN.png","caption":"ETCN","inLanguage":"en-US","width":"512","height":"512"}},{"@type":"WebSite","@id":"https://etcnmachining.com/#website","url":"https://etcnmachining.com","name":"ETCN","alternateName":"ETCN","publisher":{"@id":"https://etcnmachining.com/#organization"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://etcnmachining.com/wp-content/uploads/2024/08/13.8.png","url":"https://etcnmachining.com/wp-content/uploads/2024/08/13.8.png","width":"512","height":"512","inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://etcnmachining.com/blog/g17-cnc-code/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://etcnmachining.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://etcnmachining.com/blog/g17-cnc-code/","name":"Understanding G17, G18, and G19 in CNC Programming"}}]},{"@type":"WebPage","@id":"https://etcnmachining.com/blog/g17-cnc-code/#webpage","url":"https://etcnmachining.com/blog/g17-cnc-code/","name":"Understanding G17, G18, and G19 in CNC Programming - ETCN","datePublished":"2024-08-19T06:01:08+00:00","dateModified":"2024-08-19T06:12:56+00:00","isPartOf":{"@id":"https://etcnmachining.com/#website"},"primaryImageOfPage":{"@id":"https://etcnmachining.com/wp-content/uploads/2024/08/13.8.png"},"inLanguage":"en-US","breadcrumb":{"@id":"https://etcnmachining.com/blog/g17-cnc-code/#breadcrumb"}},{"@type":"Person","@id":"https://etcnmachining.com/author/karry/","name":"karry","url":"https://etcnmachining.com/author/karry/","image":{"@type":"ImageObject","@id":"https://secure.gravatar.com/avatar/eb5108bf754a0fa66f070c71371a62d9b67dc8607bc3f337f4970a218eb1f709?s=96&amp;d=mm&amp;r=g","url":"https://secure.gravatar.com/avatar/eb5108bf754a0fa66f070c71371a62d9b67dc8607bc3f337f4970a218eb1f709?s=96&amp;d=mm&amp;r=g","caption":"karry","inLanguage":"en-US"},"worksFor":{"@id":"https://etcnmachining.com/#organization"}},{"@type":"BlogPosting","headline":"Understanding G17, G18, and G19 in CNC Programming - ETCN","keywords":"g17 cnc code","datePublished":"2024-08-19T06:01:08+00:00","dateModified":"2024-08-19T06:12:56+00:00","author":{"@id":"https://etcnmachining.com/author/karry/","name":"karry"},"publisher":{"@id":"https://etcnmachining.com/#organization"},"description":"Discover etcnmachining&#039;s tips for mastering G17, G18, and G19 in CNC programming. Read now for essential knowledge and improve your setup!","name":"Understanding G17, G18, and G19 in CNC Programming - ETCN","@id":"https://etcnmachining.com/blog/g17-cnc-code/#richSnippet","isPartOf":{"@id":"https://etcnmachining.com/blog/g17-cnc-code/#webpage"},"image":{"@id":"https://etcnmachining.com/wp-content/uploads/2024/08/13.8.png"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://etcnmachining.com/blog/g17-cnc-code/#webpage"}}]}
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"CNC Programming – What are G17, G18 and G19?","acceptedAnswer":{"@type":"Answer","text":"A: Although it may sound like a foreign language, these three abbreviations represent commands in the field of computer numerical control machining. Specifically speaking, g-codes G17, G18, and G19 help to define which plane to perform a particular operation on. For example, G17 sets the X-Y plane as the working surface while milling; G18 establishes the Z-X plane, whereas Y-Z is selected through G19."}},{"@type":"Question","name":"How do they affect programming with g-code?","acceptedAnswer":{"@type":"Answer","text":"A: The impact of these commands is directly felt during the programming process that involves arcs or circles. When you input a circular move command into your program (such as “G02” or “G03”), the control needs to know what plane this circular motion should occur on. This is achieved by specifying any of the three codes, thus keeping things accurate when it comes to tool pathing and avoiding programming mistakes."}},{"@type":"Question","name":"When do I use this code?","acceptedAnswer":{"@type":"Answer","text":"A: Use “G17” every time you want to make an arc with respect to the X and Y axes. It’s mostly employed in milling to control precise XY movements."}},{"@type":"Question","name":"What’s different between them?","acceptedAnswer":{"@type":"Answer","text":"A: Each one selects its own plane for machining purposes, among others associated with basic knowledge about g-codes. The planes involved are X-Y for “G17”, Z-X for “G18” and finally Y-Z represented by “G19”. Knowing how these work helps operators write correct instructions along two selected axes while dealing with their programs' arcs, circles, and other complex paths."}},{"@type":"Question","name":"How does selecting a different plane affect circular interpolation moves?","acceptedAnswer":{"@type":"Answer","text":"A: Depending on which one was chosen — all three can be used interchangeably — different axis combinations will be used while generating curves/rounds in a g-code file executed by a CNC machine. For instance, if we take into account only the first command (G17) out of them where X and Y are active, then such movements will be interpreted between those two axes."}},{"@type":"Question","name":"Are g-code modal for plane selection?","acceptedAnswer":{"@type":"Answer","text":"A: Yes. Modal is also where the choice of planes using G17, G18 or G19 lies. This means it remains active after selecting one until another program commands a g code to select different planes. Therefore, it is important to keep track of this."}},{"@type":"Question","name":"Is g17 used in both lathe and milling operations?","acceptedAnswer":{"@type":"Answer","text":"A: During milling operations, especially when there are movements along the XY plane while cutting across the x-axis and y-axis, respectively, but in lathes, mostly through the xz or yz plane towards the z-axis, then no doubt they will be using G18 and G19 apart from any other possible choices."}},{"@type":"Question","name":"How does G17 combine with other g-codes?","acceptedAnswer":{"@type":"Answer","text":"A: You often find people using combinations such as “G02,” which is a clockwise arc movement definition code, followed by “G03,” an anti-clockwise (counterclockwise) arc movement definition code; G17 must have preceded all these codes to mean we want them interpreted within the xy-plane where arcs are made."}},{"@type":"Question","name":"Can you give me an instance where the CNC program includes G17?","acceptedAnswer":{"@type":"Answer","text":"A: Yes, I can give you one below;\r\n\r\nN1 G17\r\n\r\nN2 N90\r\n\r\nN3 GO1 X10 Y0\r\n\r\nN4 GO2 X20 Y10 I10 J0\r\n\r\nN5 GO1 X30 Y0\r\n\r\nIn this example, after setting the plane to XY using code number 1(G17), a clockwise arc with the center defined by I10, J0, along the XY plane is commanded through code number 4 (GO2)."}},{"@type":"Question","name":"How do I know what the active plane on my CNC control is?","acceptedAnswer":{"@type":"Answer","text":"A: The current active plane should usually be displayed somewhere around your controls’ screen, maybe in the top left corner or near the bottom right corner, etc. The display should show something like “ACTIVE PLANE=XY.”"}}]}
```
