
Week 7: Computer-Controlled Machining
Table of Contents
This week we got introduced to CNC milling. I designed a parameterized wood installation that is mounted using press-fit joints and wire. It is to be fabricated in meter-scale in the following weeks.
The group assignment documentation needs to be refined to be prose text. Everything else is done.
This Week’s Tasks
- Group assignment:
- Complete your lab’s safety training
- Test runout, alignment, fixturing, speeds, feeds, materials and toolpaths for your machine
- Document your work to the group work page and reflect on your individual page what you learned
- Individual project
- Make (design+mill+assemble) something big
- Extra credit: dont use fasterners or glue
- Extra credit: include curved surfaces
Safety Training
The safety training was part of the group assignment. The group assignment page of our lab can be found here.
At very first this week, we had a safety instruction by our local instructor. Possible incidents included fire, which was considered the most dangerous one. Connected with fire are dust explosions. Those happen if a room or a bag is filled with dust and some object catches fire. Another cause could be material (bigger parts, but chips as well) flying away. Kickback was a particular concern. This is an effect that could happen with any motorized tool. With saws and milling machines this can happen if the stock being cut gets canted. Then it can be picked up by the tool and thrown at you. Apart from that, parts could become hot due to friction and if not causing fire you could burn yourself by just touching the wrong things at the wrong time.
Coming to what to do and what not to do:
- Wear safety glasses.
- Do not have any loose clothes on.
- Wear proper shoes.
- Cover wristbands, tie up your hair.
- Know where a first fire extinguisher and a second one was located.
- Do not wear gloves (on any rotating machine, as they could get caught and pull in your hand).
- Always be looking, listening, and smelling while working.
- Remember that your hand is not a tool – never reach in.
- Do not operate the machine when mad, tired, or sleep-deprived. If you had a terrible day, it is better not to make it worse by working under those conditions.
Introduction to CNC Milling
The lecture covered various aspects of CNC milling, including machines different machines, materials, tools, fixturing methods, and techniques for creating joints. The material we were concerned with for this week was plywood, but other materials can be milled too.
The basic process on how to operate a CNC milling machine is to have a sacrificial plate as a bed and mill it flat to be consistent with the coordinate system(s) of the machine. When putting the stock onto this bed to mill it, it must be fixated. There are different techniques for that. Based on the designed parts, a toolpath is generated. This is the path the milling head will follow for milling. There are different strategies to generate one. Before the machine is not stopped, one must be alert about what is happening. Things can go wrong even on the last centimeters.
Ferdi suggested some literature for this week, namely the assignment of one of his previous students and a series of videos on how to benchmark a CNC milling machine. This was an deep dive on exactly what we were about to measure in the group assignment.
The following introduction was part of the group assignment. The group assignment page of our lab can be found here.
Fixturing
When milling something out of a stock, this stock has to be fixated. There are several possibilities to do that. One option is using a vacuum table. It is fast to produce with them, but they need maintenance. Another alternative is to use screws to hold the stock down on the bed. One hint here is that there are different types of screws: Phillips and Pozidriv screws. They are different in that they need different bits for screwing them. We were advised not to use Phillips screwdrivers for unscrewing Pozidriv screws, otherwise the screws would get damaged. Then there is the possibility to clamp down the stock where different types of clamps or vises can be used. Ferdi suggested not to use those if possible. There is the danger of milling into them and messing up either the stock or the milling bit.

