Categories
Uncategorized

Convert all the files!

Convert all the files!
Thanks Tom!

It seemed like a simple enough request… While at Milwaukee Makerspace we were discussing creating snowflakes on the Laser Cutter, and I mentioned that there should be some existing art on OpenClipArt.org, but it was down that night, so I jumped over to Thingiverse and found this snowflake.

As a bit of background, I’ve been pretty damn good at file conversions in the past. Audio, video, markup, raster images, anything 2D has been pretty simple. I mean, I’ve been using Photoshop since version 1.0.7. I know how to deal with that stuff… but 3D? It’s a whole new nightmare world!

Snowflake

The file was an STL, which is meant for 3D printing, but we needed more of a 2D vector file. I know how to load a DXF file into the Laser Cutter, so I figured I’m import this STL into Google Sketchup (via a plugin) and then export as a DXF (via another plugin) and that would be it.

Well, that didn’t work. (Oh, and by “didn’t work” I mean I was unable to open the DXF file in Inkscape. At this point I was still waiting to use the Laser Cutter so I didn’t get to try importing it on that machine. I figured that as long as I was waiting, I’d try to get a format I knew would work.) On to the next idea.

I exported the STL from Google Sketchup as a DAE file, and was able to open that in MeshLab. Once again I tried a DXF export, but that one wouldn’t open in Inkscape either. Argh!

Snowflake

So I made a radical decision… Since I could view the file in MeshLab, I just did a screen shot so I could get a nice, clean 2D version of it.

Snowflake

Of course if I had known I was going to do this, I probably could have just done it in Google Sketchup by altering the view… Still, the MeshLab method seemed solid.

Snowflake

I then took the screen shot and opened it in Photoshop, did a little editing, and converted it to black and white. (I considered creating paths, and exporting them, but at this point I wanted to go with what I knew (or thought) would work, and that meant getting a clean PNG file into Inkscape to convert it from a raster to a vector file via trace bitmap.

Snowflake

So finally, I had my SVG file! A vector file I could open in Inkscape and export as a clean DXF file that I was reasonable sure would open and work on the Laser Cutter…

Snowflake

Oh wait, at some point along the way I had created an OpenSCAD file, to test the other DXF files. They wouldn’t render due to some weirdness, but the new one I exported from Inkscape did. This made me feel a little more secure that this file would work.

So how did it turn out? I don’t know!

The Laser Cutter was in use making ornaments, and I couldn’t stay late enough to get a chance to use it.

And just to be clear… while there were many steps in the process above, the whole thing took about 20 minutes from the first file export to getting what seemed to be a good DXF file.

I’ve converted a lot of files in my time, but doing so for these CNC machine is proving to be a new challenge.

Of course half the fun is seeing if it will work, you know, on the machine… which I hope to test at some point. :)

Categories
Uncategorized

Simplfying STL Files with MeshLab

Cow (Sketchup)

So back when I first used the MakerBot at Milwaukee Makerspace, my daughter asked me to make her a cow. (The kid likes cows!) Since my 3D modeling skills were not up to the task (and still aren’t, at least not for a cow) I found a cow in the Google 3D Warehouse and brought it into Sketchup.

It looked fine, so I exported it as an STL file and did a print. A very small print. It looked OK (but not great) and since it was small there wasn’t really much detail.

Since then I’ve looked at other files in the Google 3D Warehouse, but since most of stuff there is for screen display and not 3D printing, things tend to be very complex, at least in the well done models. More complex than might be needed for a 3D print, at least from the Makerbot.

I’m still pretty new at this 3D modeling stuff, but simplifying the model seems to be what we want. In the 2D world I’ve been doing the same sort of thing for 20 years, but in 3D? It’s new ground.

Enter MeshLab!

From the MeshLab web site: “MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes. The system is aimed to help the processing of the typical not-so-small unstructured models arising in 3D scanning, providing a set of tools for editing, cleaning, healing, inspecting, rendering and converting this kind of meshes.”

I’m mainly interested in using it to reduce the complexity of 3D models.

Cow Original (MeshLab)

Here is the STL file I created from the original cow in Sketchup, as seen in MeshLab.

Cow Reduced (MeshLab)

