Robotic Wood Shop Has Ambitions To Challenge IKEA

Many people got their start with 3D printing by downloading designs from Thingiverse, and some of these designs could be modified in the browser using the Thingiverse Customizer. The mechanism behind this powerful feature is OpenSCAD’s parametric design capability, which offers great flexibility but is still limited by 3D printer size. In the interest of going bigger, a team at MIT built a system to adopt parametric design idea to woodworking.

The “AutoSaw” has software and hardware components. The software side is built on web-based CAD software Onshape. First the expert user builds a flexible design with parameters that could be customized, followed by one or more end users who specify their own custom configuration.

Once the configuration is approved, the robots go to work. AutoSaw has two robotic woodworking systems: The simpler one is a Roomba mounted jigsaw to cut patterns out of flat sheets. The more complex system involves two robot arms on wheels (Kuka youBot) working with a chop saw to cut wood beams to length. These wood pieces are then assembled by the end-user using dowel pegs.

AutoSaw is a fun proof of concept and a glimpse at a potential future: One where a robotic wood shop is part of your local home improvement store’s lumber department. Ready to cut/drill/route pieces for you to take home and assemble.

Continue reading “Robotic Wood Shop Has Ambitions To Challenge IKEA”

Autodesk Introduces Parametric Part Generation

The hardest part of any PCB design is adding parts and components. You shouldn’t use random part libraries, and creating your own part libraries is just a pain. Why have we endured this pain for so long, especially considering that most components follow a standard? Add in the fact that 3D modeling and rendering a board in a mechanical CAD tool is now a thing, making creating your own part libraries even more involved.

To solve this problem, Autodesk has introduced, a tool to parametrically generate component footprints for Eagle and 3D models for Fusion360. Given that most parts follow a standard — QFP, TO-, DFN, or SOT23 — this is now the easiest way to create a new part in Eagle with its own 3D model that allows you to bring it into mechanical CAD tools.

An overview parametric parts generation is written up on the Autodesk forums, and covers what is possible with this new tool. There are actually two distinct versions, one is a web-based app that allows you to create packages and footprints parametrically in your browser and export them as a library. The other version of the tool is integrated with Eagle and allows you to create a new component parametrically from within Eagle.

This is a far cry from the standard method of creating new footprints. Instead of toiling over a datasheet and dropping correctly sized pads onto a grid, creating a new parametric footprint is as easy as copying a few numbers. In addition to the new parametric design feature, there’s a new tool in Eagle that does away with placing and naming pins for symbols. Now you can simply cut and paste a list of pins from the datasheet.

It should be noted that everything created with the tool can be downloaded and used offline. Combine that with the recent news that KiCad can now ingest Eagle board and schematic files, and you have a way to create parametric footprints in everyone’s favorite Open Source PCB tool as well.

Printed It: Custom Enclosure Generator

You’ve written your firmware code, etched your own PCB, and now it’s time to put that awesome new project of yours into an enclosure. Unfortunately, all you have is a generic Radio Shack project box that you picked up when they were clearing out their inventory. If you put your project in that, it’ll have all the style and grace of a kid wearing hand-me-down clothes. Your project deserves a tailor-made enclosure, but the prices and lead time on custom plastic enclosures are prohibitive for one-off projects.

In Ye Olde Olden Days, the next step might have been to start bending some sheet metal. But it’s the 21st century, and we’ve got mechanization on our side. The “Ultimate Box Maker” by [Heartman] is a fully parametric OpenSCAD design which allows you to generate professional looking enclosures by simply providing your desired dimensions and selecting from a few optional features. In a couple of hours, you’ll have a custom one-of-a-kind enclosure for your project for a few cents worth of filament.

That’s the idea, at least. For this edition of “Printed It”, I’ll be taking a look at the “Ultimate Box Maker” by generating and printing a basic enclosure. As somebody whose Radio Shack was out of enclosures by the time I got there and who doesn’t want to slice his hand open folding sheet metal, I’m very interested in seeing how well this design works.