Another aspect of fixturing is how to make sure that two parts that get separated from each other during the milling process (because they are cut apart) do not change their relative position. The solution is to not cut away everything of the material between them, leaving either a thin layer of material at the bottom of the cut trace (known as onion-skinning) or leaving bridges of material between the parts (known as tabs). Ferdi suggested to use rectangular tabs instead of triangular ones.
During the fabrication process, be aware about possible irregularities of the material. It could be that it is bend, has varying thickness, etc. As a result, some parts could possibly not be cut properly or some flat pieces could be cut through which again could result in the stock being made unusable. One solution to the stock being bent is fixation using more screws and more tabs.
Tool Paths
A machine can be told what to do by sending machine code (e.g. G-code) to it. One could tell it manually what to do by typing this machine code. Alternatively, one could generate machine code based e.g. from a given trajectory the machine head should follow. This trajectory is called tool path. Again, this toolpath can be generated from a 3D model. Suppose, one wants to cut something, the outline of the structure to be cut could be the toolpath. This is what computer-aided manufacturing (CAM) software is for. Both mods as well as FreeCAD can be used for CAM. Another CAM software is Estlcam.
When generating tool paths, there are some aspects to consider. Step-over refers to how far the tool is moved when milling subsequent lines. The step-over is how far you are moving — either 100% of the size of the mill or less. The default should be 40%, which results in low forces for the spindle and less momentum. Also, the machine itself does not need to use so much force to go through the material. If you are plunging, you cannot avoid milling away 100%. Stepdown refers to how far the head goes down each round. You do not want to go down 100% of your material thickness. However, you also should not go too flat, as this would apply momentum to the tool wearing it down.
When telling the machine how to moves the rotational direction of the milling bit is to be specified as well. There are two options, called climb milling and conventional milling. The difference is the relationship of the cutter rotation with respect to the direction of feed. In climb milling, the cutter rotates with the feed. In conventional milling, the cutter rotates against it. If one can choose, conventional milling leads to a nicer surface finish. However, not every machine is stiff enough to do that. In this case, climb milling is to be preferred.
Tool paths can be generated with different strategies. There is a 2D contour tool path, which just cuts an outline. There is also a pocket toolpath, which empties a defined area. The trochoidal toolpath can be used for milling away stiff material with a less-stiff machine. Most other cutting techniques are not used by us.
To get a smooth toolpath from almost arbitrary shapes, one can convert a mesh to NURBS (non-uniform rational B-spline). Everything in CAD software is parameterized by NURBS, while everything in Blender is polygon-based (although Blender can handle NURBS, but not well). If you have a mesh, there is a trick to convert it into NURBS. There is a tool on GitHub: https://github.com/wjakob/instant-meshes. With it, you can re-topologize your mesh in Blender so that it consists only of quads (no triangles). Then, you can import it into Fusion as NURBS or as a shape. The advantage is that meshes are not ideal for milling — the milling machine would try to follow every triangle. With NURBS, the machine will follow splines. Also, cannot recognize contours in meshes. With splines, this is not the case. Therefore, you can generate a much cleaner G-code.
Additional recommendations included the program Alchemy, which is a drawing program generating wigglier lines the faster you draw them. It also is reactive to sound.
Tooling
There are different tools that can be mounted to the spindle. The flat end mill is rectangular in its cross section. A default mill bit has a diameter of 6mm. It is available with arbitrarily many flutes. A common number of flutes is between 1 and 4. The more flutes a tool has the more stable is the core of the end mill. An advantage with a small number of flutes is that the chip load can be higher, one is allowed to have more chips during milling without errors occurring. When cutting, one wants to maximize the chip load, because then one can go faster. However, for heavier materials one needs a stiffer tool, thus more flutes thus less chip load. Considering the length of a bit one should choose a bit that is as short as possible and as long as necessary. The longer the bit is the more flexible it is which is not considered desirable. If a bit, however, is too short it could happen that the spindle eventually touches the surface of the stock heating it up.
The flutes of an endmill can be formed either so that they are pushing material down (down-cut) or so that they lift it up (up-cut). Up-cut bits lift the corner material a bit up thus leading to a rough surface finish which might need treatment afterwards. In the case of plywood, chips could be ripped from the top layer of the sheet which might not be desirable. In contrast, downcut bits push the material down leading to more nice-looking edges. However the material pushed into the grove is heated up when milling so one needs to make sure that one has a good chip extraction system when using them. There also are cross-cut or compression bits. Their flutes are formed so that material is pulled up from the bottom and pushed down from the top, extracting a bit of the chips while leading to a nicer finish. Those bits are more expensive.
End mills can also have straight flutes. Those are cheaper to produce and one is able to sharpen them yourself. If one mills an angled surface and one does that by using a toolpath that mills layered 2D contours, the angled surface would contain of steps. Using a ball-nose end mill reduces the sharpness of these steps. However, one could also generate a toolpath that mills a 3D contour both the flat end mill as well as the ball-nose end mill lead to a smooth surface. A caveat of the ball-nose end mill is that when milling a flat surface (which happens when a pocket is milled), the trace of the round end mill can be seen and the surface will not be as flat as with the flat end mill. There is also a bull-nose end mill which is as flat as the flat end mill in its cross section, but has rounded edges. Its advantage is that the edges do not break as easily as with the flat end mill. When drilling holes, drill bits are the recommended tool. They are pointy at their tip which makes them self-centering and they are faster for removing material when drilling a hole. For milling threads, there are special thread-milling bits. For rounding edges, a routing machine can be used with special bits for rounding.
As a source for good end mill sets Ferdi recommended Sorotec where one can look for the sets with the label “Uncle Phil Approved”. When they are just to be ordered for personal use and not for some company or association, one can also order cheap end mills from AliExpress.


