featured.jpg

Week 7: Computer-Controlled Machining

Table of Contents

This week we got introduced to CNC milling. I designed and built a meter-scale wood installation containing floating triangles and a disco ball. It is mounted using press-fit joints and wire. The design is optimized for quick build up and build down. It was fabricated in meter-scale to be used as a decorative element e.g. on open-air music events.

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. The documentation for runout and alignment I took from Benedikt’s website. We used two machines: the Carvera Makera at our lab as well as the one at cnc-multitool.

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.

Different types of tools. From left to right: single-flute end mill, straight-flute end mill, drill, ball-nose end mill.
End mills whose center in their cross-section has no material (left) can be used for plunging. With others (right) one has to move in a horizontal direction while moving down into the material.

Some Design Rules

Design rules for CNC milling included the use of dog bones and the use of several types of joints for making connections. When milling without dog bone fillets, all corners would be not sharp but slightly rounded due to the milling process. The diameter of a rounded edge would then have at minimum the diameter of the tool that was used. This meant that if parts were to fit together, dog bone fillets need to be added. There are several types of dog bone fillets. The most basic one involves drilling a hole at the corner with the center of the hole being exactly the corner. This type was considered the least beautiful one. Another type is the T dog bone fillet. A more refined techniques is to put the center of the milled hole at some point before the corner so that the resulting circle is coincident with the corner. This creates minimal dog bone fillets meaning that they are the least visible ones and they take away the least amount of material. In FreeCAD, dog bones are not designed manually but added using a dress-up feature. In Fusion, a plugin is used.

For adding dog bones in FreeCAD and Fusion, the following resources were referenced:

Regarding joints, the suggested literature included:

There are joints for connecting two planks, including T, I, Gamma, and X shapes, as well as joints for connecting multiple planks at one joint. There are also joints for connecting planes, either rectangular at the end or rectangular at the center. Good joints are those where the joinery is hidden. Angled joints are difficult, but it is possible to design straight ones and then tilt them.

Speeds & Feeds

Speed refers to the rotations per minute (RPM) of the spindle. Feed rate refers to the translational speed of the milling head. They are chosen according to the default parameters of the milling machine. Those can be found e.g. in the software Fusion. If the machine sounds like it is suffering, go slower.

Chips could be too large or too small. Powder-like chips indicate overheating. Too large chips imply a large force being applied to the tool. If this is the case, stop the machine, let it cool, and clean everything. Start with low speed and feed rate and manually move the tool small steps. Adjust speed and feed rate based on chip size: if chips are too small, increase the feed rate; if too big, also try increasing feed rate and adjust speed and stepdown accordingly. A chip breaker tool can be used in case chips are too large and this problem cannot be fixed.

Though stepdown doesn’t affect feed calculations theoretically, in practice it matters due to machine rigidity. Going slow can help reducing heat, but excessive RPM causes friction, which may lead to friction or material building up on the tool.

Alignment

Alignment refers to if the spindle is perfectly orthogonal to the milling surface. If a spindle is not properly aligned this could lead to a sawtooth pattern in the cross section.

To verify that the spindle is perpendicular to the machine bed, we mounted a dial indicator onto a rotating arm attached to the spindle and swept it across the surface of the bed. If the spindle is not perfectly perpendicular, the dial indicator will show variations in height as it moves, indicating misalignment.

However, this method involves several potential sources of error. Most importantly, we could not confirm that the machine bed itself is perfectly flat—unlike a granite surface plate, a precision-machined cast iron table, or a milled steel machine bed. Since our bed is made of MDF, it is highly sensitive to humidity and temperature, which can cause slight warping. Additionally, the arm used to hold the dial indicator was 3D-printed, which introduces a significant risk of flex and play in the setup, further affecting measurement accuracy.

Runout

The runout refers to how much the center of a tool’s rotation differs from the tool’s cross section’s center. To evaluate spindle runout, we used a dial indicator. Ideally, a 0.001mm dial indicator would be used for precise measurement, but we only had access to a 0.01mm indicator. As a result, we did not expect highly accurate readings. Additionally, the measurement was taken on the outer surface of the chuck, which is roughly equivalent to using a straight test rod—but without the certainty that the rod itself is perfectly true. In such a setup, any measured runout could originate from the rod rather than the spindle. However, we assumed the chuck to be reasonably concentric with the spindle for this approximation. We observed a runout between 0.05mm and 0.075mm. However, due to the limitations of our setup and the potential for various sources of error, these measurements should be considered approximate and not highly reliable.

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.

