Thursday, December 12, 2013

Day 108 - Minecraft castle

Minecraft is "The Last Starfighter" of 3D modeling and printing - a game that gets kids ready for the next industrial revolution by teaching them how to move, build, and think in a virtual 3D environment. Even better, you can load your 3D-modeled creations into your Minecraft worlds and also 3D-print your Minecraft creations in real life! Here is a simple castle that C and I made on a Printcraft server and exported to an .stl file we could 3D print (very detailed instructions below):


STL file: http://www.geekhaus.com/makerhome/day108_minecraftcastle.stl
Thingiverse link: http://www.thingiverse.com/thing:204613

Technical notes, Minecraft flavor: We used a lot of upside-down stairs to keep the amount of overhang to a minimum (thank you, Jeb!). The front archway stairs lead to an arrowslit that you can shoot arrows through. This slit is only the height of a slab - half of a block - and this small slit printed perfectly on the Replicator 2 with no supports!

Technical notes, 3D-printing flavor: MakerWare was unable to open the model as exported directly from Printcraft, so we had to do some tweaking in MeshLab. MeshLab is free but a bear to figure out, with dozens of incomprehensible menus. For this particular model the following sequence of menu options worked for us:
  1. Cleaning and Repairing --> Remove Faces from Non Manifold Edges
  2. Cleaning and Repairing --> Split Vertexes Incident on Non Manifold Faces
  3. Repeat "Split Vertices" until the number of vertices shown at the bottom of the screen stops increasing. 
  4. Remeshing, Simplification and Reconstruction --> Subdivision Surfaces: Catmull-Clark
The first three steps above remove some mesh problems, and the fourth step makes it so that MakerWare can open the file without crashing. Thank you to my student Ryan Moneymaker for showing me that you can accomplish a lot with MeshLab if you have the courage and patience to keep trying everything.

Here are detailed instructions for going between Minecraft and 3D printing:

*** TWO WAYS TO GO FROM MINECRAFT TO 3D-PRINTED OBJECT ***

Printcraft server ---> STL ---> Possible MeshLab repairs ---> 3D print
  1. Open Minecraft and select Multiplayer to join a Printcraft server at us1.printcraft.org or eu1.printcraft.org. For more information see www.printcraft.org
  2. Choose a plot on the Printcraft server and click the command block to "Claim" your plot.
  3. Build your model! You won't be able to use chests, doors, or other decorative items; pretty much just blocks and stairs.  
  4. Click the command block to output your model to an STL file.
  5. Type "t" for chat and then click on the link; you'll be able to download your STL file from the website that is brought up.
  6. Your model might be ready to print as-is! If you're using MakerWare then try to open the file; if it opens then use the Preview to see if the layers appear correctly. If things go sideways then try some MeshLab repairs such as the ones described earlier in this post.
Minecraft world with WorldEdit ---> STL ---> 3D print
  1. From any Minecraft world, build your model! When you're done you can close Minecraft, since you'll be doing the rest of these steps from outside of Minecraft. You'll need to know where your Minecraft world file is kept on your machine; on a Mac it will be under YourUserName/Library/Application Support/minecraft/saves. 
  2. Download and install Mineways.
  3. Mineways provides two video tutorials (here and here) to help you get started. Basically you'll open your Minecraft world in Mineways and then from a map view you'll choose the area that you want to select as your model. You'll also need to know how high/low to select for your area (the y-coordinate), so make a note of that before you leave your Minecraft world. 
  4. Open and print your STL model! (This is the method we used for the Videogame Dice in Day 12.)
*** TWO WAYS TO GO FROM 3D MODEL TO MINECRAFT WORLD ***

STL ---> Tinkercad ---> MCEdit ---> Minecraft
  1. Make a 3D model however you like (or even scan/Digitize one!) and save as an STL file.
  2. Get a free account at Tinkercad and import your model using the "Import" menu option at the top of the right column. (Unless you used Tinkercad to create your model, in which case you already have it there!)
  3. From the Tinkercad "Design" menu, select "Download for Minecraft". (I know, right? How awesome is it that they actually have this option built into their menu? Thank you, Tinkercad!) This will export your 3D design as a .schematic file.
  4. Download MCEdit and use it to import this .schematic file to the place you want it to be in your Minecraft world. Tinkercad has a great blog post describing how to do this.
STL ---> Tinkercad ---> WorldEdit ---> Minecraft
  1. Follow steps 1-3 above to get a .schematic file for your 3D model. 
  2. For this method you have to have WorldEdit, either installed on a Multiplayer server or on Singleplayer as part of Single Player Commands. Put your .schematic file where WorldEdit can find it; on a server installation this will be somewhere like Minecraft/plugins/WorldEdit/schematics.
  3. From within your Minecraft world, use //schematic load yourfilename to load your .schematic file into the WorldEdit clipboard, move to where you want the model to be, and then //paste the model into your world. You may have to //rotate or move around to find the positioning you want; remember you can always //undo to try again!
  4. Enjoy having crazy models in your Minecraft world - like the mathematical knot shown below (see Day 9, Day 11Day 66, and Day 67 for knot models).