Brand new to CNC - Questions about what BlenderCAM works with

449 views
Skip to first unread message

Hal Vaughan

unread,
Jul 18, 2020, 1:18:42 AM7/18/20
to blender CAM forum
I'm looking into making my own CNC setup and want to be able to control my CNC system from a Linux or Mac computer.  (I may stay Linux and switch to Mac or stay on Linux.)  BlenderCAM looks like a good solution for me.  I've had to do a lot of architectural work for permits and construction for our guest house and some smaller buildings and projects on our lot and I'm tired of dealing with 2D CAD, where, every time I make a change, I have to go through 2-4 different elevation views to make changes in all of them.  I'm learning Blender so I can do that in 3D.  Eventually I want to experiment with 3D modelling and animation, so if I can use the same program for CNC, that's great and one less UI to learn.

My big question is if there are compatibility issues with output files from BlenderCAM and CNC systems.  How standardized is GCode?  And if I do a design in BlenderCAM, how sure can I be it'll work on a CNC machine controlled by something like LinuxCNC or another program that reads GCode and controls the CNC system?

I'm specifically looking at BobsCNC Evolution E4 as a CNC device.  I have read it uses GRBL, so I would have to replace the controller and stepper motor drivers.  Other than that, before I start buying materials I'd like to hear from people who have used BlenderCAM with BobsCNC systems.

I'm also quite willing to listen if people have better recommendations of what a good CNC machine that works with BlenderCAM would be.

Along that line, is there any way of finding out of a CNC device works well with BlenderCAM and something like LinuxCNC?

Nicolò Merendino

unread,
Jul 18, 2020, 8:01:39 AM7/18/20
to Hal Vaughan, blender CAM forum
Hello,

Here there's a good tutorial, BlenderCAM also has a linuxcnc post processor, so, you should be fine!


Just remember that BlenderCAM only runs on Blender 2.76

Best

Nicolò

--
You received this message because you are subscribed to the Google Groups "blender CAM forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blender-CAM-fo...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/blender-CAM-forum/888dbe22-4eb3-4705-9524-2baeb3d82ec7o%40googlegroups.com.


--

Hal Vaughan

unread,
Jul 18, 2020, 2:58:12 PM7/18/20
to blender CAM forum


On Saturday, July 18, 2020 at 8:01:39 AM UTC-4, Nicolò Merendino wrote:
Hello,

Here there's a good tutorial, BlenderCAM also has a linuxcnc post processor, so, you should be fine!

I've also found that the CNC device I'm interested in works with a program called UGS, which takes G-code as input and uses GRBL for output for control of the device.  How can I find out if UGS will work with G-code from BlenderCAM?  When I tried to read up on BlenderCAM, I couldn't find anything that mentioned LinuxCNC, so I'm obviously either not finding the useful info or I'm not Googling for the right terms.