So in theory, this design is supposed to work with the Thingiverse Customizer, which is basically just a web front-end for OpenSCAD. You get nice little sliders and dialog boxes, and once you have all your information entered, it will render you a custom STL to download. It’s arguably one of the best ideas MakerBot has come up with in regards to how Thingiverse works. Unfortunately, at the time of this writing, Customizer doesn’t seem to work anymore and just gives an error about missing Sigh.

In that case, we’ll need to download the .scad file from the “Thing Files” tab and open it up in OpenSCAD locally. All the configuration values are up at the top of the file and clearly labeled, which makes this fairly easy.

Obviously, you’re going to want to adjust the overall box dimension variables at the minimum. But there are also a whole set of options for PCB standoffs (position, diameter, screw size, etc), as well as options related to the built-in vents.

Making use of the OpenSCAD import(); function, you can bring in an STL of an existing PCB and see exactly how it will look in the rendered case. As a demonstration, I’ll be making a small enclosure for the Pi Zero, so I’ve imported an STL of it and used that to align the PCB standoffs. But even if you don’t import an STL to use as a guide, there’s a helpful “ghost PCB” that floats around inside the case while your editing the file in OpenSCAD.

Exporting the STL

Once you’ve edited the variables to your liking, you’ll want to scroll a little farther down in the code to find a section that looks like the following:

/* [STL element to export] */
//Coque haut - Top shell
TShell = 0;// [0:No, 1:Yes]
//Coque bas- Bottom shell
BShell = 1;// [0:No, 1:Yes]
//Panneau avant - Front panel
FPanL = 0;// [0:No, 1:Yes]
//Panneau arrière - Back panel
BPanL = 0;// [0:No, 1:Yes]

These options selectively turn on and off the different parts of the model for when it comes time to export the STL. If you don’t turn the other parts off before export, you’ll just get a useless “assembled” STL.

Unfortunately, the script is not smart enough to reposition the objects for STL export; so you’ll have to manually flip over the top piece in your slicer, for example. Another annoyance I found is that, even if you turn off the bottom of the case (BShell), the PCB feet still remain. You need to go back up to the script configuration settings and turn them off manually, look for the option called “PCBFeet”.

Having worked with OpenSCAD for a while I know why [Heartman] wouldn’t have included rotating the parts on export: it’s a whole lot of code to implement something that the end user can do with a click in their slicer. But making sure the PCB standoffs aren’t rendering when the user is just trying to get the top or side panel is a fairly big omission and would really only take a single conditional statement to fix.

Finally, there is some early support for generating customized front and rear panels, including functions to generate openings and labels. But personally, I would suggest just taking the blank panel generated by the OpenSCAD script and importing it into a 3D CAD program your comfortable with. The panel generation code just isn’t ready for prime-time, in my opinion.


The design that [Heartman] has come up with for the case is really quite clever, and shouldn’t pose a problem printing. There are no overhangs so support is unnecessary, though you may want to turn off the vents if your printer has issues with stringing, as the thin openings can get clogged up. I printed my case at 0.2 mm layers and 15% infill, though larger cases could probably get away with 0.3 mm layer height for the sake of speed.

The design is forgiving in terms of tolerances, and no cleanup was needed after printing to get the parts together. The fit on the front and rear panels is perfect; loose enough that they don’t need to be sanded to git in the channels but tight enough that they don’t rattle around once the lid is screwed down. Incidentally, you must screw the lid down, as the two pieces don’t actually have any interlocking components. A potential improvement to the design would be a way to make the lid snap-fit.

Final Thoughts

Overall, I think the enclosures generated by the “Ultimate Box Maker” OpenSCAD script are fantastic. They look extremely professional, are very sturdy, and print easily. This is definitely a design I’ll be adding to my regular bag of tricks going forward.

