Archive for April, 2013

Notes about creating meshes for 3d printing

I’ve spent a couple weekends playing with the RepRap variant at the SB hackerspace. Below are some rambling notes.

The output model going to the 3d printer’s slicing tool must be a manifold, watertight, solid mesh exported as an STL file. Blender can do this fine, but it’s easy to create self-intersecting faces or other problems. In some places I have done things by hand, and in others I’ve used the boolean modifier to create suitable meshes, but if you’re starting from a 3d scan this can be pretty much impossible.

I have spent some time since Saturday trying to print out a scan of me I did quickly using a Kinect and ReconstructMe (the free version which frequently loses the tracking. It was too frustrating to use I don’t think I will write about it again). The output from ReconstructMe is a .obj file which I can import into blender without problems, but has a large number of detached pieces and holes that make things difficult. At first, I wasted hours trying to fill the holes by hand. I later tried loading my current mesh into MeshLab to try to fill the holes and take care of the self-intersecting faces I created which I was not successful.

Yesterday, I found a site listing a bunch of tools for mesh repair: From here, I tried PolyMender to take my original .obj file (converted to PLY or STL using blender) and make it a solid watertight outline. From there, it’s easy to remove the disconnected parts (in edit mode, select everything linked to a part I want using L, hide the selection, and select and delete all the disconnected parts that remain), then boolean with a shape for the base, and delete the stuff sticking out of the bottom.

Oh, also along the way I found a working gcode viewer that I can use to check what would be printed without waiting for it to print.

Here’s the youtube video:


Leave a comment

Building a Arudino mount for NERF Tatical Rail

So, I built the black part below that mounts an arduino on the NERF tatical rail.

Arduino mounted on NERF Strongarm

Arduino mounted on NERF Strongarm

This was my first 3d printed object and it was actually pretty easy. Thanks to the cool people at the SB Hackerspace for showing me how to do the slicing and printing, but I’m not going to talk about that here.

This started by downloading the following two models on thingaverse and importing them into blender:

The STL for both were imported into blender and combined into a single mesh. Note that 1 blender unit is 1 mm when printed.

Original meshes as imported from Thingaverse STL files into blender.

Original meshes as imported from Thingaverse STL files into blender.


Lots of tweaking happened to turn the dense polygon mesh for the holes into holes on a flat plane.

Final printed mesh for arduino mount on NERF rail.

Final printed mesh for arduino mount on NERF rail.

Random other things that went wrong:

  • The first print was stopped for some reason I forget. Maybe it’s because the max height of programmed on the platform is 5 cm when this model was about 6.5 cm tall. The mesh was tweaked to be 6 cm tall (it’s okay if the arduino sticks off the ends as long as there is enough room for the screws) and the max z for the printer was changed to allow printing a mesh this tall.
  • The second print was stopped after the spool of plastic fell down and knocked the X axis off by a bunch.
  • The 3rd print worked great, except the mounting holes didn’t line up perfectly so I chose to use one hole and drill out the opposite one and not to use screws. The arduino I have mounted is the sparkfun uno-compatible which doesn’t have any through-hole components so it sits in solidly and flush with just two screws.
  • The 50% fill factor makes this thing more solid than the arduino attached to it. It doesn’t bend or anything. I think it used 3.5 meters of plastic for the entire print.

Why would I do this? Well, because I was wanting to make this arduino an input device for my iPad based Oculus Rift clone. The wires coming out of the gun are already wired to a IR emitter/detector pair that can see when the gun is fired. I have some ideas for how to get the data from the arduino into the iPad that I will talk about as I have more of them working.

Leave a comment

Trials HD, as a board game?

This was an exercise at the Game Design workshop in GDC 2013. People chose different games to try to recreate as board games played with notecards, game pieces, dice, and tokens.

Last prototype of Trials HD as a paper/dice/card game.

