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.
Continue reading “3D Printing with 2D Inkscape Projections”
The world of free 3D-modeling software tends to be grim when compared to the expensive professional packages. Furthermore, 3D CAD modeling software suggestions seem to throw an uproar when new users seek open-source or inexpensive alternatives. Taking a step apart from the rest, [Matt] has developed his own open-source CAD package with a spin that inverts the typical way we do CAD.
Antimony is a fresh perspective on 3D modeling. In contrast to Blender’s “free-form sculpting” and Solidworks’ sequential extrudes and cuts, Antimony invites you to break down your model into a network of both primitive geometry and operations that interact with that geometry.
Functionally, Antimony represents objects as a graphical collection of nodes that encode both primitives and operations. Want a cylinder? Start with a circle node and pipe it into an extrude node. Need to cut out some part geometry? Try defining it with one or more primitives, and then perform a boolean intersection operation. Users can even write their own nodes with custom scripts written in Python. Overall, Antimony boasts the power of parametric design similar to OpenSCAD while it also boosts readability with a graphical, rather than text-based, part description. Finally, because part geometry is essentially stored as a series of instructions, the process of modeling the part does not limit the resolution of the output .STL mesh. (Think: vector-based images, versus pixel-based images).
Current versions of the software are available for both Mac and Linux, and the entire project is open-source and available on the Githubs. (For the shrewd-eyed software developers, most of the project is written with Python that interacts with lower-level routines handled in C++ and exposed through Boost.Python.) Take a video tour of an Antimony workflow with [Matt] after the break. All-in-all, despite that the software is still in its alpha stages, it’s highly functional and (for the block-diagram fans) intuitive. We’re thrilled to put our programming hats on and try CAD from, as [Matt] coins it “a parallel universe.”
Continue reading “Otherworldy CAD Software Hails From A Parallel Universe”
Let’s be honest, multi-extruder 3D printers don’t work the greatest — even MakerBot decided to get rid of the feature in their latest line of printers. So what are you going to do when you want to print a multi-colored object with your trusty single extruder? Pause the print like a savage and exchange the filament? No, no, it’s much easier than that — well, you’re still going to have to switch the filament.
[Jan Henrik] has put together a simple script in OpenScad to split up 3D files into layers in order to facilitate printing in multiple colors (or even materials). You load in the file, tell it the print height you want to do, export, convert to G-Code, print, rinse, repeat. In between the layers you have time to purge the extruder, remove any excess skirt or support material, and then hit print again. Quite a bit easier than hitting pause and jogging the extruder out of the way (while avoiding plastic dribble coming out of your extruder!).
Meanwhile if your prints get interrupted — or fail a lot — you might be interested in this project by a group of MIT researchers. It’s an add-on for 3D printers that uses a laser scanner to evaluate how much of the part was printed, allowing you to restart a print that failed!
Every little plastic bauble you interact with has some sort of recycling code on it somewhere. Now that we’re producing plastic 3D printed parts at home, it would be a good idea to agree on how to recycle all those parts, and [Joshua Pearce]’s lab at Michigan Tech has the answer; since we’re printing these objects, we can just print the recycling code right in the object.
The US system of plastic recycling codes is particularly ill-suited for identifying what kind of plastic the object in question is made of; there are only seven codes, while China’s system of plastic identification uses 140 identification codes. This system for labeling 3D printed parts borrows heavily from the Chinese system, assigning ABS as ‘9’, PLA as ’92’, and HIPS as ‘108’.
With agreed upon recycling codes, the only thing left to do is to label every print with the correct recycling code. That’s an easy task with a few OpenSCAD scripts – the paper shows off a wrench made out of HIPS labeled with the correct code, and an ABS drill bit handle sporting a number nine. 3D printing opens up a few interesting manufacturing techniques, and the research team shows this off with a PLA vase with a recycle code lithophane embedded in the first few layers.
[Maurice] recently built a clock that draws the time (Google Doc) on a white board. We’ve seen plenty of clock hacks in the past, and even a very similar one. It’s always fun to see the different creative solutions people can come up with to solve the same problem.
This device runs on a PIC16F1454 microcontroller. The code for the project is available on GitHub. The micro is also connected to a 433MHz receiver. This allows a PC to keep track of the time, instead of having to include a real-time clock in the circuit. The USB connector is only used for power. All of the mounting pieces were designed in OpenSCAD and printed on a 3D printer. Two servos control the drawing arms. A third servo can raise and lower the marker to the whiteboard. This also has the added benefit of being able to place the marker tip inside of an eraser head. That way the same two servos can also erase the writing.
The communication protocol for this systems is interesting. The transmitter shows up on [Maurice’s] PC as a modem. All he needs to do to update the time is “echo 12:00 > /dev/whiteboard”. In this case, the command is run by a cron job every 5 minutes. This makes it easy to tweak the rate at which the time updates on the whiteboard. All communication is done one-way. The drawing circuit will verify the checksum each time it receives a message. If the check fails, the circuit simply waits for another message. The computer transmits the message multiple times, just in case there is a problem during transmission.
A good speaker enclosure is not just about building a box out of plywood and covering it with carpet, although playing with 1F capacitors is pretty cool. No, for a good speaker enclosure you need the right internal volume, the right size bass port, the right speaker, and it should definitely, certainly, not be a moon. [Rich] figured out he could do all of this with a 3D printer, resulting in the NOMOON: The NOMOON Orbital Music-Making Opensource, Openscad-generated Nihilator.
This work is a continuation of earlier work that designed parameterized speakers in the shape of Borg cubes. Now [Rich] is on to Borg scout ships, and this version has everything you would expect for speaker design.
The NOMOON is available on the Thingiverse Customizer with variables for the internal diameter, the volume of the enclosure in liters, wall thickness, speaker hole, bass port, and wire holes. Of course a customized design is also possible with a stock OpenSCAD installation.
[Rich] has printed a few of these not moons and even with a speaker with terrible bass response, he has a pretty good-sounding setup as far as Youtube videos go. You can check that out below.
Continue reading “Parametric Spherical Speakers Are Not A Moon”
[Jon] a.k.a. [Pedantite] recently added small-scale laser cutting to his business and thought about using that laser cutter to add some value to some of the many project designs he creates. Yes, this means custom laser cut enclosures, but how to go about it? [Jon] loves automation, and that can only mean automated design of laser cut enclosures by reading the board files from his project library.
The idea of automating the design of plastic enclosures was to read the design files, figure out the dimensions of the board and where the mounting holes go, and generate a file for the laser cutter. The weapon of choice was OpenSCAD, a design language that can be highly parameterized, read external design files, and spit out proper DXF files for laser cutting.
[Jon] set up his toolchain as a Python script that reads design files, sends parameters off to a .SCAD file, and generates a DXF for the laser cutter. There’s also a bit that generates enough data for Blender to render a 3D image of the finished product, all only from gerbers, a drill file, and a few user variables.
The source for these files haven’t been released yet, but that’s only because it’s in a proof-of-concept stage right now. You can check out an example of a render of one of the cases below.
Continue reading “Automated CAD Design for Enclosures”