Here is the same file after reducing the complexity using the Quadratic Edge Collapse Decimation filter. I still feel like it’s a bit of black magic figuring out exactly what numbers to use, and what checkboxes to check, but this is what I used for this one:

MeshLab Settings

I’m fairly pleased with the results (though I haven’t tried to print it yet) but now that I’ve got a (loose) handle on mesh reduction, I’ll dig into the tutorials on YouTube from MrPMeshLabTutorials, including this one on Decimation.

(Of course I still wish MeshLab had an Undo function.)

Oh, and if you really want to 3D print a cow, this recently added to Thingiverse cow is probably the one you want. :)

Categories
Uncategorized

3D Printing a Replacement Part

One of the promises of 3D printing is being able to print replacement parts to things around the house that break. Since I’ve got access to a MakerBot Cupcake at Milwaukee Makerspace, I figured I’d give this a try, not just downloading some object from Thingiverse, but actually going through the entire process of measuring, designing and printing a part.

Light Switch v1
Light Switch Button v1

I got out the calipers and measured the light switch to determine the size of the replacement part I’d need to create, and then I used Sketchup to design the actual object at the correct width, height and depth per my measurements. Since the original part was long gone, I had to estimate how it should be designed, so I just used my best guess.

My first attempt (version 1 above) may have looked good, but even if it was a perfect match to the original, the fact that it was a very small part, and had to be printed on a older model MakerBot meant that the actual print was terrible. The part was just 10mm x 12mm x 6.7mm. That’s pretty damn small.

Light Switch v2
Light Switch Button v2

Version 1 just didn’t work. The hole that was meant to slide over the shaft of the light switch was too short, ill formed, and not even close to round in the inside. So for version 2 I changed the circular structure to a rectangle with a hole in it, as well as making it a bit thicker all around.

Version 2 was definitely better than version 1, but the hole still wasn’t looking too good, and the top (where the MakerBot finishes printing) was pretty ragged. I figured I could sand it down flat though if needed, which is why I ended up making it taller.

(Oh, I should mention that with version 1 I just printed it at the makerspace and then brought it home to test it out. It would have been awesome to have a 3D printer in the house, because I probably could have just kept tweaking it until I got it right, but as it were, I printed one, took it home, and then there was a week before I could try the next version. So yeah, this is why you need a 3D printer at home!)

Light Switch v3
Light Switch Button v3

So right after I printed up version 2, I was concerned it still might not work, so I quickly tweaked the file a bit to make it taller, and to remove the hole completely, with the idea that I could drill a nice clean hole at the appropriate size. Version 3 looked pretty good out of the Cupcake. Not great, not amazing, but pretty good… at least in comparison to the others.

Light Switch
Printed Light Switch Button

So here’s our actual printed object. Yeah, it looks pretty rough around the edges, at least from this view. I ended up using the Dremel on the top to get it a bit shorter and smoother, and then drilling a hole that would allow it to fit on the shaft. Of course, I don’t have metric drill bits, so I tried to find something close. This was my first real attempt at using the Dremel or a drill on a printed part. It wasn’t great. The Dremel doesn’t react the same way it does to metal or wood. Do I go slower or faster or what? I’m not sure… As for the drill, I tried to just hold the piece in one hand while drilling it. That was not ideal. Perhaps next time I’ll use the vice.

I know that in the photo it looks pretty sad, but it actually worked, so cosmetic beauty aside, this was mostly a success.

Light Switch
Light Switch Button in place

Here’s the light switch button in place. We can actually use the light switch without pushing the tiny shaft anymore, which is good.

So in the end, this part, even with the failed attempts, probably consists of less than 5 cents worth of plastic. This is the beauty of 3D printing at home. To get a replacement from the manufacturer would have involved me contacting them, ordering or asking for a replacement, and then having that replacement shipped to me. Even if I ended up talking to some nice person who could put one in an envelope and mail it to me at no charge, the postage stamp alone would have cost more than the raw materials needed to make the part.

Oh, you may have noticed the hole in the button. Yeah, I drilled it a bit too much. Also, the red doesn’t really match very well. I’ll probably print it again in white, or maybe glow in the dark plastic, which would make even more sense.