Some Design Rules

- dogbones
- article about dogbones
- when milling without dogbone fillets, all edges will not be sharp, but slightly rounded due to the milling process. edges never sharper than the diameter of cutting tool. this means that if you want to fit things together, you need to add the dogbone fillets.
- for adding dogbones in freecad and fusion
- https://fablab.ruc.dk/more-elegant-cnc-dogbones/amp/
- there are minimal dogbone fillets
- putting center between at some point before the corner so that the resulting circle is coincident with the corner.
- other dogbone fillets
- t-bone
- put fillet center onto corner directly
- ferdi
- if you mill a slot, your design looks like this. your wood is gonna perfectly fit in there. in reality oyou will have a round in the edges. there is alrays a radius of some mm in there. use dogbones. there are several types of dogbones. the ones where you just drill a whole iat the corner. its the ugliest one.
- there is the one where you just go a bit furtgher and then go up.
- freecad: construction lines. dimension it to be 45deg from corner. just draw circle where center is one the line and one point is on the corner. its just gonna eat away very little. this is the best-looking one and easy to make. in fusion there is a plugin.
- in freecad you do not design the dogbones, you run a dressup feature.
- article about dogbones
- joints
- http://winterdienst.info/50-digital-wood-joints-by-jochen-gros/
- https://www.thingiverse.com/thing:169723
- https://www.instructables.com/50-Digital-Joints-poster-visual-reference/
- there are joints for
- connecting two planks:
- T
- I
- Gamma
- X
- connecting multiple planks at one joint
- connecting planes
- rectangular at the end
- rectangular at at center
- connecting two planks:
- good joints are those where you hide the joinery.
- what about angled joints?
- difficult
- you can just design straight ones and then tilt them.
Speeds & Feeds
- speeds: your cutting speed which is a compound that is a compound of rpm of your spindle, we gonna use the preset from fusion. we are not in a hurry. in the end its a rule that neil mentioned. if the machiene sounds like it is suffering, go slower
- feed rate: moving speed of the mill. not rotational speed
- minimum speed just to get it rolling
- we will use 6mm milling bit
- in special cases you can use 4 mm milling bit
- feeds: r
- feed rate
- speed which the mill moves
- lecture
- chip load: ~ 0.001-0.010"
- feed rate (inches per minute) / (RPM x number of flutes)
- cut depth: ~ tool diameter
- step-over: ~ tool diameter/2
- take default values for machine. there is a fusion library for fusion for caveral
- other milling machine
- there are quite conservative settings
- if the machine sounds as if it is suffering, go slower
- if you have a chip that makes problem (like hotness and stuff)
- stop, cool down, clean
- use low rpm, low feedrate, move small bits manualyl with xy keys
- use stepdown that is moderate
- slowly see if it makes chips. if it doesnt iyou are already in the right direction
- program at a bit lower than default feed rate
- bear in mind that you can go too slow
- if you can move it manually and it makes chips, program it manually like this, look at the chips
- if the chips are like tiny, like powder you are creating heat, not good
- if chips are too big, you have a different problem, not easily to solve. you will need a chip breaker bit for that.
- dont take the chip and pull it off.
- turn machine off, then take spanhaken for taking off.
- again if you have too long chip:
- chip berak routines in fusion, chip breaker
- you start very very slowly (minimum). if something is odd with the chips (too big or to small)
- to small chips: faster with feedrate
- too big: faster feed rate
- adjust feed, speed, stepdown
- for doing the math your stepdown is irrelevant (assuming your machine is infinitely stiff). but for practice it is very relevent
- increase feed rate -> chips get bigger
- why would i like to go slow?
- less heat
- problem: rubbing. if your rpm is too high, the tool just rubs. also, the material could stick to your tool.
- what also could happen: aufbauschneide: little pieces of aluminum could
Runout
- dial indicators
-
nogar arm
-
we need this for measuring the runout
-
there is a magnet
-
it is very precise
-
we use here a tenth milimeter
-
what we want is a thousands indicator
-
however, we don thave that
-
runout: milling bit will runout. due to spindle being not round. mill being slightly bent. several reasons for the tool not running concentric.
-


Alignment
- alignment: we shoud measure if it is running the righ tdistance in x and y. we would need a ruler that is 2m50 long. ikea paper rulers
- tape measure


