(Edited Title)Touchcutter Project moving forward


Update: please scroll down to my post later in this thread with the links and videos

I’m working on some new software that exports Gcode from a 3d environment. I’d like some help understanding this jazz. I’ll ask a few questions now, then a few later… spread them out.

I’ve just got into CNC, and recently built an X carve. I’ve been playing with easel, and exporting some G codes to view the formatting.

Currently I’ve been working on a lithophane program to model the concept of my software. The core of the software is basically something that converts any shape data into a cnc path, then gcode. The programming environment is Touchdesigner. It’s all going really well, and I’m moving from coding the shapes into coordinates, to coding feeds speeds, other non shape related G codes.

With all that out of the way, here are my questions.

  1. Does Grbl adapt XY travel speed to maintain a constant feed rate in the case of varying Z depth between consecutive points. ie lithophane; each pixel location is the same distance apart via X and Y, but on the Z can vary between points.) Does this sort of triangulation occur within GRBL?

  1. I see on the page, Easel G code spec, there are less codes listed than on the GRBL 1.1 wiki.

How can I tell what version of GRBL is on my X controller?

3.If I want to put a Pause into my Gcode, to change a tool, Will Easel give me the option to resume? Or should I create seperate files for the clearing, roughing, and finishing passes?

I will have more questions soon, but that’s a good start. For now, have some early development pictures of Touchcutter, a new experimental mathart and 3d Gcode creator/pre-post-processor.

This is the same 3d file as you see above in question 1, but zoomed out. It’s actually a very thin 1mm depth profile.

Here it is again zoomed in to see the picture.

This is Touchcutter’s network, and what Touchdesigner looks like in action.

I’ve also attached some .nc files if you want to see what they look like in easel. Or if you want to let me know what you think if you know G code or GRBL.

NONE OF THESE ARE READY TO BE CUT, but shows that Touchcutter can easily export Gcode.

(note I’m having trouble uploading the larger G code files to the forum, only the roughing pass file is getting through!!

I do have another file that shows rough and finishing in a single G code file., but I will have to share those another way later on. Here is a look from Easel screenshot instead

mattrough.nc (4.1 MB)


If I’m not mistaken, yes GRBL will attempt to keep a constant linear feed rate while staying within the per-axis feed rate limits and acceleration limit settings.

Does TouchDesigner have tools to handle computing the distance from the image/mesh to the surface of the bit profile? For me that would seem to be the hardest part of doing this, or doing it quickly at least.

Touchdesigner is basically a bunch of digital power tools that allow you to build your own digital power tools, so in essence yes it has the tools to compute virtually anything. It also accepts a variety of programming languages easily, especially python, but also Tscript GLSL C++ HTML etc etc etc. Use of such is not totally necessary, but the coding skills you can bring to it can greatly enrich your touchdesigner networks; again in no way compulsory.

Touch has an awesome Non commercial version, which is much better than a demo or shareware software. It’s a complete, extremely feature rich environment geared for real time applications, and has no time restrictions. There are some features removed from the Non-Commerical version, and one pesky resolution limiter when it comes to images or videos, but it’s free and belongs on every computer.

…back to touchcutter.

Currently I’ve got the litho path sized based on what bit size, and what overlap you select. ie if you want a bigger litho you must make it lower XY resolution cut, or higher resolution image source image. If you want a smaller litho, make a higher resolution of XY cut or a smaller resolution image

These variables automatically resize your shape image in your 3d viewer, so you can see the change right away, and you can size it based on how it looks on your wasteboard/material/origins which are also in your 3d viewer.

This way, the cut’s shape’s size is defined by the size of bit/stepover you select and you don’t need to think about, but you don’t get to select final cut size in a traditional way.

The Z path is going to be variable, but will be chosen based on thickness required for light transmission of your litho material. when it comes to the bottom profile of your bit, this may alter the cut slightly, but you should be able to get enough of a tight stepover to fix it up for the bit you are using.


Just to name a few links

  1. I see on the page, Easel G code spec, there are less codes listed than on the GRBL 1.1 wiki.
    https://github.com/gnea/grbl is the main page and they are still updating it. Its opensource and is the reason there is not a lot of G-codes. See: https://github.com/gnea/grbl/wiki and https://github.com/grbl/grbl/wiki/Interfacing-with-Grbl

How can I tell what version of GRBL is on my X controller?
Answer: Inevetables can answer this based on when you bought it.

3.If I want to put a Pause into my Gcode, to change a tool, Will Easel give me the option to resume? Or should I create seperate files for the clearing, roughing, and finishing passes?
Answer: I believe there is a pause already. There is a connection for pause and resume buttons. I do not have a X-Controller yet as I have the older board.

1 Like

Issue a $I command to grbl.

grbl does not support tool changes

Do you adapt the cutting path based on the type of bit being used? An end-mill, a V-bit, and a ball-nose have very different shapes, and will fit / not fit into different spaces and produce different cuts. I’m not certain how much it affects the end result, so I was wondering if you were taking the bit shape into account or not, that’s all.

Hey everyone,

To update you I’ve been successfully doing multilayered 3D raster milling and have incorporated adaptive feedrates based on angle of travel. I’ve called the software Touchcutter. It can 2.5d and 2d as well 3d in other ways than raster.

Benefits of use:

-Non Commercial use of Touchdesigner Has no cost or time restriction.
-Touchcutter has no cost, but asks you share your work and new techniques when breakthroughs and improvements are made (honor system)
-Touchcutter is easily modified to work with virtually any G code machine, pre processor, or post processor
-Touchcutter has a bright future!
-Works well with hardware, if you have RAM and GPU, Touchdesigner is a fast, rich environment, and is not for a weak shop computer, but for a design workstation or a VJ’s Laptop

The Touchcutter software is going to have it’s temporary homepage at Touchdesigner’s forum at

To get involved, go download Touchdesigner and get used to it for a little while. Once your comfortable using COMPs, DATs, SOPs, and TOPs, you are ready for Touchcutter.

Sneak peak video series of Touchcutter on Youtube.