Categories
Uncategorized

3D Modeling Update

3D Model

In the last month I’ve made some progress in my 3D modeling education, so I thought I’d provide an update. (Besides my last post, I got some good feedback on Google+) Oh, and just a reminder, my interest in 3D modeling all has to do with creating objects I can produce with a 3D printer like the MakerBot or the RepRap.

So what am I using (or not using) now? Here’s the list:

Google Sketchup
I’ve made some good progress with Sketchup. A few tutorials (and a lot of playing around) has me creating actual 3D models. You’ll want the STL Importer and STL Exporter to deal with STL files. Sketchup is nice, and I’m sure I’ll end up using it more as time goes on, but it’s not the end of my 3D quest.

Blender
Urgh… I’ve made no progress with Blender. Haven’t even tried. I may just wait until we do a Blender class at Milwaukee Makerspace.

123D
Still no Mac OS X version.

3DTin and Tinkercad
I talked about 3DTin last time. I haven’t used it since, but it still seems like a great way for kids to get into 3D modeling. As for Tinkercad, it seems like a more advanced version of 3DTin. Make: Live covered Tinkercad in Episode 17 if you want to check it out.

Inkscape
Say what!? Inkscape is a 2D drawing application. I’m still using it. I’ll often open vector files (SVG) and export them to DXF files and then extrude those to 3D files. Here’s a great Inkscape to OpenSCAD dxf tutorial that explains it all.

OpenSCAD
I’m still just barely using OpenSCAD, mainly in conjunction with Inkscape as mentioned above. I need to dig in a bit deeper, as time allows.

So what else is there? Well, I found Pleasant3D, which isn’t exactly modeling software, but it’s what ReplicatorG might look like if it were a full-on Mac OS X application. I’ve found it useful on a few occasions.

The other one worth mentioning is MeshLab, which may have some uses when it comes to converting or transforming files. I haven’t created anything with it yet, but it sure looks impressive.

So that’s my 3D modeling software update… Anything new to report from your desktop?

Categories
Uncategorized

3D Modeling Applications

3D Modeling Applications

Well, the time has come… For years I ignored the third dimension, working only in 2D. Even then, I typically favored raster graphics in Photoshop over vector graphics in the likes of Illustrator. Of course the Egg-Bot brought with it the need to dig into Inkscape, and I’ve done well enough there, finding it useful enough for my vector-based tasks… but now comes…. 3D!!!

Now that I’ve got access to a MakerBot, I have this need to deal with 3D modeling software, starting out with converting formats, and eventually designing things on my own, and actually output STL files. So begins my journey, and a look at some of my options:

3DTin
I mentioned 3DTin.com in my last MakerBot post, and while it’s a great way to get started and have something usable in less than 10 minutes, I don’t know that it will be a serious tool for what I’d like to do. It seems to have no concept of converting formats. It’s still a great (although limited) tool, for what it is…

Google Sketchup
Our pals at Google have Sketchup (the free version) which seems pretty darn popular, and thanks to a few awesome plugins, I’ve been able to import and export STL files. (I haven’t tested the printing of any yet, but that will happen soon.) Sketchup confuses me. I should probably spend some time with a tutorial and figure it out. Is the free version limited? I know that they took out the ability to export DXF files in the latest version, and to get that back you’re expected to buy the pro version for $495. Yikes!

Blender
I must say, that without a doubt, Blender is one of the most confusing pieces of software I’ve ever used, and I’ve used Windows… at a large corporation even! I know Blender is powerful, and in the hands of @knellotron or another skilled operator, great things can be done. But even just trying to import and export a file was too difficult. The “File” menu kept disappearing!

123D
From the folks at Autodesk comes 123D. Windows only. I won’t even look at it unless they create a Mac OS X version.

OpenSCAD
Well, there’s always OpenSCAD, the “Programmers Solid 3D CAD Modeller.” But it’s all codey and programmey, and not visual, which may be cool for some things, but it’s probably not the best to start out with…

I even went so far as to fire up Processing and write code to output STL files via the unlekkerLib library, which is outdated anyway and I should be looking at the ModelBuilder library. Argh…..

So that leaves me with a “???” which should be obvious is a question to you: What do I do?