-
play between … (google it)
-
cyclic ones, acyclic ones, maybe the tool is bent
-
what we are doing now is eyeballing it. actually, this is rocket science.
-
american way of doing it. with the arm.
-
german style is a column where you slide something up and down.
-
all the measurements are gonna be bullshit bc the indicator holder is somehow loose
-
measuring upside
- zero tool
- doing a full turn. we cannot measure any notable runout.
- 10th of a millimeter of runout
-
measuring down
- 100th of a mm
-
if you want to do this properly:
- havign a degree-scale. measuring
- measuring with pinductive sensor.
- interesting test:
- if you push a tool, how much does it deviate?
-
alignment
- there are many things with alignment
- one could check: is if you mill an L and you take a right an angle is it really 90 degrees
- if your machine goes different distances in the two directions.
- fix it using the steps per millimeter.
- we dont have the measurement tools for how to measure it. we only have calipers.
- also ferdi says he is pretty sure he is fine.
-
next thing you want to know (also alignment):
- is my spindle perfectly perpendicular to the bed?
- what you want to have is a flat base
- for making sure you have a flat base, you want to mill once over your whole bed
- if your spindle however is slightliy tilted, the surface is gonna be riffly, the pieces are gonna be crooked. (see picture)
- the thicker your tool, the more torque you have on the spindle. you dont want that.
- also, the thicker the tool the higher the influence of the tiltedness of the tool.
- flattest surface you can get: marble plate
- what you want youfor calibrating your spindle is a marble plate you can put on the bed of your cnc machine.
- idea: attach the measuring clock parallel to the spindle.
- you move around the spindle and if there are no deviations your spindle is perfectly
-
we coululd also:
- put the dial indicator on a stand… (ferdi talks about multiple different types of measuring)
- richard taking photos of it.
- you are doing this for checking if your vice is aligned.
- this however could take you an hour.
- you can also use pins for aligning.
- we can use them and rely on them while being aware that this is not micrometer precise.
Designing the Dreieck
I had multiple different ideas in mind. The most straight forward one would have been to do something similar to Playatech: furniture that is to be assembled very easily, just with press-fit joints. Another option would have been a synthesizer stand for a friend. I also thought about building a DJ table or a pavillon. However, I decided against those options. Furniture for cultural events we already have enough in our local community. A pavillon would have been too big considered the material we have been given. When considering the synthesizer stand, I already fell in love with my final idea so I saved the synth stand for later. I decided to do a big, decorative wood installation.
For further inspiration, I checked big origami installations, temples and sculptures from burning man, low-poly models using Blender and Fusion Slicer, veneers artworks from both a book from my peer Matthias and a previous assignment, reciprocal frame and tensegrity designs (incl. this tutorial for FreeCAD), topology optimization (which seems to be possible also using blender and FreeCAD following this YouTube channel), and pictures by M. C. Escher. Other tools I looked at but I ended up not using them were FlatFab and a Blender plugin for slicing meshes into layers.
My final idea was to make a decorative wood installation. I did not want to have something to be hung on the wall, but it should be something standing inmidst a room. Therefore, I thought of some tower-like shape. Since triangles are a nice, I imagined a prism with a triangular footprint. I liked asymmetry, so I first thought of having an irregular triangle as a footprint. In the lecture I learned about tensegrity and reciprocal frame and I wanted to incorporate at least one of these concepts in the design.

However, I soon found that this design would have required way too much of an effort for this week. Therefore, I went on and simplified it to only contain the covers and the skeleton.



To calculate the necessary measures, I needed to do some math. Mostly, I made use of the sine theorem, the cosine theorem, and the angle bisector theorem.





The design and the parameterization at that time was way too complex, so I decided to simplify the footprint to be an equilateral triangle. I stripped down the parameterization accordingly.

Then, I talked with ferdi about the design. The faces at side of the covers were difficult to fabricate. He said that even if they look nice in CAD, they might turn out badly in the final design. I should try to make something awesome using straight cuts as much as possible for this assignment. For that reason, I omitted the covers and thought of a possible design where the inside of the installation is not covered, but brought in the center of attention. The idea was to have smaller triangles floating in between the two bigger ones being tied with some wire.



Making the Dreieck
Checking Material & Clearance
The plywood sheets were stored in the basement of the building where the Fab Lab was in. They were 18mm thick, the dimensions were 1500x2500mm. Due to the bed dimensions of the available CNC milling machine, we cut them down to be 1500x2400mm. One specific sheet was assigned to each of us.