I especially like that this is a printable design that clearly addresses a valid need. One-off projects need one-off enclosures, and 3D printing is perfect for that. While we’ve previously covered printed tools that deserve a spot on your bench, the argument could always be made that you’d be better off buying the “real thing”. But I believe this project offers a solution which is actually superior to traditional methods in a number of ways.

Thingiverse’s Customizer dropping the ball on this one is especially annoying, as [Heartman] went through the trouble of making sure his design worked with it — there’s some special syntax Thingiverse has you add to OpenSCAD to make their front-end work. Having a web-based tool to generate custom enclosures would be extremely handy, and I wonder if somebody in the community might just take up the challenge of restoring the service MakerBot seems not to maintain?

Big Slew Bearings Can Be 3D Printed

Consider the humble ball bearing. Ubiquitous, useful, and presently annoying teachers the world over in the form of fidget spinners. One thing ball bearings aren’t is easily 3D printed. It’s hard to print a good sphere, but that doesn’t mean you can’t print your own slew bearings for fun and profit.

As [Christoph Laimer] explains, slew bearings consist of a series of cylindrical rollers alternately arranged at 90° angles around an inner and outer race, and are therefore more approachable to 3D printing. Slew bearings often find application in large, slowly rotating applications like crane platforms or the bearings between a wind turbine nacelle and tower. In the video below, [Christoph] walks us through his parametric design in Fusion 360; for those of us not well-versed in the app, it looks a little like magic. Thankfully he has provided both the CAD files and a selection of STLs for different size bearings.

[Christoph] is no stranger to complex 3D-printable designs, like his recent brushless DC motor or an older clock build. The clock is cool, but the bearings and motors really get us — we’ll need such designs to get to self-replicating machines.

Continue reading “Big Slew Bearings Can Be 3D Printed”

Two-Piece Boxes Thanks to Laser-Cut Flex Hinges

It sounds like a challenge from a [Martin Gardner] math puzzle from the Scientific American of days gone by: is it possible to build a three-dimensional wooden box with only two surfaces? It turns out it is, if you bend the rules and bend the wood to make living hinge boxes with a laser cutter.

[Martin Raynsford] clearly wasn’t setting out to probe the limits of topology with these boxes, but they’re a pretty neat trick nonetheless. The key to these boxes is the narrow to non-existent kerf left by a laser cutter that makes interference fits with wood a reality. [Martin]’s design leverages the slot and tab connection we’re used to seeing in laser-cut boxes, but adds a living flex-hinge to curve each piece of plywood into a U-shape. The two pieces are then nested together like those old aluminum hobby enclosures from Radio Shack. His GitHub has OpenSCAD scripts to parametrically create two different styles of two-piece boxes so you can scale it up or (somewhat) down according to your needs. There’s also a more traditional three-piece box, and any of them might be a great choice for a control panel or small Arduino enclosure. And as a bonus, the flex-hinge provides ventilation.

Need slots and tabs for boxes but you’re more familiar with FreeCAD? These parametric scripts will get you started, and we’ll bet you can port the flex-hinge bit easily, too.

Endstops That Stay Out of the Way

In the course of building a new delta printer, [thehans] decided he needed his own endstop design that used minimal hardware. Endstops are just switches that get hit when the printer moves at the extreme of an axis, but [thehans] wanted something with a bit of refinement for his BigDelta 3D Printer build.

The result is a small unit that cradles a microswitch and needs only a single zip tie that mounts flush, resulting in a super tidy looking piece. In addition, it mounts on the delta’s v-slot rails such that the mount does not take up any of the machine’s range of motion, because the carriage can travel past it. It is a parametric design made in OpenSCAD, so feel free to modify it to accommodate other types of switches.

Continue reading “Endstops That Stay Out of the Way”

Making Parametric Models in Fusion 360

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.

Continue reading “Making Parametric Models in Fusion 360”