Configure FreeCAD for CNC3018 and add milling tools to Path workbench library
I recently bought and assembled the CNC3018. I have never owned a CNC before and I was unpleasantly surprised by the lack of free and easy to use software to produce CNC jobs. So I had to learn FreeCAD, the only open source software known to me which can be used for this purpose. In this post I added the two types of tool bits supplied with the CNC to FreeCAD's library and I will attempt to produce various jobs in future posts.
CNC machining is a complex process and its workflow depends on a lot of interrelated parameters unknown to beginners. Setting them properly is an absolute requirement to complete a CNC job without breaking valid bits, ruining the work piece or damaging the machine.
For the following setup I used FreeCAD version 0.19 (please use this version or newer because CNC tools library is different on previous versions). Start FreeCAD and make a new document (either click on the big plus button on the Documents tab in Start Page or choose New from File menu). Switch to Path workbench. There is no need to create an object in the document or to save the project when you will have to close FreeCAD. Once Path workbench has loaded, go to Preferences (from Edit menu).
General settings
In the General section, go to Units tab and make the following modifications:
- Unit system: Metric small parts & CNC (mm, mm/min)
- Number of decimals: 3
Set units and decimals in FreeCAD |
Do not close the Preferences dialog yet. Switch to Path workbench preferences in the left sidebar. In Job Preferences tab, General section, clear any folder paths (FreeCAD will ask for these when we create the first toolbit library and a default installation comes with this path empty). Go to Post Processor section and let's create a default path for generated G-code files. If you don't know what to add here, enter %D/%d-%j.nc
. This will tell FreeCAD to output G-code file in the same folder with project file. I used a fixed path for all my G-code files. I prefer to overwrite existing files so I can update/fix previous designs without being asked every time where to save the G-code file. Feel free to deselect all unused processors (maybe this will speed-up workbench loading) and select grbl as default one. Ignore any errors in FreeCAD Report View and click Apply. Basic settings are done.
Select CNC postprocessor in FreeCAD |
Toolbit library
Go to Path menu and choose ToolBit Library editor. It will ask you if you want to select a working directory. Accept it and choose a writable folder (note that this folder can be copied to other device and imported into FreeCAD). Afterwards, it prompts you to create some subdirectories. Accept that too. I recommend you do not copy examples to your new library (they will only clutter it) - answer No twice. If no dialog is opened, select again ToolBit Library editor from Path menu. The window which opens should have as title the path you selected before.
Click the middle button from the left to make a new library. Give it a name in the save dialog. I named it CNC3018. Do not change save folder. Leave the dialog open.
With CNC3018 Pro kit I received two sets of 10 bits each, one with carving bits and the other with endmill bits. I will show you how to add both these types in FreeCAD. But, it is really necessary to set attributes for each toolbit? Well, FreeCAD wiki mentions this:
Most operations in Path workbench will return paths based on a standard endmill tool/bit only, regardless of the tool/bit type assigned in a given tool controller with the exception of the Engrave and 3D Surface operations.
Anyway it is best practice to have properly configured tool library. The problem is that I have absolutely no datasheet or documentation for these bits and I have to measure or approximate some parameters.
Carving bit
Click on Create Toolbit and choose the basic shape v-bit. This is a parametric FreeCAD model of the toolbit. Next, bit attributes need to be saved in a file. As before, do not change save folder, just give it a name. I used vbit_25deg (because the tip of this bit has an angle of approximately 25 degrees).
Carving bit with 25 degrees tip angle |
Double click on the newly created entry to open its properties. If you double click on the tool number you can change only this number. Set the following:
- Shape
- Cutting Edge Angle: 25 °;
- Cutting Edge Height: 5 mm (not really needed);
- Diameter: 3.175 mm (not really needed);
- Length: 28 mm (not really needed);
- Shank Diameter: 3.175 mm (not really needed);
- Tip Diameter: 0.1 mm (presumably);
- Attributes
- Chipload: leave to 0; this is the theoretical length of material that is fed into the cutting edge when the bit advances through the material; it is proportional to feed rate;
- Flutes: 1;
- Material: HSS (presumably).
The cutting angle of the bit and tip diameter determine the carved line thickness, proportional to carving depth. These tool bits have some markings on them but no useful diameters can be read from those markings. Click on OK when you have set all parameters of this bit.
Add Carving V-Bit to FreeCAD |
I tried to gather as much information as possible from everywhere I could. By looking in the sample G-code files of this CNC machine, they used 0.3 mm carving depth and 0.2 mm distance between subsequent passes when carving a surface. More on this later.
Endmill
Let's add this one too. In a similar way, click on Create Toolbit. Choose endmill model and save the new bit with a name (endmill_3mm). Set the following:
- Shape
- Cutting Edge Height: 15 mm (not really needed);
- Diameter: 3.175 mm (influences cutting width);
- Length: 38 mm (not really needed);
- Shank Diameter: 3.175 mm (not really needed);
- Attributes
- Chipload: leave to 0; this is the theoretical length of material that is fed into the cutting edge when the bit advances through the material; it is proportional to feed rate;
- Flutes: 2;
- Material: HSS (presumably).
1/8" Endmill with 2 flutes |
Click OK and close the dialog window. Now, if you open the Toolbit Dock (toolbar button or Path menu) you will see CNC3018 library with two bits.
Other bits
Now you know how to add bits to FreeCAD. But do you know the available tool types?
- Ball end mills perform hemispherical cutting actions (a single pass produces a rounded bottom slot).
- Bull nose end mill is a type of end mill having a corner radius (this radius is a parameter requested when adding such a tool in FreeCAD).
- Chamfer cutters are used to clear sharp edges, leaving a sloped surface, or a chamfer, instead. These have the same parameters as V-bits.
- Drill represents the usual drill bit which can only cut in axial direction, with two flutes and a tip angle of 120°. This tip angle is editable in FreeCAD.
- End mill is different from a drill bit because it can cut in radial and (sometimes) axial directions. It leaves a flat bottom slot after a pass.
- Probe touches the workpiece with its tip, at different locations, in order to accurately determine the position of the workpiece.
- Slitting Saw is a circular saw. Blade thickness and diameter are specific parameters of this tool.
- Thread Mill is used to cut threads. This has many configurable parameters.
- V-Bit has a tip shape suitable for carving.
With CNC3018, you'll be using mostly V-bits for carving, end mills for cutting and regular drill bits for drilling holes (you are limited to special 1/8" shank diameter bits).
Available milling tools in FreeCAD |
By now, you should have FreeCAD correctly configured for CNC milling and some tools added to the library. In the next post I will show you how to produce G-code for simple carving with the V-bit.
Thank you for this tutorial. It was very useful. At he end of it, you mentioned that the next tutorial would show how to produce G-code for simple carving with the V-bit. I cannot find the next tutorial. Has it been completed yet? I tired clicking the New Post button below several times but could not find it. Thank you.
ReplyDeleteNo, the next tutorial hasn't been yet completed.
DeletePlease, where can I find the next tutorial? And thanks for this one!
ReplyDeleteI'm sorry, but I haven't write the next tutorial yet. I found it very hard to produce G-code for carving with FreeCAD, especially when it comes to carving a surface. I will look further into this and hopefully publish a tutorial soon.
Delete