(The reason I'm suddenly asking about UGS is I just got a response from BobsCNC that gives me more information about their hardware connections and about using UGS to control their devices.)
 

I'll be looking at that in a bit, thanks!
 
Just remember that BlenderCAM only runs on Blender 2.76

Thanks for pointing that out.  I had not realized that.  Is there any work going on to update it so it'll work on later versions?  I see there is a compatibility issue with Blender files from 2.8 not being able to be read by earlier versions.  Is it possible to do all the design work in a later version, export or save it in file an earlier version of Blender can read, then use Blender 2.76 to just do the steps needed to produce G-code?


Thank you! 
Message has been deleted

Will Kasten

unread,
Jul 18, 2020, 3:40:04 PM7/18/20
to blender CAM forum
I use UGS to control my CNC using gcode I generate with BlenderCAM.  Make sure you set your machine properties to use GRBL (don't have it open so forgive me forgetting the exact name of the menu item).  This is assuming you are using a control board that is running GRBL firmware.

There seems to always be a pause at the very start of the program (after the spindle starts). I see this as a good thing as it gives me a moment to do one last sanity check before sending the spinning bit into my stock.  I've also noticed some amount of pauses occurring during printing, usually a few minutes in. Hitting the play/resume button in UGS send the program along its merry way.  Not sure what causes these, but they seem benign.

Hal Vaughan

unread,
Jul 18, 2020, 4:41:04 PM7/18/20
to blender CAM forum


On Saturday, July 18, 2020 at 3:40:04 PM UTC-4, Will Kasten wrote:
I use UGS to control my CNC using gcode I generate with BlenderCAM.  Make sure you set your machine properties to use GRBL (don't have it open so forgive me forgetting the exact name of the menu item).  This is assuming you are using a control board that is running GRBL firmware.

When you talk about setting your machine properties, you mean as a setting in UGS?  In other words, it's not some physical switches on the machine?
 
There seems to always be a pause at the very start of the program (after the spindle starts). I see this as a good thing as it gives me a moment to do one last sanity check before sending the spinning bit into my stock.

Yeah, I like sanity checks!  I don't count on the chance to do them, but I like it when I get one!
 
  I've also noticed some amount of pauses occurring during printing, usually a few minutes in. Hitting the play/resume button in UGS send the program along its merry way.  Not sure what causes these, but they seem benign.

So it's not a case where you hit Play and it does it all - sometimes it does stop for a while.  Is it possible it could be looking for something like an overheating issue?

Thank you - I've been able to find "partial paths" for two days - from CAD to CAM to G-Code, but not from there to a good control program, or a G-Code interpreter to controller to machine, but not for the first few steps.  This is the first time I've heard about something that links the first part of the process to the last, on Linux, and using what the device I want will work with.

One last question, if you don't mind.

I keep reading about preprocessors for G-code and the comments along with that imply to me that there are different dialects of G-Code and that some may work with UGS, some with LinuxCNC, others may work with something else.  How can I tell what programs produce G-Code that'll work with what control programs like UGS or LinuxCNC?


Thank you! 

Will Kasten

unread,
Jul 18, 2020, 11:01:46 PM7/18/20
to blender CAM forum
I believe one of the panels in BlenderCAM relates to machine properties; this is what I am referring to. It covers machine size as well as what format the output should correspond to.  There should be a dropdown and one of the options should be "grbl."  Once I have all my machine parameters set up I like to overwrite the Blender default scene (ctrl/command + u I believe) so that these are loaded each time I launch Blender (on that note, I also keep a separate install of Blender just for use with BlenderCAM, which I find helpful as I also use Blender for non-CAM work.

Your understanding of gcode "flavors" is correct (or reasonably close enough to correct that I don't know any better). grbl is the name of the firmware that runs on the control board (there are other types too), and setting the output in Blender ensures that the gcode you generate is of the right type.  I have successfully used a "generic" setting in another software with my grbl board, but matching the output type (selecting grbl in BlenderCAM's settings) to the board's firmware type (in this case, grbl) is ideal.

UGS really doesn't care what you are feeding it. It does exactly what its name implies (Universal Gcode Sender) and that's it. It doesn't have enough of a brain to figure out whether the code you are sending is correct for the machine you are sending it to, it just sends it. This means you don't have to worry about UGS being compatible with anything (great!), but you do have to worry about whether your preprocessor (BlenderCAM in this case) is generating gcode of the right type for you board's firmware.

My setup/workflow:

1. Import model into Blender (with the BlenderCAM addon installed) and position it where I want.
2. Generate gcode with BlenderCAM in a format appropriate for my board (grbl) by selecting the appropriate dropdown item in the "Machine Settings" panel of BlenderCAM (or whatever the name is. Again, do not have it open in front of me at the moment). 
3. Load that gcode into UGS (a preview of all the toolpaths should show up)
4. Position the cutter head where I want x:0 y:0 z:0 to be and set that as the zero position using the controls in UGS (the upper right button in the "quick actions" panel in UGS IIRC)
5. Run the print and babysit it in case it pauses

If you continue to be stuck I can do screenshots when I have the chance.  

Also worth noting someone posted a bundled version of blender with BlenderCAM installed somewhere on this forum (in the help section I think? Sorry you'll have to dig around for that one). This is nice because it's all contained in a single folder, won't mess with other Blender installs, and the gcode automatically exports to the root folder of that Blender install so it's easy to find.

Hal Vaughan

unread,
Jul 19, 2020, 1:38:16 AM7/19/20
to blender CAM forum


On Saturday, July 18, 2020 at 11:01:46 PM UTC-4, Will Kasten wrote:
I believe one of the panels in BlenderCAM relates to machine properties; this is what I am referring to. It covers machine size as well as what format the output should correspond to.  There should be a dropdown and one of the options should be "grbl."  Once I have all my machine parameters set up I like to overwrite the Blender default scene (ctrl/command + u I believe) so that these are loaded each time I launch Blender (on that note, I also keep a separate install of Blender just for use with BlenderCAM, which I find helpful as I also use Blender for non-CAM work.

That's good to hear.  I figure even if I don't want to use Blender, then, I can still create STL files, then load them in and use BlenderCAM.

 
Your understanding of gcode "flavors" is correct (or reasonably close enough to correct that I don't know any better). grbl is the name of the firmware that runs on the control board (there are other types too), and setting the output in Blender ensures that the gcode you generate is of the right type.  I have successfully used a "generic" setting in another software with my grbl board, but matching the output type (selecting grbl in BlenderCAM's settings) to the board's firmware type (in this case, grbl) is ideal.

Okay, that helps.  I've recently found out about something called "Camotics."  I've looked it up, but still assimilating the information.  I'm not clear if it's meant to take output from something like UGS or LinuxCNC and emulate a CNC device, or if it basically takes G-code, like UGS or LinuxCNC, and shows you what it will do.

(By the way, what are UGS and LinuxCNC?  Control programs?  Drivers?  What's the term for the role they play?)
 
UGS really doesn't care what you are feeding it. It does exactly what its name implies (Universal Gcode Sender) and that's it. It doesn't have enough of a brain to figure out whether the code you are sending is correct for the machine you are sending it to, it just sends it. This means you don't have to worry about UGS being compatible with anything (great!), but you do have to worry about whether your preprocessor (BlenderCAM in this case) is generating gcode of the right type for you board's firmware.

This is a BIG relief.  I was looking at LinuxCNC and UGS, but did not see much on UGS and LinuxCNC forums seem much more active.  (Is there even a UGS forum?)  But it sounds like, with UGS, I can use GRBL or whatever it is that LinuxCNC uses, or anything else.
 
My setup/workflow:

1. Import model into Blender (with the BlenderCAM addon installed) and position it where I want.
2. Generate gcode with BlenderCAM in a format appropriate for my board (grbl) by selecting the appropriate dropdown item in the "Machine Settings" panel of BlenderCAM (or whatever the name is. Again, do not have it open in front of me at the moment). 
3. Load that gcode into UGS (a preview of all the toolpaths should show up)
4. Position the cutter head where I want x:0 y:0 z:0 to be and set that as the zero position using the controls in UGS (the upper right button in the "quick actions" panel in UGS IIRC)
5. Run the print and babysit it in case it pauses

I have a Mac in my study and a Debian Linux box in my study.  The study is a more comfortable environment for computer work.  I don't know if Linux and Mac can both handle having two Blender installs on them, but I'd like to keep the latest Blender and V 2.76, since that's apparently the last version BlenderCAM works with.  That lets me do the CAD and CAM work on either computer.

Once done, then use UGS.  One nice thing is I hear with the BobsCNC systems, they work with USB, so I don't have to deal with a parallel port.  However, I've just found a more expensive CNC system here.  I like that it's got a large work area - 2' x 4'!  I can buy a NEMA 23 or NEMA 34 to go with it.  Am I right that I can probably find a lot of other controllers that would work with it?  Maybe a Gecko G540?  While I like the idea that the kit from BobsCNC will have everything and I don't have to figure out what goes where, I don't know enough about controllers to know what works with what or uses what kind of input from something like UGS.

(I have no idea how much that will cost when I add all it needs, but I like that it's sturdy and looks like it's well built and would last me for a long time!)

 
If you continue to be stuck I can do screenshots when I have the chance.  

Thank you.  Right now just getting answers and help in categorizing and working through all the info needed to understand this is a MAJOR help!
 
Also worth noting someone posted a bundled version of blender with BlenderCAM installed somewhere on this forum (in the help section I think? Sorry you'll have to dig around for that one). This is nice because it's all contained in a single folder, won't mess with other Blender installs, and the gcode automatically exports to the root folder of that Blender install so it's easy to find.

See, that would be great for my Debian system - that way I can use the latest Blender for the CAD work, export the file, and then use the Blender version with BlenderCAM to do the paths and prepare the G-code.

Also, I'm learning to use Blender for architectural design, as well as 3D modeling and animation.  If I can use Blender (especially the same version) for architectural CAD, CNC work, modeling, and animation (and simple video editing), then being able to use one program with one interface for that much work will make life much easier!

Alain Pelletier

unread,
Apr 19, 2021, 9:23:59 AM4/19/21
to blender CAM forum
we have been working very hard to get blender to work with new blender versions.  I am currently using blender 2.92.  I personally have made several fixes, additions and removal of obsolete things.
This group is obsolete as no developer reads it.  To get more real time, join us at https://riot.im/app/#/room/#blendercam:matrix.org

Reply all
Reply to author
Forward
0 new messages