The folks at RepRap Ltd have released a new script that generates very strong 3D printable beams.
Inspired by the availability of belt 3D printers, a script was developed to generate 3D models of long beams. Belt 3D printers are designed to accommodate models of theoretically infinite length, as the belt keeps turning over and over to make more “print surface”. One of the most frequently 3D printed test items on belt prints are beams because they often exceed the length of the printer itself.
But are these beams useful? How strong can they be with the material most typically used on belt 3D printers: PLA?
Adrian Bowyer and team at RepRap Ltd decided to develop a design that could produce a strong beam using a minimal amount of material. They explain:
“We thought that we’d write a Python FreeCAD program to generate parametric beams more suitable for 3D printing, taking advantage of the fact that complexity is more or less free with this technology and that infinite-Z belt printers can print many overhanging shapes without support material. The result is a beam that is about as stiff as a steel beam of the same weight.”
The Python script simply requires input of the beam length, width, height, and strut thickness, as well as diameter and number of bolt holes for the ends.
Their design relies on the tetrahedra, the “strongest shape”, as the entire central segment of the generated beam is decomposed into tetrahedra. They explain the design:
“The central section consists of a row of open boxes, each of which is decomposed into tetrahedra. This effectively means that the entire shape is built from tetrahedra – the strongest shape – and also that most of the material is on the outer faces which gives a high second-moment of cross-sectional area for bending resistance in all directions. The diagonals are angled so that a belt printer with a 45o Z movement can print the entire structure without support material.”
Beams are not useful unless they can be attached to something, and that’s why the generated design includes a mount point at each end. At these points are bolt holes that could allow beams to be attached to each other, for example.
Another interesting feature of the design is that the central segment is entirely clear of material, meaning that conduit, wiring, plumbing or other application components can be easily accommodated.
RepRap Ltd produced a beam in PLA with the script and tested its bending under a standard weight. They found that the performance of the generated beam was equal to that of an equivalent solid beam made from steel.
Of course, the PLA beam is physically larger than an equivalent steel beam due to material density. However, the generated beam is more functional in that it includes attachment points and conduit space.
The code for the Python script has been published to GitHub for anyone to use with FreeCAD. However, there is an issue with FreeCAD in that it cannot generate circular arrangements of bolt holes. While Adrian Bowyer has provided a workaround for this issue, it seems there might be a better approach.
In the GitHub repository there is also a freshly contributed equivalent OpenSCAD script that does generate the bolt holes correctly.
I’ve tried the OpenSCAD script and it does work quite rapidly. It produces exactly what you ask for, as I generated several different beam designs, some of which were rather silly, like this one:
Or this one:
There’s a couple of points to make here.
First, if you are in need of a beam, this script is an excellent method of very quickly generating a complex beam design. Many projects could use this capability, particularly those involving larger structures. Note that you don’t need a belt 3D printer to print the 3D models; the beams can be printed on any device that accommodates their size.
Secondly, this script is an excellent demonstration of the importance of software over hardware in 3D printing. This script has effectively overcome a materials issue by generating an ingenious design. While it’s important to pursue better materials, there is also a case to make advanced 3D designs more accessible to fully leverage 3D printing technology using advanced software.