I built a Maslow CNC. This video is part one of the build process—the electronics and assembling the frame. The Maslow is a relatively inexpensive, open source CNC kit. The kit comes with the electronics and specialty hardware, and you provide the lumber, router, and a computer (and a dust control system is a good idea, too). It’s a hanging router, much like a hanging plotter, and is capable of cutting an entire sheet of 4X8 plywood (with some margins). It can also cut thin aluminum, pretty much any material that the router you equip it with is able to cut. I’m very excited about the creative possibilities that this machine will open up for me.
Finally realized that trying to cut or zip the channels open is just overly complicated, and that (although it seems a little less magical) I should just print in two pieces and glue together. There are multiple benefits:
- It looks better. Being able to control the edges of channel where it intersects the outside of the of the cube gives a very clean look, probably better than I’ll ever get trying to open it with mechanical means.
- Channel walls come out very smooth. This is mostly the result of the way the slicer processes the model when it’s when it’s a monolithic piece.
- Easier to model. There are a lot more considerations when trying to make internal structures in an enclosed piece.
- Easier to paint, especially on the inside curves. Although, I do have to take a different approach than primer/sand/spray, which was giving some really nice results.
It’s not done yet, though. As you can see in the picture of it being printed, I did not use supports, and that caused the channels on the top of the arcs to be distorted just enough that the bearings fall out. Reprinting with supports now, and that should add dimensional stability (along with my emotional stability). 🙂
I’ve been trying to perfect the process of making these things that I call “Möbius Rollers”.
On the top one I used multiple coats of filler primer, sanded it with 100 then 220 grit sandpaper, painted it blue, taped it, painted it green and removed the tape. The paint job came out looking great.
The second one, I used wood filler on the rough areas, which saved me a couple of coats of filler primer. Painted it green, then taped it. But, the tape strips were too small, and didn’t stick well in some areas, so some of the blue paint got under.
There is a channel with ball bearings that ride around inside. In order to get this to print, I have to make the channel just below the surface. Then, I just cut the top of the channel open, so you can see the balls roll around inside.
On the top one I tried different bits on my rotary tool, and when I tried the router bit, I thought it was working at first, but then it skipped all over, and tore the whole thing up.
The second one I tried a grinding wheel bit on a slow speed, and I got a cleaner cut, but it took a long time. Then, after it was open, I tried sanding the channel so the balls would roll smoothly, but I discovered that the channel is pinched in one area, and even a lot of sanding would not open it up. And, even still, I did not like the way the cut came out.
On my old printer the channels came out wide enough, I don’t know if it’s the slicer, or the printer, but I need to either figure out different print settings, or maybe modify the the model to make the channels bigger. Also, I want to find a way to make the plastic thin enough along the outside of the channel, so that I can pull it open like a zipper.
I have an Etsy store now where I’m selling custom 3D printed halftone images: https://www.etsy.com/shop/HipNerd Please check it out! I’ll be adding more to the store soon.
I had an idea to 3D print a halftone image by making a grid of holes where the larger holes would be brighter halftone pixels, and the smaller holes would be darker ones, and then I’d light it from behind. I tried several approaches, including one performed after I made this video, and they all failed. Blender 3D was not up to the task of doing a giant boolean operation, and the P5.js SVG library was not up to the task of drawing all the outline squares that I needed. So, I resorted to printing a background (just a large, white rectangular slab) and switching filaments to print the halftone pixels on top in a different color (black squares).
I have a lot of ideas for variations, like a non-solid background, and slicing a larger image and printing it out in pieces. Ultimately, I still want to try my original plan, so maybe Inkscape, or learn some Fusion 360 to see if it can do it, and then maybe openSCAD if that fails.
Here are the software tools I used:
- SVG library for P5.js: https://github.com/zenozeng/p5.js-svg
- Blender 3D: https://www.blender.org
- GIMP: https://www.gimp.org
- Prusa ColorPrint: https://www.prusaprinters.org/color-p… (watch out for the gotcha)
Amazon Associate Link: Made with Hatchbox PLA
I found this Golden Rectangle Icosahedron while reading about Icosahedrons on Wikipedia: Regular Icosahedron and wanted to make a 3D print of it. I realized that I could print it with a minimum of supports if I printed it standing on three corners.
Constructing the figure is super easy by making a golden rectangle, duplicating and rotating it two times. The problem that I encountered next was getting three corners resting on the XY plane. You’d think there’d be an easy to use tool or two, or maybe a plug-in, to do this in Blender, but haha–no. After a bunch of googling and wasting time trying to figure out how to do this with Blender tools, I landed on the idea of using duh-duh-duh MATH!
The process is simple, and can be generalized to any object. It requires only simple and familiar Blender tools: moving the origin of an object, translating the object, and rotating the object.
The basic steps are:
- Move the origin of the object to one of the vertices
- Move the object to 0,0,0
- Get the coordinates of the next vertex and find the angle to rotate around the Z axis align it on one of the major axes
- Get the coordinates of the vertex again and calculate the angle to rotate to the XY plane
- Get the coordinates of the last vertex and find the angle to rotate around the axis in step three to the XY plane
I had a lot of trouble getting this to print on my new Prusa I3 MK3. Here’s some troubles I ran into, and how I resolved them:
- After a week of printing fine, I started to notice that first layers were sometimes failing. The solution was to preheat the bed for just a couple of minutes before starting the print.
- I never really had the Z-axis set correctly because the Prusa’s built-in first layer calibration routine is not good, and makes you guess too much. I used the instructions in this thread: life adjust Z – my way (sic), and everything was so much clearer and easier.
Once I had the printer dialed in, I had to experiment a lot with Slic3r settings. I think the most important three settings in getting this to work were enforcing support for the first 40 layers, setting the XY separation to 5%, and setting the infill speed to 375 mm/s².
Model on Thingiverse: https://www.thingiverse.com/thing:2822976
As far as the video itself goes: The Blender session was complete garbage, and I discovered that it’s really hard to edit that type of video. Also, voice overs are hard. Also, the painting was long and unnecessary (and badly done to boot!).
I created this little bullet shaped device to help me pull a drawstring through the hem of my sweatpants.
Just got a Prusa I3 MK3 printer. I ordered the MK2 in June 2017, switched my order to the MK3 in October, which added a few months on to my delivery time. Finally arrived, February 2018. I’m super happy with it so far. Leagues beyond my Tronxy, but I’m keeping it and will still use it.
Here’s a time-lapse video of me assembling it:
Part 2 – Use this one weird trick to show that the number of points in a plane is the same as the number of points on a line, and 3D space, and any number of dimensions
You have a point on a plane, and it has an X and Y coordinate, such as:
You can take the X and Y coordinates, and combine them to make a single, unique number by doing the following:
Take the first decimal place of the X coordinate, and follow it with the first decimal place of the Y coordinate, in this case: 0.32, then the second decimal place of the X and Y coordinates: 0.3250, then the third, fourth and so on to as much precision as you care to have: 0.32502689… this, like any number, can be represented by a point on a line. You can do this for every point on the plane and each point will map to a unique point on a line. Similarly, you can take a point on a line and pair up the numbers to make a unique point on a plane. So, now you have a 1:1 function that maps all the points on a plane to points on a line and vice versa.
Now you can add a third dimension.
X:0.07982 Y:0.92580 Z:0.10458
Combine the decimal places in triplets, so in our example the result will be: 0.091720954885208…
You can keep adding dimensions, and no matter how many dimensions you have, you can use this trick to map all the points in 1:1 fashion to a line.
The amazing conclusion is that the number of points on a line of any length is the same as the number of points on a plane, which is the same as the number of points in any dimensional space.
One other fascinating discovery about infinity in One Two Three… Infinity that was new to me is that the number of points on two lines of any length is the same. Also, that the number of points on a plane, and even three dimensional space is the same.
First of all, what I mean by “number of points… is the same” is what you would naturally think: They can be put in a 1:1 (one to one) relationship, for example:
Set 1: A, D, A, M, Z Set 2: J, U, L, I, E
Set 1 has five letters and set 2 has five letters. We are only concerned with how many items there are in each set, and not what the letters are. The fact that the letter ‘A’ is repeated twice in set 1 and that neither set has any letter in common are unimportant. To see if the two sets are the same size, or if one is bigger than the other, we pair off the items in the two sets in any order we choose:
J - Z U - M L - A I - D E - A
We find that both sets are the same size because they can be put in a 1:1 relationship.
Simple enough. So, here is the mind blowing visual proof that two lines have the same number of points:
In this diagram the two lines of different length AB and AC are joined at A. The line CB connects the endpoints, and every line parallel to CB, such as DE, connects a unique point on AB with a unique point on AC and vice versa. So, even though there are an infinity of points on both lines, they can be put in a 1:1 relationship.
In case that’s a little too informal, let me just add that CB and all its parallels are just graphs of a line function. You don’t even need to know exactly what the function looks like, just that the input is a point on one line and the output is a point on the other, and that for every input there’s a unique output. To me, it seems entirely counter intuitive, but the logic is inescapable, two lines of unequal length have the same number of points.
End of part 1. Coming in Part 2 – Use this one weird trick to map all the points on a plane to all the points on a line.