Moving nested parts and producing new G-Code

Moving nested parts and producing new G-Code

Moving Nested Parts and Producing New G-Code

It is a relatively common requirement as part of your production process to alter the position of parts on a plate after it has been nested and to produce new G-code to reflect these changes. This is quite a simple process.
CAUTION: Labels and auto-labelling will not be available if you move any parts on your nest. Any previously printed labels will be incorrect, and any auto-labelling function will not work for the current job.
In the image below, a pair of grained doors and drawer bank have been nested using the standard method (by importing a .dxt file in the ATP Setup ). See also HowTo document Using the ATP.

However, maybe you want to move the parts around on the nest to minimise material wastage, or to fit on a spare sheet of material. In this example, we are moving the parts to have the grain on the drawer fronts match the doors. For whatever the reason, if you need to move the parts around after they have been nested, the simplest method is to move the parts by clicking on the edge of the part you wish to move and drag it to the new position.

CAUTION: When moving parts, make sure they don’t overlap each other!
TIP: An additional moving option is available: Simply left-click on the part you wish to move and use the arrow keys on your keyboard. Holding down the Shift key while pressing the arrow keys makes the part move faster!
In the image above, you can see the parts are now positioned with the drawer fronts in line with the doors. Although this method is quite simple, it might not be putting each part in the most efficient position alongside other parts. There is another option available to move parts on a nest, which moves parts around the plate while complying with specified settings. This option is Dynamic Nesting.

Dynamic Nesting

On the Edit toolbar (which also contains the white Select arrow ), hold down your left mouse button on the Nesting button, which looks like a grey envelope (indicated here by the green arrow). On the submenu toolbar that appears, click on the Dynamic Nesting button, shown here by the red square, to activate this option. Alternatively, simply go to the menu, Transform " Nest " Dynamic Nest.

When using Dynamic Nesting, a new options panel appears at the bottom left of your screen. You will need to set these options before moving any parts around on your plate.

Rotation StepsSpecifies how many snapping points the part can rotate to, based on 360° in a circle. For example, if you would like your part to be able to snap to a rotation of 45°, 360 ÷ 45 = 8, so the Rotation Steps is set to 8, as 45° has 8 rotation steps in a 360° circle. Note that this must be a whole number, decimals are not permitted.
Recommendation: If you are modifying a nest of cabinet parts, it is recommended to rotate in 90° increments. 360 ÷ 90 = 4, so Rotation Steps would be set to 4. However if you are nesting ACM, it depends how many angular parts you have in the shape you are moving. You could rotate in 15° increments, 360 ÷ 15 = 24, so Rotation Steps would be set to 24.

Nest Resolution Imagine the nesting plate is covered in a grid, and each part must snap to the grid’s lines. The Nest Resolution is the distance between each line of that grid. The higher this number is, the longer it will take to position the object. This value can only be between 1.0 and 10.0.
Recommendation:  The default option for this is 1.0. It is recommended to go no higher than 3.0.

Part Offset The same as Gap in the ATP Setup. This is the minimum distance between each part when nested on the plate.
Recommendation:  No less than 2.0mm. CabMaster typically suggests a lead in and lead out that would be between 0.5mm to 1.0mm from the edge of the part, so leaving an offset of 2.0mm should keep any two parts a suitable distance apart.
Plate Margin The same as Margin in the ATP Setup. This specifies how far the parts will be from the edge of the plate. Using 0.0mm leaves the centre of the tool right on the edge of the plate.
Recommendation:  This value really comes down to your own personal preference, as well as the quality of the edge of the material you will be machining. As specified above, a plate margin of 0.0mm is suitable, but if the edge of the sheet you are machining is chipped around the edges, you would need to increase the margin to clear this distance. A margin of 5.0mm is very common. However, your ATP will also have a margin set which was used to create the current nest, and it would be worth using that same margin value.

After you have set the options, click Apply , then click on an edge of the part you wish to move, which will then make the part turn pink. Click on the edge of the part again and move your mouse cursor to the area you want to place the part. The pink outline of the part will follow your mouse and rotate based on the Rotation Steps option above. When the part is in the correct position, click to lock it in place.

In the image below, the part on the lower right has been selected using this method and is about to be placed in the space above, indicated by the red arrow and pink outline.

Producing New G-Code

Setting Correct Surface Option

Before you produce your new G-code file, there is one very important step to ensure you avoid any potential damage to your machine.

On the toolbar, press the Automatic Toolpath button , and go to the Ordering and Nesting tab. Take note of the option selected for Surface, as shown here in the lower red box. In this example, it is set to Bottom of Plate.
DO NOT change this option.

Open the Define Plate options dialog by going to the Machining menu and select Define Plate , or by pressing the  icon on the toolbar.

As shown below in the red box, there is the option to select the Surface setting. This MUST be set to the same as what was selected in your Automatic Toolpath Setup above. If these two options do not match, you run the risk of the machine drilling right through the material and into the machine bed.

CAUTION: Make sure this option above has been completed before continuing to avoid potential damage to your machine.

Creating New G-Code

After you have finished repositioning the parts on the nest and set the  Surface option above, you will then need to create new G-code to send to your machine. On the Output toolbar, just next to the Automatic Toolpath button, press the G1 button .

This will show this dialog:


This list shows the priority order for the option selected at #2 and determines the order of which all toolpaths will be machined. The recommendation is for the Priority Order to be set as shown in the image above.

It is also worth noting that the ATP that was used to create the current nest will have a priority order set on the Ordering and Nesting tab in the Automatic Toolpath Setup . For purposes of consistency, set the priority order in the G1 settings to the same as is set in your ATP.

Strategy : The strategy that was used to create the toolpath.
Tool : The tool used in the strategy.
Pass : The cutting pass used by the toolpath.
Object : The object (part) that is being cut.
Layer : The layer that was used that had the toolpath applied to it.

This specific order of the Priority Order above means that the cuts will be sorted based on the strategy used, attempting to process all toolpaths on the plate that use the same strategy, before then changing tools to move to the next strategy. It will then try to complete all passes required on a part before starting a cut on the next object/part.


These buttons change the list shown in #1 and allow you to change the order of different options.

Tool Order : This lists the priorities of the tools used in the current job. It is recommended to have drills used before compression cutters to avoid losing suction as the machining progresses. This list has a “Use” checkbox, which will disable that particular tool from being used in the job if it is unticked.

Strategy Order : This lists the priorities of the strategies used in the current job. It is recommended to have drills used before offset strategies to avoid losing suction as the machining progresses. This list also has a “Use” checkbox, which disables that particular strategy from being used in the job if it is unticked.

Object Order : This list contains a list of options to determine which the order in which each object/part it should be machined, and a “Use” checkbox column that allows only one checkbox to be ticked. Here you can select whether it should select the object that would take the shortest machining time, or if it should select the part in rows or in columns, or if it should select objects from the inside/middle of the plate and moving outwards, or from the outside of the plate and moving inwards.


Small Parts First: Click this checkbox if you would like to have small parts cut first. A Small Part is any part that has a surface area that is less than the threshold defined in the EzyNest Preferences dialog (menu Setup " Preferences " Initialization " Small Size Threshold).

Maintain Grouping : Click this checkbox if you want to treat grouped objects as a single reference for the priority orders.


In this section, it is important that “All Toolpaths” is ticked. No other options in this box should be changed.


Once you have set the required options above, press the To File button. Enter a filename for you G-code file and press Save.

Once you have completed this process, you can use your usual method to move the G-code file to your CNC machine and run the job as normal.