Programmatic CAD, in particular the OpenSCAD language and IDE, has accompanied the maker movement for a while now. After its introduction in 2009, it quickly found its way into the 3D printing toolbox of many makers and eventually became what could be called an Industry Standard among open hardware labs, makerspaces and tinkerers. The Prusa i3, one of the most popular DIY 3D printers, was designed in OpenSCAD, and even Makerbot, the company that sold 100.000 3D printers, uses the language for its “Customizer” – an online tool that allows users to customize 3D printable models with minimal effort.
OpenSCAD is indeed a wonderful tool, and we have been using it a lot. We have become used to its quirks and accepted working with polygon mesh approximations of the models we are trying to design. We have made our peace with excessive rendering times, scripting workarounds and the pain of creating fillets, and we have learned to keep our aesthetic expectations low. We are happy with the fact that there is a way to programmatically create and share virtually any object, but sometimes we wish there was a better way in the open source world. Hint: there is.
[Stefan] is building a fixed wing drone, and with that comes the need for special mounts and adapters for a GoPro. The usual way of creating an adapter is pulling out a ruler, caliper, measuring everything, making a 3D model, and sending it off to a 3D printer. Instead of doing things the usual way, [Stefan] is using photogrammetric 3D reconstruction to build a camera adapter that fits perfectly in his plane and holds a camera securely.
Photogrammetry requires taking a few dozen pictures with a camera, using software to turn these 2D images into a 3D model, and building the new part from that model. The software [Stefan] is using is Pix4D, a piece of software that is coincidentally used to create large-scale 3D models from drone footage.
With the 2D images turned into a 3D model, [Stefan] imported the .obj file into MeshLab where the model could be cropped, smoothed, and the file size reduced. From there, creating the adapter was as simple as a little bit of OpenSCAD and sending the adapter model off to a 3D printer.
We all know and love OpenSCAD for its sweet sweet parametrical goodness. However, it’s possible to get some of that same goodness out of Fusion 360. To do this we will be making a mathematical model of our object and then we’ll change variables to get different geometry. It’s simpler than it sounds.
Even if you don’t use Fusion 360 it’s good to have an idea of how different design tools work. This is web-based 3D Modeling software produced by Autodesk. One of the nice features is that it lets me share my models with others. I’ll do that in just a minute as I walk you through modeling a simple object. Another way to describe what we’re going to learn is: How to think when modeling in Fusion 360.
You don’t get much more old school than a sundial, and more new school than 3D printing. So, it is nice to see these two combined in this impressive project: the 3D printed digital sundial. We have seen a few sundial projects before, ranging from LED variants to 3D printed ones, but this one from [Julldozer] takes it to a new level.
In the video, he carefully explains how he designed the sundial. Rather than simply create it as a static 3D model, he used OpenSCAD to build it algorithmically, using the program to create the matrix for each of the numbers he wanted the sundial to show, then to combine these at the appropriate angle into a single, 3D printable model. He has open-sourced the project, releasing the OpenSCAD script for anyone who wants to tinker or build their own. It is an extremely impressive project, and there is more to come: this is the first in a new podcast series called Mojoptix from [Julldozer] that will cover similar projects. We will definitely be keeping an eye on this series.
One of the hardest things you’ll ever do is mesh your electronic design with a mechanical design. Getting holes for switches in the right place is a pain, and if you do it enough, you’ll realize the beauty of panel mount jacks. This is especially true when using Eagle to design a PCB, but with a few tricks, it’s possible to build 3D printable pieces directly from Eagle designs.
[Tyler] built a clock with a bunch of LEDs. While the clock worked great, there was a lot of light leakage around the segments of his custom seven-segment numbers. The solution is a light mask, and [Tyler] figured out how to make one in Eagle.
The first step is to draw a new layer on the Eagle board that defines the light mask. This is exported as an EPS file in the CAM processor that gives him a 2D drawing. At least it’s to scale.
The next step is to install Inkscape and install paths2openscad. This turns the two-dimensional drawing into a 2D object that can be rendered in OpenSCAD and exported as a 3D printable STL file.
Does the project work? The results are great – the entire light mask is a single-wall print, and since this light mask doesn’t need any mechanical strength, it should hold up well. The clock looks much better than before, and [Tyler] has a new technique for making 3D objects for his 2D PCBs.
Considering all of the projects the Raspberry Pi is used for now, the fact that it was originally envisioned to be an educational tool is sometimes forgotten. One of the tools commonly available with it is Scratch, a programming language that is easy to learn and can be seen as a gateway into other computer science realms. Building on this principle, MIT has come up with a new block-based educational tool called BlocksCAD.
BlocksCAD is essentially Scratch combined with OpenSCAD and allows the user to use blocks (similar to Scratch) to build a 3D model. The interface is fairly intuitive, and with some practice even complex shapes can be created using the tools available. Also, everything runs in a browser like the 3D modeling tool we featured a few days ago, so there isn’t anything to download or install.
The key to this project (like the key to Scratch) is that the user isn’t bogged down by syntax, which is often one of the largest hurdles for anyone who is just starting to learn to program. Since it’s possible to avoid syntax but still develop 3D models, this new tool should help anyone interested in the field of 3D modeling or CAD get a start without getting scared away too easily. Of course, if you do end up deep in the field of computer science and want to learn more about this project, the developers have opened up the source code as well.
If you had a formal drafting class, you probably learned about making orthographic projections–engineering drawings with multiple views (for example, top, front, and right). Even if you didn’t take the class, you’ve probably seen drawings like this where you view a 3D object as a series of 2D views from different angles.
These days, you are more likely to create a 3D model of an object, especially if you are going to 3D print it. After all, the 3D printer software is going to expect a model. When [Nightshade] wanted a laptop stand for his workbench, he started trying to do a 3D model. His final product though, was made by creating two views in Inkscape. They aren’t exactly orthographic projections of the final product, but the idea is similar.
Inkscape is a vector graphics program and generally creates SVG files, although it can also save EPS files. [Nightshade] used pstoedit to convert the EPS output to DXF format. DXF files are still two dimensional, but OpenSCAD can extrude DXF files into 3D shapes.
Just having a 3D shape of one view isn’t sufficient, though. The OpenSCAD script rotates the objects to the correct orientation and intersects them to form the final object. This is different from the usual cases of using Inkscape to trace a scan or generate simple text.