# Selecting equipment compatible with software (FreeCAD 0.19)



## jlawton (Nov 15, 2021)

I'm an "old hand" at circuit design and embedded software but pretty much a "newbie" in CNC. I would like to set up a small system for mostly machining (and possibly engraving) PMMA (acrylic), I was originally looking at an "all-in-one" but I really am not currently interested in 3DP, also I don't think a diode laser is likely to get the job done, what I'm currently thinking is maybe I should get a small (40W) CO2 laser, and maybe I could get a small standalone CNC later if I need it (because I don't think you can add a machine toolhead to a CO2). 

I can see that the real "name of the game" is software compatibility but that's information that you absolutely cannot POSSIBLY get from the manufacturer's product description! I can of course tell that almost all of these machines run on some flavor of G-code, and that a common means of processing that is something called GRBL. I'm thinking that a package like FreeCAD is likely to be more than I will ever need, and the way this software accommodates the differences in G-code formats is through something called the Path module. 

The problem is I can't tell from FreeCAD's website which manufacturers, models, brands and types their existing Path module supports, and even when I post on their forum nobody even looks at my question!! I guess one of the "strengths" of their system is you can write new modules for Path if you're fluent in Python, but that's taking this whole exercise WAY far from where I want to go with this, if I wanted to "make a programming hobby out of" this exercise that would be ONE thing, but what I REALLY need it to be able to start making designs now, also order the machine now and start cutting plastic the minute it arrives on my doorstep and I take it out of the box. 

If this is actually an "unreasonable request" I would certainly like to know WHY that is! How exactly DOES one go about finding the documentation that says whether a given software and machine are interoperable? I'm pretty thoroughly confused at this point, thank you for reading this.


----------



## difalkner (Jan 3, 2012)

Welcome to the forum! You'll get a lot more folks reading your posts if you use a few carriage returns and create paragraphs, just an FYI.


----------



## old55 (Aug 11, 2013)

Welcome to the forum.


----------



## difalkner (Jan 3, 2012)

Generally you just choose the Post Processor for your machine and the software generates the G-code to suit your controller software. But if it's just a laser then I can tell you the laser shop I do work with sends files straight from CorelDraw to their Epilog laser machines (they have three big ones).


----------



## jlawton (Nov 15, 2021)

Um, I think now I'm even a little more confused! The "essential" part is that SOMETHING performes the "CAM" (path) function, not necessarily that it involves G code. Are you saying that CorelDraw generates G code, or that the Epilog machine internally takes the CAD file and "works something out" as regards pathing? Or that it's some other combination? Also I'm told on some particular machines the G code "interpreter" isn't GRBL it's linuxcnc, do you happen to know which machines use that? (I would assume it takes a machine with enough memory to at least run linux like Raspberry Pi, unlike GRBL which runs on Arduino without an OS, but I don't know which controllers use that processor.)


----------



## difalkner (Jan 3, 2012)

They go from CorelDraw to a Print Driver for the Epilog, set the parameters, then send it to the laser. There is no G-code involved for their use.


----------



## jw2170 (Jan 24, 2008)

Elcome to the foru, @jlawton


----------



## maddog (Feb 28, 2010)

Corel Draw creates a Vector file that the print driver understands. CNC machines can import Vectors, DXF files, SVG files, Illustrator files, Corel Draw files, DWG as line drawings. If you're doing 3D models then your formats are going to be .obj, .stl, etc. Your software then takes whatever toolpaths you've created along with the post processor for your machine and then generates the GCode for that particular controller that you then load your GCode into either directly from your computer or via a USB drive.

Some programs just create the vectors, while others create the vectors and the GCode.


----------



## wyzarddoc (Dec 31, 2006)

Welcome to the forum
Freecad is a OK program for drawing dxf files, but I have never used it to create G-code cut files. I use Fusion 360 the free version and it has the capability to generate G-code files also. BUT both programs generate generic G-code. For any machine using G-code (laser engraver/cutter. CNC router, 3D printer) you must modify the generated G-code file to match your machine's setup routine. G-code programming is not difficult to learn and you will want to add some additional commands to your file before you start your machine. For example - start the fan, move to home, set units, etc. One way to do this is create a txt. file that has your specific header information and shutdown information and insert the generated G-code in the middle. One of the main reasons I use Fusion 360 is that it can do a sweep along a path function and can create a 3D drawing object that is really creative and helpful with my CNC machines.


----------



## PhilBa (Sep 25, 2014)

FreeCAD's Path module is fairly good. It supports a number of Post Processors and allows creation of new Post Processors (or tweaks of the existing ones). Also, there seems to be fairly active development in this area. In general, with both F360 and FreeCAD, you should never have to modify the GCode to get it to work with your machine. FreeCAD gives you a lot of ways to easily adapt the Post Processor without have to resort to coding.

Any popular CAD/CAM program will support nearly all the popular machines out there.


----------



## wyzarddoc (Dec 31, 2006)

Word to the wise --> Never say never when it comes to open source software


----------



## lslarry86 (Nov 22, 2021)

Hi J, I'm also an embedded guy, working on FreeCAD-to-grbl right now, and I feel your pain. But with open source, it's easy enough to download and see rather than rely on website screenshots. This is what I see after starting the "Path Workbench" under View, Workbench in FreeCAD 0.19. It supports both grbl and linuxcnc. 

My "cnc" is a no-name 3 axis desktop engraver from Amazon, $165, that said "GRBL" in the product listing.


----------



## wyzarddoc (Dec 31, 2006)

The steps to using grbl are 
1. using something like lasergrbl's gui start up your machine and set the configuration.
2. using the gui move all the axis to check for the correct direction
3. using the configuration/setup function check the size of the work area and other constants to make sure they match your machine

try this link this guy seems to have good info on grbl









GRBL - Motion Control for Makers


Download your free GRBL Pocket Guide to make setting up your CNC machine faster & easier. Get all the information you need in one place.



diymachining.com





good luck


----------



## MarkJonesRanger (Aug 14, 2020)

wyzarddoc said:


> Welcome to the forum
> Freecad is a OK program for drawing dxf files, but I have never used it to create G-code cut files. I use Fusion 360 the free version and it has the capability to generate G-code files also. BUT both programs generate generic G-code. For any machine using G-code (laser engraver/cutter. CNC router, 3D printer) you must modify the generated G-code file to match your machine's setup routine. G-code programming is not difficult to learn and you will want to add some additional commands to your file before you start your machine. For example - start the fan, move to home, set units, etc. One way to do this is create a txt. file that has your specific header information and shutdown information and insert the generated G-code in the middle. One of the main reasons I use Fusion 360 is that it can do a sweep along a path function and can create a 3D drawing object that is really creative and helpful with my CNC machines.


I am spoiled with a CNC and software that was a package deal that have not had to learn any gcode and have made some very complex things. Just a few clicks and you can design, export a gcode file with the post processor installed and then off to the CNC to make all kinds of cool stuff over 150 projects now on the CNC. Investing in a package deal that works well most often costs more up front but after a little while one realizes it is indeed a good deal. 

I remember taking one of my programs to a programer and asking some help on some math to parce out a booklet a certian way and he was amazed i could create a program that did what I was doing with a graphical interface that did all the programing language for me. What I did in a hour or so he said it would take weeks to do hard coding. 

I see some of the guys and gals on the forums that are plunking away at gcode and looking for a answer for a glitch... while I have not had to do anything like that unless I have a hardware issue. Same goes for a website I run from my house... I don't program in html yet using interfaces it make all that easy. Over 150 CNC projects and I don't know any Gcode. Great software out there. Save your self some headaches and shop around.


----------