I wanted to follow this week’s suggestion to not use any fastening, but rather press-fit joints (at least most of the time). That would have resulted in an object which is easy to set up and to build down. The upper part was consisting of a skeleton of triangles to be covered with plates having an organic 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.

For faster development, I tried to design it using Fusion Slicer. It worked quite good for general-purpose slicing.
However, in this specific case, I wanted to have the stands joining from the inside out and I thought of the stands being oriented along the angle bisectors of the corresponding angle. I did not find how to do this in Fusion Slicer so I chose to model it manually with FreeCAD.

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.

Almost everything was parametric.
I then went on and created an assembly of the parts. There was one part for the triangular support and three different covers as well as three different vertical supports (stands).
When changing the parameters, not only the assembly fell apart, but also the single parts themselves looked not as desired. Reason for that was the solver of FreeCAD finding a solution that fulfilled all constraints, but still resulted in an undesirable state.

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.

I started designing the covers as well using splines. The holes I created using periodic splines.

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.

I designed the triangles so that they fit into each other which would save a lot of space for nesting.
Afterwards, I refined the shape of the different parts and assembled everything.
Its name will be Dreieck, the german word for triangle.

Milling 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.

Plywood sheets stored at the Kirchhoffbau.
Data about the plywood in case it is needed later on.

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.

To generate the toolpath, I created an assembly and used the Manufacture-Workspace. The exact process is shown below.
Creating a cuboid of the dimensions of the milling stock. Note, that this was done assuming another sheet size. It was redone later on by fitting the combs of us all on one of the bigger sheets.
Creating a new design and inserting both the stock and the pieces to be manufactured. Fitting the pieces so as they would later be milled.
Changing to manufacturing mode. Hitting ‘Yes’ when asked for importing CAM data.
Creating a new setup.
Selecting the cuboid as stock solid.
Setting the work origin to the bottom left of the stock cuboid.
Selecting the object that is to be milled out.
Hitting ‘OK’.
Creating a new milling strategy: ‘2D Contour’. Keeping the default settings for feed and speed.
Selecting a milling tool.
Selecting the contour that is to be cut along from the bottom of the stock. Note that the resulting red arrows (you do not see on that picture) must not be inside the part to be milled. These red arrows indicate where the tool will be.
Using tabs.
Viewing the toolpath.
Milling the piece. An explanation on how to mill will come later on.
The finished comb for checking clearance.

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.

I learned that 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.

Disclaimer I

Everything from now on was done after the CNC machining week but before the midterm review.

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. We are very thankful that this was possible!

The company also builds their own custom tools, e.g. for milling foam.

Milling

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

The user interface for the milling machine.

The interface of the milling machine control software. I did not change it to another language than German, since I did not want to mess too much with the settings of the company that use it on a daily basis.
There is the option to put a special carpet onto the bed in case the milling machine is used with a knife. I did not ask for the reason, to focus on the milling process. By checking this box, the software knows that the carpet does not lie on the bed and hence the zero point is slightly different.
The next step was to reset the machine coordinate system (homing, as explained above with the carvera).
The zero for the X-Y-plane was set manually so that the center of the milling bit was coaxial to the corner edge of the stock.
The vacuum bed was turned on before zeroing Z. To zero Z, the probe button was pressed. By that, the bit is pushed onto a probe to measure its length. By that, the machine could calculate the WCS zero for Z based on settings made when setting up the machine.
One could set the machine go to Z=0 to check if the zeroing worked (g00 z0).
One could then check how the machine moves with a Z=100, to just see if the G-code was executed correctly.
I was advised to hit the pause button whenever something went wrong. By doing this, one could have resumed the milling process without loosing any progress after fixing a possible problem.
After that, I started the milling process. It took around two hours. One problem was that I drilled holes using the cross-cut bit. This leaded to too much heat being produced. The cross-cut bit is not meant to used with drilling! The program still was continued and we cooled the bit using an air pistol for both the drilling process as well as for cutting the edge.
After the milling process was finished, I put the stock onto saw horse and sawed the parts out of the stock using a jigsaw.
At one part of the stock, the edge did not get milled completely through the stock. I sawed everything free to fix that later by grinding the edges.
All parts set free with the triangles still being connected to each other.
Transporting the parts to our lab with the help of Niclas <3.
‘Document as you go.’

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.