When dealing with the wood, Ferdi suggested to never trust that the wood is of constant thickness. To get an idea of how thick the joints were to be set we have been recommended to create a clearance comb as well as measuring the thickness of the wood. This time, the diameter of the tool did not make any difference, because the toolpath would be generated so that the tool will mill around the contours. The runout, however, is not compensated, but this would be as big as a few millimeters.
For measuring the thickness manually, I measured each side of the sheet four times using a caliper. Most measurements were within an interval of 17.65mm and 17.75mm. One or three measurements yieldet values as large as 18.03mm.

The comb I desiged so that it reaches from 17.75mm to 18.15mm in 0.05mm steps. Due to technical reasons regarding the CNC machine we were using, I had to generate the toolpath with Fusion360. For generating the dog bones, I used this plugin.
















From all tests i found that 18mm is still a good slot width. It is not too tight, rather a bit too loose, but I planned to tighten that up using wires, so I added holes in the design of the installation.
Preparing for Milling
To prepare the design from FreeCAD for milling, I exported it as .step
file and imported it into Fusion (‘File’ -> ‘Upload’). I added the dogbones to the joints using the aforementioned plugin. Then, I created a nesting assembly and generated the toolpath as described above. The distance from each part to the edge of the to stock was 2cm.

Excursion to cnc-multitool
For milling our parts, we went to cnc-multitool. They let us work with their milling machine which had the dimensions 1.50m x 2.50m. For fixturing, we used the vacuum table of the milling machine.





Milling
I then milled my parts. The spindle speed was 10000rpm, the feed rate 800mm/s, and the step-down 6mm.







g00 z0
).






Removing Tabs & Adding Chamfers
Back at the lab, I separated the triangles from each other and cleaned the holes as they did not get drilled through for some parts.





Assembling
To assemble everything, I cleaned the joints. One joint needed to contain tabs due to how parts were nested. Those, I needed to remove as well.


Reflections
What I Learned
- I learned more about CAD and parametric design, especially with the use of more parameters. I also learned how to use the FreeCAD assembly module.
- I learned that when nesting for CNC milling the gaps between parts can be maybe 1mm larger than the tool, but not larger. The reason for that are tabs. If the space between parts is too large (but not large enough to have additional stock material between them), such as it is the case with 10mm then the tabs would not be large enough to bridge the whole gap. In this case, I went with a distance of 10mm, because I did not know better. I had to manually place tabs at the opposite sides of the gap to have a “double tap” consisting of two tabs.
- The following I learned about using FreeCAD: When copying an object, deselect the spreadsheet to ensure the references are correct. When the assembly module buttons grey out, it meant the assembly is deactivated, and it could be activated by double-clicking it in the tree view. Use operations to multiply operations (like Linear Pattern), instead of creating unnecessarily many sketches. In assembly, select points or corners instead of edges or faces. Have multiple different spreadsheets for different components. This way, if one decides not to use a specific part, I wouldn’t clutter up one spreadsheet and also larger designs can be changed more easily.
- Cross-cut bits are not meant for drilling, while a normal end mill might be used though. Best, however, for drilling holes is a drill.
What Went Wrong
- The assembly module in FreeCAD is nice but a bit tedious to use when reparameterizing your part.
- When reparameterizing an object, the FreeCAD solver changed the design so that constraints still were fulfilled but it was not as indented (example: the distance from two points was set, but the order of the two points was not encoded in the design using constraints, so one point ended up to be at the wrong place after reparameterizing).
- First, I came up with a very complicated design where the parameterization was also rather complex. I went on and simplified it more and more until the parameterization was easier to handle.
- I took much time for the design. However, it was important for me to have that done properly.
What Went Well
- I incorporated fabrication details into the design of the object (triangles that are inside of each other).
- The final design is something I am happy with.
- I did not need to file the joints more wide thanks to the comb I made earlier.
- The object can be assembled in a fast way and by only one person.
What I Would Do Differently
- I would start with equilateral triangles for the design right away.
Digitial Files
Use of Language Models
During writing this report, I used the following prompts asking ChatGPT 4o mini to
- form bullet points to prose text.
1Take the following bullet points and form prose text out of them. Do not add any additional information. Only use those words used in the bullet points and, additionally, those that are absolutely necessary to build grammatical sentences out of the bullet points. Formulate those things in past tense that are describing what has been done (like in a report) and those points that describe facts in present tense. Correct spelling mistakes: 2 3<insert bullet point>