Quick review from Part I – Tool-path Tiling
In part I of this series I explained the basics of Tool-path Tile machining. specifically in relation to how I want to Supersize my new Onefinity Machinist CNC machine with only a 16″ 1/4 X 16 1/4″ working area to allow me to be able to work on 24″X 24″ projects.
By making use of the Tool-path tiling function in the Vectric Aspire software I would be able to break up the project into smaller sections (“Tiles”) that will fit in my CNC work area. And by shifting the workpiece to each section I would mill the larger project on my smaller machine. I also pointed out a few issues with that approach chiefly the amount of space required to shift the full tiles step size of 16″.
Like all CNC machines the rails need to contact a base at some point. Onefinity is an open rail design but still any board greater than about 20″ wide will not fit between the rails. along the Y axis it is clear however.
To shift on the X-axis you would need to lift the machine up from the base allowing the workpiece to slide under the Y rails. I will discuss my plans for working out the mechanics of this in another post. Assuming the CNC can be lifted and using Tool-path Tile-path Tiling, we would be able to machine our 24 X 24″ project on the Onefinity Machinist.
My Idea to Minimize the Amount of Shift Required for Tile Machining.
There is no avoiding the need to shift the workpiece to machine all the Tile sections. But what if there might be a way to reduce the amount of physical shifting required? Believe me, it took me a long while to come up with this idea but it is key to meeting my goals of minimizing space requirements goal and improving accuracy. I don’t know if it is a novel idea but I haven’t seen it mentioned anywhere so I will take temporary credit for the idea.
Here we have zeroed the machine ready to mill the Tile1 section. Tile1 is straight forward as it is 16×16 and can be milled directly and normally.
Milling Tile2 is where we need to shift the workpiece here shifted 16″ to the left we can see the router centered on the start position of Tile2.
Just to show how things would align if we only shifted 8″ we would see that Tile2 would start halfway though our already milled Tile1 making us not happy.
But… what if we also offset the starting position of the router 8″? Walla! We would now be in the correct location to mill Tile2. and we only had to shift the board 8″!
The same concept also works for shifts on the Y-axis. Here we are set up to mill Tile4 the most troubled location. But we only need to shift 8″ on the X and Y with this concept. Much better!
Solution: Use a Combination Shift and G-Code 92 Offsets.
Onefinity is using an open market controller from Buildbotics. The controller is a Raspberry-Pi computer running Linux CNC software. A feature of Linux CNC allows the use of offsets. Basically, this means you can code an exact shift on where your machine Zero is. This lets us do exactly what we want. We can program our additional 8″ shifts in the code by modifying the G-Code.
Buildbotics makes it even easier for us. Right on their interface is a section to program the offsets. Onefinity’s interface will be different and I really hope they do not remove this feature! But if they do the G-code can be modified easily.
Normally this would be used to duplicate a smaller job on a large workplace making multiple or even different cuttings.
In our case, we can program in our Tiles offsets. Same concept for a different purpose.
Proof Of Concept
I just need to prove the concept and luckily for me, the creator of the Buildbotics controller also made a CNC simulator a while back. It’s called Camotics and I have been using it for some time. Onefinity published a G-Code processor for the Buildbotics controller for Vectric Software. So I had everything to run a full simulation using my Vectric G-Code to prove or disprove the idea.
And they created a simulator Camotics a while back that I have been using for some time. Onefinity published a G-Code processor for the Buildbotics controller for Vectric Software. So I had everything to run a full simulation using my G-Code to prove or disprove the idea.
To make my life a little easier I made all the vectors in my flag demo project all using the same 90-degree Vbit. that way I would only have 1 tool-path file for each Tile section. Normally there would be different tools used and the number of files would increase. All the toolpaths were generated with the Vectric Buildbotics inch post-processer and generate .ngc files (G-code).
Loading the file for Tile1 into Camotics displays how T1 would look on the CNC. Machine Zero is the lower-left corner where we specified it. It would be all ready for us to hit the start button.
Tile2 loaded shows the Zero located again in the lower-left corner. Remember that we cannot machine in this position since that would over-carve our Tile1 work. We need to shift our workpiece to the left 16″ for T2 to carve in the proper location.
Setting up the Simulator Experiment
The first thing is to manually set the workpiece to 24 x 24″. Cambots has an auto-configuration that will adjust the work size according to the data in the tool-path file. But I want to show the tile in relation to our full board. Now the task is to shift the section to the right third of the board. We have already discussed this can be done by shifting the board 16″ to the left. But let’s use the simulator offset values to shift the board 8″ to the left.
So this is closer but still off by 8″. I could just an additional 8″ in the offset control but I am trying to simulate an 8″ shift with the board and a software shift of 8″. So I will edit the G-code and insert a G92 offset command.
The G92 command is a temporary offset on any of the axis, X, Y, Z, etc. This the top of the Tile2 Gcode text file. The G92 comment should be inserted after the machine Zero and before the milling commands.
So after reloading the edited Gcode file we can now see the milling section is in the proper location. The idea works perfectly in the simulator and I would fully expect when I finally receive my new CNC it will work just as perfectly there. Success!
So with a combination of 8″ board shifts and programmed offsets, all sections of the tile job can be milled. I programmed all 4 Tile sections in the simulator and made a composite from the outputs showing the complete 24″ x 24″ job as designed.