Tag Archives: 3D printing

Here’s my 3D print of a Firran from the video game ArcheAge.

I was super lucky to be in the Closed Beta 3 and decided to use this gorgeous game to continue my experiment on 3D scanning virtual worlds.

Instead of using the in-game models for 3D printing, I took a lot of screenshots and reconstructed a model using photogrammetry.

screenshot from ArcheAge

screenshot from ArcheAge

3D scanned reconstruction

3D scanned reconstruction

Above shows one of screenshots I took and the 3D scanned reconstruction. As you can see, there’s some detail loss, but overall, it’s pretty good.

I made the Firran sit as to lessen the idle animation, so I could get a consistent pose.

I used Autodesk 123D Catch instead of VisualFSM and Meshlab (like in last 3D scan) because the surface reconstruction was a bit better. My intuition tells me the point could generation (turning photos into point clouds) is the same as VisualFSM, but the surface reconstruction (turning point clouds into 3D models with surfaces) is a lot better. Though, that’s a gut feeling without proof.

My initial impression of 123D Catch it is very easy to use and gives you nice renderings. However, it’s slow. There’s also no point in using the desktop version since it requires you to sign in through the Internet, just like the web app.

3D scanned world

To create the 3D scan, I uploaded 35 screenshots of the scene to 123D Catch. Here’s an overview of the result. Since I focused on the Firran in my screenshots, the environment reconstruction is not as great. Also, since I wasn’t able to capture a complete 360° view, some parts are lacking details.

3D print model

For 3D printing, I cropped the model and thickened the thin parts (like the hilt of the sword).

It came out great!



This 3D print success proves 3D scanning and photogrammetry techniques can be applied to virtual worlds.

[Updates on the project here]

3D Print Your Own Glassesglasses shot

I wrote a little script to 3D print your own glasses. You don’t need much modeling skills. Just load up the script in Blender and load up your SVG (scalable vector graphics, like JPG except vector format). It’s going to do the 2D to 3D conversion for you (complete with nose pads) in just a few clicks!

You can play around with all sorts of designs!


*The algorithm has been updated based on actual glasses specs. I’ll write about that later. Below is the original algorithm.

Seth Taylor glasses

I started with the black SVG you see above (made by Seth Taylor).


Since I don’t have any specs, I estimated (based off of my own glasses) that the bridge is about 16% of the entire length of the frame and protrudes out a little bit.

The nosepad area I estimated to be 16% around the bridge, and the midpoint between the bottom of the bridge to the bottom of the frame would be where the bump of the nosepad was.

The entire frame also has a slight blend.


more glasses picsresults!

I think it came out pretty well!

I would probably lessen the bend in the bridge and increase the protrusion of the nosepads.


Download the script from my Github and download Blender. I’m using version 2.70 but any future version should work fine.

If you’re already familiar with Blender, then just load up the script, select your imported SVG, and run!

If you’re not, here are more detailed steps.

opening screen

When you open up Blender, hit Scripting to open up the scripting windows.

scripting windows

Press X on the cube to delete it.

delete cube

Press Open to open up the downloaded script.

open up the script

Load your glasses SVG.

load your SVG

Your SVG might be very small so you’ll have to zoom in a lot to see it (scroll up to zoom).

tiny SVG

With the SVG selected, hit Run.

run run run

Viola! Export your glasses as an STL to print.

print those frames!

Design Notes

The 3D glasses might not be the right size, so you might have to scale it. Also, this script might not work great for thick frames, or really weirdly shaped frames, since I assume symmetry and based the parameters around the thin frame above.

There’s some small tweaks I still gotta do.

Try it out! Let me know.

Software Notes

If you’re code savy, feel free to make pull requests. The project is free/open source under GPLv3+.

So, I’m probably waay late to the party, but I recently discovered MeshMixer.

It’s a neat little software that has tons of features. It’s not a full modeling suite like Blender, but instead focuses on a few 3D printing related tasks.

I tested Meshmixer out by loading up Rakdos (a high polygon mesh), and it loads super fast!

One features it has is the ability to digitally sculpt, much like ZBrush or Sculptris.


Another is mesh repair.


I tried repairing Rakdos, but the result didn’t fix the inverted vertices. I suspect it works fine for simpler meshes, since Rakdos is a known problematic mesh.

Meshmixer also supplies an array of neat analytics.


It can also generate supports.