Last prototype of Trials HD as a paper/dice/card game.


  • Unique game pieces (one per player)
  • Four, six sided dice
  • Trials HD Obstacle Cards, including one of the special “Starting Line” and “Finish Line” cards.


  1. Set up the track:
    1. The “Start” obstacle goes on the left.
    2. Deal out 10 more obstacles
    3. The “Finish” card goes on the right.
    4. Checkpoints are put every 4 cards. Start, obstacle, obstacle, obstacle, obstacle with checkpoint, obstacle obstacle, obstacle, obstacle with checkpoint
    5. All players start with their piece on the “Start” obstacle
  2. All players roll dice to determine which player rolls highest to determine which player goes first. Roll again on ties.
  3. Play proceeds in clockwise order.
  4. The goal for each player is to be the first to make it to the finish line.
  5. Each player turn works as follows:
    1. The player starts their turn with all 4 dice, and gets to decide how many of them to roll to try to overcome the obstacle they are on now. They must roll at least one die inside the range of the values indicated by the obstacle card.
      1. If none of the dice rolled are in the range indicated, the player’s turn is over and their piece moves back to the previous checkpoint (or the starting line). If they were on a checkpoint they don’t move back further.
      2. If the player rolled successfully, they move on to the next obstacle and can continue their turn but they only have the remaining dice to choose from.
      3. When a player reaches a checkpoint, they get all 4 dice again and can continue moving down the track. This means that an exceptionally lucky player could complete the entire track on a single turn by rolling one dice per turn.
    2. Some cards have multiple ranges. The player must roll a number in each of the ranges to overcome the obstacle, but the dice are not “used up” for each roll. For example, a player choosing to roll 3 dice would the same roll 3 dice for each range listed on the obstacle, but on the next obstacle those dice will not be available.
    3. The player continues their turn until they run out of dice, fail any obstacle, or choose to end their turn. For example, a player may decide to end their turn early to start their next turn with all 4 dice on a difficult obstacle.

I feel like we were successful at capturing the feel of taking risks and failing (a lot) and going back to checkpoints, but the aesthetic of riding a motorcycle and conquering the obstacles doesn’t come out through the mechanics. However, our goal wasn’t to keep the motorcycle feel, but the “edge of disaster” feel.

Playing this game worked pretty well. We had one exceptionally unlucky player that repeatedly failed to get off the starting line which the rest of us found hilarious.

Leave a comment

Capture setups at GDC?

Well, the GDC capture setup is sort of out of my budget. Except for this thing:

WP_20130327_001They had composite video running out of these cameras, and I think this was the only camera in some of the rooms to record the presenter. There is a direct feed running from the presenter’s laptop to the projectors in the room, and presumably to capture hardware. The input to the projectors was SDI, and I presume the switching was done on SDI not the various laptop outputs. I could probably afford that camera (I hope they are recording to device and don’t really use the composite output). The SDI devices are out of my budget and so are the projectors, mixing boards, lamps, speakers, chairs, table skirts and full-time AV staff. Oh well.

The bigger rooms (especially the ballroom with the awards show) had nicer cameras and even more things I couldn’t afford.

Leave a comment

Seen At GDC 2013

This is just a collection of random photos from GDC 2013, mostly from the Expo floor.


These are the 16 lighted button controllers for Tenya Wanya Teens. This was very silly with the buttons shuffling around (each color is a different command, and the colors are different each game. As more commands are introduced there are more colors used).


3dConnexion was at the GDC expo showing their 6-axis input devices with Blender.


Oculus was at the expo floor showing the Rift showing Hawken. They had most of the UI turned off and god mode enabled so people could fly indefinitely. I didn’t wait in line because it was usually over an hour. The line was the same size as their booth on the expo floor.


We will scan your face!


Softlayer had a competition to see how quickly people could get the drives and network cables set up in this server rack. The best times on the leaderboard were about 60 seconds.


sandboxr was on the expo floor with some examples of the prints you will be able to create through their service.


AMD had an example of their cloud gaming server on a wall in their booth. There’s a normal-looking graphics card in the lower left, and the right is the power supply. This looks like a dual-processor 1U server. I wouldn’t want to be near those 6 tiny fans though.


The IGF games on the expo floor were fun, but I apparently only took a photo of spaceteam.


Tatical Haptics ( had an interesting demo on the expo floor of a modification of the Razer Hydra that lets you feel how the thing you’re holding on to is trying to move around in your hand.


This was an absurdly wide way to play the new Tomb Raider game. The distortion in the last two displays was a little much.

Leave a comment