CNC - generating toolpaths


We build cabins and use a lot of 18mm ply which is cut and routed to be assembled as structural parts. Currently I design in Rhino, lay out the parts flat, use make3d, export as dxf then import the dxf into VCarve which I use to generate toolpaths. In VCarve I might need to make offsets, join curves to create closed areas for pocketing and add ‘dog bone’ fillets for corners. It’s time consuming but it works.

However… does anyone know of a way I might streamline this by producing toolpaths directly from the parts in my Rhino file - especially without having to lay them out flat? Can MadCam or RhinoCam or some other add on do this for me?


Hi Nick,

RhinoCAM probably sounds like a bit of overkill for 2D routing, and I’m not sure it would do any of the detailing you need automatically anyway. Most or all of that could certainly be automated by scripting, I’ve done that before, then you just have to quickly run it through VCarve to get the actual G-code.

@Nick you can get an evaluation of both, I use RhinoCAM and it is ok, they do have a free mill plugin, I have no idea what the limitations it has. The thing I like best about it is I have all the native Rhino tools at my disposal, including scripting if I need something custom.

I hesitate to try RhinoCam even thought I’ve read mostly good things about it, mostly because it does seem to be serious overkill for 2 1/2 D milling. If I could get the parts to lay flat, do my dog bone and offset in Rhino then export the result, that would already be a major time saver.

So… scripting… I suppose I should try it sometime.

There are also some people experimenting with generating G-Code with Grasshopper. I do not know how far they have gotten, but you might check in at the GH forum and have a looksee…

The toolchain over here: Rhino/Grasshopper, RhinoNest and RhinoCAM.

RhinoNest: has a re-orient function to lay object out in 2d (plus nesting). quite convenient, includes labeling.
RhinoCAM: I would not consider it overkill, since half of what RC does is 2.5-axis (woodworking) operations. ok, you also pay for a couple of 3-axis operations in the standard version, but that does not mean you overkill the 2d part.

– Dog bone fillets:

– G-code generation:

– Re-orient to 2d-layout:

I would suggest you take a look at madCAM 5 for Rhino 5. There are a variety of levels available, so for your needs you wouldn’t need to spend a lot of money for features you may never use.


RhinoCam Standard is mostly 2d: RhinoCam has some nice 2d CNC features like tabs and it is very easy to use.

@FrankS Thanks for the links.

I think maybe I’ll check out all the preparation tools before looking at RhinoCam or MadCam. I hadn’t mentioned nesting earlier, but that’s also a big time consumer as the VCarve nesting utility gives poor results and I usually end up doing it by hand.

@FrankS Re our conversation on the old newsgroup a couple of months ago, Steve added EnablePlugIn() to Python in SR5, so the scripts below now work for enabling/disabling RhinoCAM… thought I’d post them here in cane anyone else wants them. I also have vb Rhinoscript equivalents if anyone wants those.


import rhinoscriptsyntax as rs
def EnableRhinoCAM():
    msg = 'RhinoCAM is now enabled.\n'
    msg += 'You must restart Rhino for this to take effect.'
    rs.EnablePlugIn("299f02bc35384343aca5d66aaaeb789b", True)
    rs.MessageBox(msg, 64, 'RhinoCAM Loader')
import rhinoscriptsyntax as rs
def DisableRhinoCAM():
    msg = 'RhinoCAM is now disabled.\n'
    msg += 'You must restart Rhino for this to take effect.'
    rs.EnablePlugIn("299f02bc35384343aca5d66aaaeb789b", False)
    rs.MessageBox(msg, 64, 'RhinoCAM Unloader')

Hi Mitch,
Curious about how or why these would be used. Since they require a restart of Rhino anyway, how do they help?
(No doubt I’m missing something here…)

As far as I know, there is no actual way of disabling RhinoCAM 2012 in Rhino 5 without going into the plug-ins manager. This script is simply a shortcut to doing that. Many people like myself do not use RhinoCAM constantly, so I only want to load it occasionally.

I tried RhinoNest on a project and it worked very well.

HI Nikkko-

Did you find a solid resolution for this? I am in search of the same. We also use AutoCad here at my company and found a plug-in for it that does EXACTLY what we need. It part labels and turns 3d parts to 2d tool pathed flat patterns with just a couple clicks… I am searching for the same solution in Rhino. Waiting for RhinoCam to call me back, but assuming that is not the solution. Let me know. Thanks, Chad

If you up to coding and implementing open source projects this is one we developed at Ibois EPFL for 5 axis cnc machine: