Z Extruder

Some time back I posted a project we completed on the ShopBot Forum that showed 4 Walnut Legs machined with 4 concave sides (Read forum thread). This machining was done by manual manipulation of a cutting file similar to what the Virtual Tool “Extruder” does. The difference is that when the Extruder extrapolates a file, it takes the points from the polyline and rasters the perpendicular axis (X or Y) back and forth at a fixed Z height, based on the Z height at that point on the polyline. In this case, a test cut using an extruder file, showed unacceptable chipout on the edges. I needed to write a file that rastered in the X direction and moved the Z in a concave motion similar to a 3D cutting file. Here is how I did it:

My blanks have been glued up in a jig and trimmed to ensure consistency. I drew a recess .030 larger than the blank in VCPro and cut it into the Spoilboard. This allowed both some sorely needed Z clearance and indexed the parts at a known location. Additional pieces of scrap were used to complete the holding portion of the jig.

With my exact location known(rectangle from 5,6 to 35,12) I drew the radius for the concave face. The radius was 150”. To do this I placed a circle with a 150” radius with its center at 20 (center of the blank ) in X and at 148.5” in the Y. This gave me approximately 1.5” negative in the arc portion I was going to use for the toolpathing. I then placed 2 lines vertically at X=5 and X=35 and trimmed away the majority of the circle to them. Then deleted the 2 lines. I now selected the arc and moved it so that the top of the arc was at Y=0. This is the exact profile that I need.

In order to have a small leadin, I placed a ½” line at each end of the arc and raised the outer end to a height of .010. All 3 sections are joined and I have a completed cut vector with a small lead, ready to toolpath. I selected the vector, entered node editing mode and noted its start point. In my case it was on the left. Exit node edit mode, select vector and made an ON vector toolpath with a Vcarve bit, to a depth of -.1235. This depth or the bit selection is not important, but you need to select something that will be easy to spot in lines of code. Once this toolpath was calculated, I node edited the start point to the other end of the vector and calculated a similar toolpath in the opposite direction. Here is a screenshot of the node editing and toolpath versions of the vector. Note the short leadins and start points in the node editing mode, and the cut direction in the 2 toolpaths.


The toolpaths were saved separately as “Plus X Pass” for the left to right, and “Minus X Pass” for the right to left. It is important that you only use the SB INCH post processor, as it will generate a number of short line segments for the arc. Any of the ARC INCH posts will generate a gcode arc for this movement and this will not be read by the Z. Here is a video showing how and what I did inside these 2 files to turn an arc that had it length in the X, and an arc’ed Y value into a file that rasters in the X, steps over in the Y and produces a concave Z action in the Z, similar to what a 3D toolpath would do. There is also a short section on the master file that runs these 2 passes back and forth.

Before I place the code for the master file for you to copy and paste, you must acknowledge that these files were made for my machine, and even tho have worked, may not work on your machine. Also note that modifying a parts file without proper knowledge could cause unintended machine actions and do bodily harm. Please use these files at your own risk.
Here is a picture of the legs, in the booth, after sanding sealer was applied. Note how the color appears to change at each corner due to light refraction differences between side and end grain. Finish is clear.


Master File:
‘File created in VCarve or Aspire
‘File Created for Islamorada Woodworks
SA ‘set to absolute mode

&step = .05

&count= 0
PLAY D:\SbParts\Bell School Traditional.wav

&y_value = 5.75
&y_value = 5.75 + (&count*&step)
FP,D:\SbParts\Walnut Legs\Plus X Pass.sbp
&count = &count +1
&y_value = 5.75 + (&count*&step)
FP,D:\SbParts\Walnut Legs\Minus X Pass.sbp
IF &y_value > 12.2 THEN GOTO DONE
&count = &count +1


Comments are closed.