Afterwards, I removed the tabs and added chamfers using an edge router. It is important to eather add rounds or chamfers to the pieces. If not, the parts are sharp, not feeling well and they could be damaged more easily at the edges.

Simple Assembly

Before assembling everything, I cleaned the joints from fringes. Two joints needed to contain tabs due to how the parts were nested. Those, I needed to remove as well.

Afterwards, I could very easily do the first steps of the assembly.
I decided not to mount the inner triangles for the midterm review to get finished with all the other tasks.

Full Assembly

Disclaimer II

Everything from now on was done between Midterm review and before the final project presentation.

Adding a Disco Ball

At this point I presented the installation to the music collective I built the installation for. One person (his name is Lennert) had the idea to add a disco ball to it for extra flair. The disco ball was available in the collective’s storage. I changed the assembly accordingly. The diameter of the disco ball was 30cm. The distances were chosen so that there were 20cm space in the vertical dimension between each of the triangles and between the first and second triangles and the disco ball. The distance between the two smallest triangles kept unconstrained. The idea was to put everything together using some sort of thread or wire.

Preparing the Wire

At first, I wanted to use transparent handicraft thread from the hardware store. I bought that and lyster clamps which in total was 5€. However, the day I planned to build everything up I could not find the thread anymore. Also, it was sunday so there was no possibility to buy a new one. However, in my room I found several meters of washing line I bought earlier for a nother project. This did not fit into the lyster clamps. However, I found that after removing the mantle the resulting blank steel wire was fitting perfectly.

For removing the mantle, I held fixed on top of the wire and dragged the washing line. This way, the mantle could be removed in an easy and very satisfying way :o).

Types of Cable Connections

There were different ways in which I used the clamps together with the wire. Those can be seen below.

Left, one can see a simple loop made by threading the wire through one clamp accordingly. It was used for simple loops that were not supposed to be opened again, e.g. when terminating a thread. On the right side one can see a loop made with two clamps. Here, the end of the thread is threaded through both clamps. This is useful if one wants to terminate a wire and still have some residual wire for extending it later on.

Clamps were used to fixture the position between a wire and wood as well. Left you see a clamp used to hold one of the inner triangles in place and at the right one can see the wire being fixated at the top of the installation.

Rigging the Triangles

The wire was fixed by having a clamp holding it at the uppermost triangle. There were three wires like this threaded through each of the three holes in the upper triangle. The inner triangles where threaded onto the those wires.

Additional clamps where used to hold the inner triangles in place. I marked one of the feets where I wanted each triangle to hang.
The process of hanging the triangles. After tightening them at the bottom, they were floating even when the structure was lying flat.
The triangles where fine-adjusted later on. Thanks to Lennert for that :):):). After adjusting all triangles to be in parallel we found that it is nicer to have them not parallel on purpose. The final result can be seen further down below.

Rigging the Disco Ball

For rigging the disco ball, I mounted a structure of three wires connecting at the center at the top and the bottom triangles.

The disco ball then was mounted using snap hooks and more wire to both the top and the bottom triangle.

Increasing the Stiffness

There still was the problem that the structure was able to bend around the horizontal axis. The stiffness needed to be increased. This I did by mounting an X of wires on each side of the triangle. I did so in the following way: number the legs of the structure 1, 2, and 3. A wire was mounted at the bottom of leg 1, threaded to the top hole of leg 2 and mounted again at the bottom of leg 3. This I repeated three times to thread a wire through the top of each leg. After tightening, the structure was very stiff. Also the problem of the legs accidentally sliding out of the triangle and the structure falling apart could be mitigated in that way.

Final Result: Dreieck

This is how everything looks when built together.

This is how the installation looks when it is disassembled. The triangles fit together perfectly and are held in place by the wire at the top and the bottom triangle.

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>