Based on the settings, I suspect it uses an angle based approach to generate the supports (like, give a support if face is less than 25 degrees off of the X plane.

This may also have been MakerBot’s algorithm in the early days. However, there are more sophisticated support generation algorithms out there, so I’m not overly impressed (FormLabs does a physics simulation in their generation!)


However, I am impressed by its mesh mixing ability. You can very easily combine two meshes together and it joins very smoothly.

It also supposedly has way better boolean combines than Blender.

Overall, I like Meshmixer. It does some things ok, and other things really well. I really wish it was open source though… then again, if it was, it might’ve not been bought by Autodesk.

Amazon is now getting into the 3D printing business!

Amazon 3D Printing Shop

They current only offer a limited selected of printers, supplies, and printed goods.

I’m not sure what market they’re targeting yet, because typically, it’s not the goods themselves that makes 3D printing cool (it’s the process of manufacturing something super custom). There’s also no option for custom printing (yet).

However, this does provide a marketplace, which will compete with services like Shapeways, who also provides a community marketplace for 3D printed goods.

3D printing through online services can be expensive. For a lot of those services, cost is a function of the bounding volume and the actual volume, plus some handling fees. Scaling the model down will of course make the print cheaper, but hollowing out the model is also a viable option.

Hollow models by themselves aren’t necessarily cheaper. They’ll need escape holes, to free the trapped materials.

holey feet

approximately 2″ x 3″ x 2″ inches

I decided to print Pudge, a character from the video game DOTA2. If solid, Pudge would’ve costed $32 from Sculpteo and $22 from Shapeways, not including shipping. After my hollowing, Pudge costed $22 from Sculpteo and $12 from Shapeways, a $10 savings for such a small figurine.

Pretty great.

To hollow out the model, in Blender:

1..Delete some faces to create escape holes. I placed them on the bottom of the feet to hide them.

Foot faces

2..Apply a Solidify modifier. This will close the hole in your mesh by created a new layer of certain thickness.


Hope this helps some folks.

A little while ago, I printed a Faceless Void in color. I used the files supplied by Valve’s DOTA2 Workshop, assets that help artists to create new cosmetic items for DOTA2. While the Faceless Void only had the default pose, I got better at manipulating the files, and posed the printable heroes I  prepared for others. For posing, I positioned the rigs, approximated game animations, and extracted in-game items to dress up the heroes. Positioning the rigs got tedious, and someone alerted me that I could import hero animations. Neat!

I couldn’t import animations with 3DS Max or Maya, but I knew I could in Blender, so I decided to learn Blender.

I absolutely love Blender.


Here’s how to 3D print your DOTA2 Hero, in color, with poses and items, in Blender.

Getting the 3D Models

1. Getting the models is a little more challenging than before. Instead of downloading them from Valve’s workshop website, the models need to be decompiled from in-game model and textures.

Follow Wyks’ tutorial on how to extract models. [link]

The hero model files should be in SMD and the textures should be TGA. Be sure to also decompile any cosmetic items’ model and texture files.

2. To be able to import SMDs into Blender, you need Blender Source Tools [link].

Posing the Hero

3. Import the hero SMD into blender.


4. Be sure to select the SMD model file that contains the hero geometry. Not all SMDs contain geometry. Most are animations. A good rule of thumb is that the SMDs with geometry has a larger filesize. You may have to do multiple imports if the hero model is cut up or if you’re importing cosmetic items. If you import animation file before you import all the geometry SMDs, it’ll be harder to pose.

SMD model

5. After you’ve imported all the geometry, the hero will be laid out in a standard pose.Imports

6. Importing an animation SMD will animate the hero. You can stop the animation at a specific frame to form the pose. If you don’t want to print the hero in color, skip to Prepare for 3D Printing section.



7. Each object you imported must be assigned a texture to be able to print the hero in color. Select the specific object and create a new image texture for it. Select the corresponding texture. If you are using an online 3D printing service, it would be good to convert the texture from TGA to PNG, before you assign it to the model, since a some online 3D printing services can’t handle TGA files.


New Texture

Prepare for 3D Printing

8. The hero might not readily printable. Certain objects might be too thin, such as the britches here, and need to be thickened. Select the object and toggle to Edit Mode. Use the Shrink/Flatten transformation to thicken the object.


9. Aside from individual objects, vertex clusters might also be too thin, such as the knives. The knives are a part of the hero’s body object but are separately clustered. Select individual vertex clusters and apply the same Shrink/Flatten transformation.

Thicken vertex clusters

10. Some parts of the hero are only a single layer of faces. These need to be actual closed objects, with a certain thickness. Select all of relevant faces and apply an Extrude Region. This will create new faces in a different direction.

Fix apron

Extrude Region

Alternate view

11. Select the edge loop of the newly extruded faces and close that space by pressing F. This will create a new set of faces, closing the gap.

Fill in the gap

Export the Model

12. Export model for 3D printing. For a non-colored print, export the hero as an STL. For a colored print, the file format varies. If you are using an online 3D printing service, VRML2 is a good bet. You need to create a zip of the VRML2 file along with the PNG textures to upload to those printing services.Export model

13. Printing with an online service can be expensive. My next tutorial will be on how to save money 3D printing.

Pudge Back

Good luck!

Happy Printing!

Make: Ultimate 3D Printing Guide

Make released its Ultimate Guide to 3D Printing a while back, and I didn’t think I was going to buy it.

From all appearances, it looked like a buyer’s guide to 3D printers, and I was already pretty well informed of the printer varieties. However, Jesse happened to get a copy and I decided to flip through it.

The magazine turned out a lot more interesting than I’d thought.

There were a lot of neat interviews with folks in the 3D printing business as well as articles on legal issues surrounding 3D printing. In fact, one article about copyright inspired my own research into 3D printing patents.

My favorite part of the magazine was the distinction in price between $0 and free software for 3D modeling tools.

If you’re new to 3D printing and are shopping for a 3D printer, or just interested in the development of the 3D printing community, this magazine will suit your needs very well. I was definitely interested in the community aspect, and bought a copy just for that.

However, if you’re looking to troubleshoot a specific printer, or want a lot more technical subjects, this might not be the guide for you.