Maslow Home Maslow Community Garden Newsletter

Step by Step guide to creating GCode for the Maslow with FreeCAD

#1

First, I’d like to thank @Gero and everyone who helped me learn this, in addition to this Tutorial. I thought I’d write it up with some screen shots to help anyone else learn without as much Q&A. This is a simple example of a small wheel. You can make it a bit more complex as in the Tutorial if you want, but it helps to go through once with a simple object before trying more complex creations.

Part 1: Create the Sketch

Step 1: Open FreeCAD, create a new document, and save it.

Save often!

Step 2: Open the Sketcher Workbench and create a new Sketch.

Step 3: Choose XY plane.

Step 4: Draw a circle the same or larger diameter as the bit you’ll be using to test this, and then a larger circle to make a wheel shape.

If you zoom in you can be very precise!

Part 2: Give it a 3rd dimension

Step 5: Go to Part Design workbench.

Step 6: Create the body. Click the sketch and click create body, or create a body and drag&drop the sketch into it.




Step 7: Add the pad, click reversed so it will be below 0 point on Zaxis.

I use 20mm for thickness, because that will cut 1mm beyond a 3/4 inch thick piece of plywood.


Step 8: Go to Isometric view so you can see the pad

Part 3: Create the GCode

Step 9: Go to the Path Workbench

Step 10: Create a Job

Step 11: Add a Tool or select one from the Tool Manager


Step 12: Define how fast the motors will move when cutting.

I like to use 42 mm/s.

Step 13: In the SetupSheet, define how fast the motors will move when NOT cutting.

I like to use 100 mm/s.

Step 14: Create a Contour Path


Step 15: Create a Pocket Path


Step 16: Add the Tag Dress-up to Contour


Step 17: Export the GCode, choose GRBL post and verify what was created makes sense.



31%20PM

Part 4: Run it in Maslow!

Step 18: Open GroundControl, Hit Action, then Load GCode, then choose your file. When ready hit Play to start the file running.

8 Likes
Can't create working GCode in FreeCAD
Tutorial Suggestions
Walkthrough from ordering to cutting your own designs
#2

I’ve also created a maslow_post.py for FreeCAD. It doesn’t do anything special, except it removes all unsupported codes and I updated the Pre and Postamble. Also, it says Maslow in the GCode now. If there are any suggestions for improvements, please let me know.

maslow_post.py (10.8 KB)

6 Likes
How do you generate your Gcode?
#3

Great!!!

For creating tabs in FreeCAD you can check the video here.

Please go directly to time stamp 5:57

1 Like
#4

I love your postscript… I’ll give it a test this week

2 Likes
#5

My python is a bit rusty, but if you think of anything you want me to add, let me know and, if it’s within my ability, I’ll get to it as time allows.

#6

Or if anyone wants to help develop new features for it… https://github.com/waltmoorhouse/maslow_post

4 Likes
Feed speed support
#7

I’m new to using python in FreeCAD. How do you implement this file? Thanks,

1 Like
#8

Hi there. I just copied and installed this, although I haven’t used it yet.

Download the maslow_post.py file from GitHub, then place it in this directory:

C:\Program Files\FreeCAD 0.17\Mod\Path\PathScripts\post\

Done!

3 Likes
#9

Ok, there’s a couple of things I have noticed here. First, the feed rates are a little high in the tutorial. 42mm/s for cutting and 100mm/s are too fast for Maslow. The maximium speed is about 40ipm, which is about 1220mm/min or 20mm/s. Based on discussions elsewhere, a good cutting speed is around 30ipm or lower, which is 760mm/min or 12.7mm/s

Secondly, internally, FreeCAD stores speeds in mm/s, so this must be converted by the post-processor into mm/min for Maslow. So the Python post-processor (maslow_post.py) must be edited, around line 266 to multiply the speed by 60. Like this:

outstring.append(param + format(c.Parameters['F'] * 60, '.2f'))

I’ll submit a pull request on GitHub for this change (unless someone points out I have made an error). In the meantime I have edited my file locally.

2 Likes
#10

You can change FreeCAD units to mm/min for better CNC support in FreeCAD preferences here:

Sliptonic is a major contributor to FreeCAD CNC tool path generation and a pretty dedicated communicator. I follow his youtube channel for walk through tutorials.

1 Like
#11

That’s good to know, however, I suspect that that setting only changes the display units, so internally it’s still mm/s therefore the post-processor must still multiply by 60.

Haven’t heard from @waltmoorhouse regarding this, but my patched version of his post-processor works for me.

#12

I use the grbl postprocessor and I get both displayed and gcode units expressed in mm/min.

#13

Right, because you selected “Metric small parts” to change FreeCAD’s display as you mentioned above, and because the grbl post-processor has a line that multiplies the feed speed by 60 to convert from mm/s to mm/min. That’s how I knew to edit the Maslow post-processor- I checked what the grbl one did.

The internal FreeCAD units do not change.

1 Like
#14

Is there a way to cut a ring without using a pocket tool path in the center? To cut out the inner-diameter with a similar spiral as the outside with tabs?

1 Like
#15

Welcome to the Forum!
I do not understand the question, sorry, my mind seems blocked.
Edit: I think I got it. Let me open FreedCAD and draw the ring for a screen shot to confirm i understand correctly.

Edit2:
Does this come close 2 what you are looking for?
Using the ‘Profile based on edges’ choosing the outside/inside edges and setting outside/inside?


Edit3: You can set tabs on either path or on both (recommended)

#16

Okay, I see. It doesn’t make that spiral path when cutting the depth when using edges, for me:

#17

versus this:

It looks like the path of the inner circle is drawn around the exterior of it too.

#18

I’m using v.17 FreeCAD.
Are you selecting both edges at the same time?


Also set depths in the 2 profile cuts manually, do not go with the default settings.

#19

Okay! I misinterpreted and selected both edges at once. Also, I manually set the final depth and added the tabs:

Thanks a bunch for helping me understand what was going on!

1 Like
#20

So i did get your question at the end :beers:
Happy wood-chipping!