Text Size

A new approach to generating Gcode for our DIY CNCs!

A new approach to generating Gcode for our DIY CNCs!

Postby GRÜNBLAU » Thu Feb 26, 2015 2:18 am

For awhile now, I have been playing with Grasshopper as a compliment to Rhino3d. It is a very useful tool for parametric shape generation, but it also is very good at keeping track of large lists of coordinates in 3D space! This means that it can also be very good at producing Gcode for our machines!

The main stumbling block a lot of people have run into when making their DIY CNC is the cost of CAM software. I have never found an inexpensive choice that is very good and, unfortunately, I am asked all the time what I can recommend for CAM software. It is hard to tell someone with a newly built $500 machine that they should consider buying a $2500 piece of software.

Most everyone I know that has used 3D printers and CNC routers much prefers the router based on material choices and because of the size of the work that can be produced. Why then are 3D printers getting all of the attention? I think it is because of the accessibility of the CAM software that drives the machine, not what the machine can do. Sounds obvious, but I think if there was a good, easy to use CAM software out there, this gap could close substantially. Especially since more and more people are converting their machines to an optional function based platform that can do routing and 3d printing.

So what I have done over the past couple months is to come up with Grasshopper functions for most of the paths that I write regularly and that are included with most CAM packages. These functions include 2D Contour, 2D Pocketing, 2D Engraving, Projection Engraving, Parallel Roughing, and Parallel Finishing. In addition, I have a simulator component to preview the path.

I also made up a list of some functions that I wished were part of my CAM package that include Isocurve Machining, Offset Pocketing, Tween Pocketing, Boolean Pocketing, Lithophane, Halftone, and Displacement Map machining. Most of these functions I am not sure if any CAM packages can do (mine can't). I was able to write definitions for all of these with more to come!

I am also working on definitions including drag knife as well as other functions for roughing as this is probably the most difficult operation for me to define in Grasshopper. I am trying to find a way to reliably write a path for multiple surfaces at a time. If you have any suggestions let me know! I am putting this out there for feedback as well as to hopefully help someone out there that hasn't been able to afford a CAM package yet!

Image

Link to large version:
http://www.grunblau.com/Brian/Assets/GHCode/Operations%20full.jpg

If you are familiar with Rhino, Grasshopper and basic CAM functions, the definitions file should be pretty straight forward.

The current project file is available for download here:

http://www.grunblau.com/ghcode.htm

I just posted about it on CNCzone, but I thought I'd let everyone here know about it too. Try it out and let me know what you think! I think there is a lot of potential in this and I hope to have some videos of my machine running some "GHcode" soon!

Best,

Brian
GRÜNBLAU
 
Posts: 43
Joined: Wed Jan 25, 2012 4:40 pm
CNC Machine: Custom

Re: A new approach to generating Gcode for our DIY CNCs!

Postby Awesomeness » Thu Feb 26, 2015 6:13 am

GRÜNBLAU wrote:The main stumbling block a lot of people have run into when making their DIY CNC is the cost of CAM software. I have never found an inexpensive choice that is very good and, unfortunately, I am asked all the time what I can recommend for CAM software. It is hard to tell someone with a newly built $500 machine that they should consider buying a $2500 piece of software.


That's the understatement of the century... so true, and people rarely figure it into their build budget.

GRÜNBLAU wrote:Most everyone I know that has used 3D printers and CNC routers much prefers the router based on material choices and because of the size of the work that can be produced. Why then are 3D printers getting all of the attention? I think it is because of the accessibility of the CAM software that drives the machine, not what the machine can do. Sounds obvious, but I think if there was a good, easy to use CAM software out there, this gap could close substantially.


There are parts of these statements that I agree with, but I don't think I'd go this far. Anyone who just chooses either one, 3D printing or CNC milling, over the other, without a specific purpose in mind, is clearly just ignorant. With 3D printing, "complexity is free"... there is no setup, no clamps, it doesn't matter how many holes you have or if a cutting tool/head can reach them... one machine can build anything think up, there is no dust/debris, and excels at parts with lots of hollow space. Milling on the other hand can make larger parts, without controlled heating/environment/etc., the parts are stronger, can use many materials, and excels at parts that are largely solid. So these are two totally different tools, good at totally different things, and you really need to own them both, just as only owning a table saw doesn't let you get everything done... we all end up owning a band saw, cut off miter saw, scroll saw, saber saw, sawzall, etc.

I do think CNC software is WAY WAY WAY WAY behind. It all looks like crap, teleported to today from the '90s. Most of it is very cumbersome to use, and has evolved very little since the days when being crappy was ok from a sales point of view because the users had no choice (pretty much the excuse of "enterprise" software everywhere). And yes, it's all far too expensive for what it does. I think it's stuck to some of that legacy, and is having great trouble evolving out of it, where the 3D printing software is largely a "new" invention and has gotten to mature from a much different jumping off point.

GRÜNBLAU wrote:So what I have done over the past couple months is to come up with Grasshopper functions for most of the paths that I write regularly and that are included with most CAM packages.


I think what you've done here is stupendous. We need more proliferation of CAM toolpathing tech into the world, and more of these confident demonstrations of just how "easy" it really is. I really hope CAM can become as powerful and ubiquitous as 3D printing slicers have.
If you don’t have time to do it right, when will you have time to do it over?
Image
User avatar
Awesomeness
 
Posts: 2881
Joined: Wed Feb 24, 2010 7:46 am
Location: Firestone, CO
CNC Machine: BlackFoot v4 4x8

Re: A new approach to generating Gcode for our DIY CNCs!

Postby bajaru » Thu Feb 26, 2015 6:09 pm

I think it's great what you are doing and I would encourage it. I wish I could help on the coding side, but I'm a programmer of a different variety (for accounting software) and I don't know much about this realm. I'm just an end user here. Although I don't have Rhino, I could do some end testing, if that'd be useful.

~B²
User avatar
bajaru
 
Posts: 265
Joined: Fri Dec 11, 2009 5:56 am
Location: California central coast
CNC Machine: BlackToe v2 4x8


Return to DIY

Who is online

Users browsing this forum: No registered users and 4 guests

Who is online

In total there are 4 users online :: 0 registered, 0 hidden and 4 guests (based on users active over the past 5 minutes)
Most users ever online was 158 on Thu Mar 08, 2012 8:54 pm

Users browsing this forum: No registered users and 4 guests