3D crap

2015-04-24 23.09.21cI got a 3D printer (a PrintrBot Simple Metal model 1403), and it’s been great.  I don’t have time to write much, so I’ll share highlights:

  • I’m on Thingiverse here. I’ve already put up a bunch of crap, including a customizable omni wheel design.
  • I’ve been learning OpenSCAD, a free tool that lets you write code to generate 3D solids.
  • There’s no arc function in OpenSCAD, and the solutions I found online were inefficient or only worked for certain inputs, so I wrote a new one.  See below:
module arc(r,a1,a2,ir=0) {
    // normalize to 0..360 (even for negatives)
    a1n = (a1 % 360 + 360) % 360; 
    a2n = (a2 % 360 + 360) % 360;
    difference() {
        circle(r);
        if (ir != 0) circle(ir); // if inner radius given, subtract it away
            
        // get the a1 to interpolate to, adding a revolution if going the long way
        a1next = a2n>a1n ? a1n + 360 : a1n; 
        
        polygon([
            [0,0],
            [cos(1.00*a2n + 0.00*a1next)*2*r,sin(1.00*a2n + 0.00*a1next)*2*r],
            [cos(0.66*a2n + 0.33*a1next)*2*r,sin(0.66*a2n + 0.33*a1next)*2*r],
            [cos(0.33*a2n + 0.66*a1next)*2*r,sin(0.33*a2n + 0.66*a1next)*2*r],
            [cos(0.00*a2n + 1.00*a1next)*2*r,sin(0.00*a2n + 1.00*a1next)*2*r],
        ]);
    }
}

// test array
for (a = [-360:60:360], b = [-360:60:360]) {
    translate([a,b,0])  linear_extrude(height=10) arc(25,a,b);
}

2015-04-25 15_41_57-arc.scad_ - OpenSCAD

The Pandaphone

2014-12-21 23.10.18I was looking for a gift for my friend’s son, who’s about a year old.  I realized that everything I was looking at was just various enclosures with chips that made sound and light…that’s the kind of crap I can do!

So I built a theremin-type thing. It plays notes based on how close you are to its ‘eyes’, which are an ultrasonic distance sensor, and the nose is a small speaker.

Video:

Build log after the break.

Continue reading The Pandaphone

Kerbal Space Program – Science Checklist

UPDATE: I just uploaded Revision 2.  See bottom of post for changes.

Page 1 of 5.
Here’s what it looks like — get the HTML, PDF, or XLSX to see the real thing.

I decided it’s time to get serious about my pretend space exploration (Kerbal Space Program).  I wanted a way to keep track of the various science experiments I’d done, and the built-in interface is so-so about tracking that in one easy to read place.

So I spent today building a script to generate a giant Kerbal Science Checklist!

I basically scraped a lot of rules from the Kerbal Space Program wiki and coded them into a bunch of data structures in Python, then had the script iterate them to generate a giant HTML document.  I wanted to print mine, so I tweaked the output HTML to pagebreak cleanly, and turned it into a PDF.  I also found that it copy pasted into Excel without too much trouble.

The science points shown indicate the base value for returning the results safely to Kerbin (as opposed to transmitting them), and they don’t include the subsequent value of repeating the experiment.  They’re probably not perfect…I didn’t test the math very much.

Updated 29 June 2014 — changes in revision 2:

  • I noticed that the HTML download didn’t have the images — fixed.
  • I’ve been told that you can splash down on Eve, Laythe, and even some non-water biomes of Kerbin.  I’ve added “Splashed” rows for Eve and Laythe.  I didn’t add a separate “Splashed” section for Kerbin, since it would be very long, and few people probably care about splashing down in a puddle in the badlands.
  • I removed the invalid “Surface” row for Kerbol (the sun).
  • Fixed seismic scans in water — they’re invalid.

Download revision 2 here:

Enjoy!