OpenSCAD might not’ve been the best choice here

OpenSCAD might not’ve been the best choice here

OpenSCAD might not’ve been the best choice here

Yup, lots of circles, intersections, differences and offsets went into this attempt at the logo of my favourite museum.

For the determined/demented, here’s the source. It’s probably not that useful for learning OpenSCAD, as it’s written in my typical “carve away all the bits that don’t look like an elephant” style:

// akm logo - why yes this *is* a good tool to use ...

// constants for octagon maths
r1 = 1 - sqrt(2) / 2;           // ~0.292893
r2 = sqrt(r1);                  // ~0.541196
x1 = (sqrt(2) - 1) / 2;         // ~0.207107

sc = 100;                       // size factor
t = 4;                          // line thickness
bigt = 7;                       // strapwork gap thickness
$fn = 256;                      // OpenSCAD circle smoothness

module petal() {
    intersection() {
        translate([ sc * x1, sc * x1])circle(r = sc * r2);
        translate([-sc * x1, sc * x1])circle(r = sc * r2);
    }
}

module hollow_petal() {
    difference() {
        offset(r =  t / 2)petal();
        offset(r = -t / 2)petal();
    }
}

module inner_lobe() {
    difference() {
        for (i = [0:3]) {
            rotate(i * 90 + 45)offset(r = t / 2)petal();
        }
        for (i = [0:3]) {
            rotate(i * 90 + 45)offset(r = -t / 2)petal();
        }
    }
}

module ring() {
    for (i = [0:3]) {
        rotate(i * 90)difference() {
            intersection() {
                inner_lobe();
                union() {
                    offset(r = -bigt / 2)petal();
                    rotate(45)offset(r = t / 2)petal();
                }
            }
            rotate(90)offset(r = bigt / 2)petal();
        }
    }
}

module logo() {
    union() {
        ring();
        for (i = [0:3]) {
            rotate(90 * i)union() {
                intersection() {
                    hollow_petal();
                    rotate(-90)offset(r = -bigt / 2)petal();
                }
                difference() {
                    intersection() {
                        hollow_petal();
                        rotate(45)offset(r = -bigt / 2)petal();
                    }
                    rotate(-90)offset(r = bigt / 2)petal();
                }
                
                difference() {
                    hollow_petal();
                    offset(r = bigt / 2)union() {
                        rotate(-90)petal();
                        rotate(45)petal();
                    }
                }       
            }
        }
    }
}

logo();

birb chirper v2.0

This is one of those toys that you whirl around on a piece of string and it makes a chirping sound like a flock of sparrows. I have no idea what they’re called, so I called it birb_chirper.

Print Settings

Printer: Reach 3D
Rafts: Doesn’t Matter
Supports: Doesn’t Matter
Resolution: 0.3 mm
Infill: 0%

Notes: This is a thin-walled model, so use at least two shells and no infill for smooth walls.

Post-Printing

Take a piece of thin string about 1 metre long (I used micro-cord, very fine paracord), pass it through the hole in the tip, then tie off a jam knot that’s big enough to stop in the hole in the top but still pass back through the slot in the side. Now whirl the thing around fast by the string, and it should start to chirp.

This is intended for the amusement of small children and the annoyance of adults.

How I Designed This

The tip of this thing is an ogee curve. I’ve included my library for creating simple ogee and ogive profiles in OpenSCAD.

// ogive-ogee example
// scruss, 2018
use <ogive_and_ogee.scad>;
ogive(20, 35);
translate([0, -5])text("ogive(20,35)", size=3);
translate([30, 0])ogee(20, 35);
translate([30, -5])text("ogee(20,35)", size=3);

Download: Thingiverse —birb_chirper by scruss. Local copy: birb_chirper.zip

When you fix a thing and it just works …

When you fix a thing and it just works …

When you fix a thing and it just works …
Skelf is a Scots word for splinter or shard and is a weak pun on the Stealth clips that splintered for me.

When both clips broke within a week on my Timbuk2 messenger bag, I knew I had to do something. This coincided with me fixing my 3d printer (it was the extruder feed: it was too loose all along!), so I was able to prototype a new clip.

clip section

The files are on Thingiverse: Messenger Bag Replacement 25 mm Webbing Clip, or there’s a local copy here: Messenger_Bag_Replacement_25_mm_Webbing_Clip.zip.

3D printed back cover for 6502 badge

Update, 2017-12-03: So of course, as soon as I show this to someone, they ask: “Can it stand up like a display case?” It can now!

STL file and OpenSCAD source for rev 2: VCF-6502-badge.zip
(licence: CC BY-NC-SA 2.5 CA)

Thingiverse: https://www.thingiverse.com/thing:2687960

Rev 1: This worked better than I could have hoped, and so the 6502 40th Anniversary Computer Badge now has a snug-fitting case to prevent shorting, and to keep the batteries in place.

I seem to remember this being like the logo of every Amiga software company ever

I seem to remember this being like the logo of every Amiga software company ever

I seem to remember this being like the logo of every Amiga software company ever

… except I just made it in OpenSCAD:

// 12-sided box flower - scruss, 2017

// uses HSV library
//  from https://www.thingiverse.com/thing:279951
//   function hsvToRGB(h, s, v, a)
use <hsvtorgb.scad>;

r = 10;
ulx = r * cos(60);
uly = r * sin(60);
lrx = r * cos(30);
lry = r * sin(30);
side = lrx - ulx;

for(j = [0:11]) {
    for(i = [0:11]) {
        color(hsvToRGB(i / 12, 1, (24 - j) / 24, (48 - j) / 48)) {
            rotate(j * 15) {
                scale(pow(sqrt(2), j)) {
                    rotate(i * 30) {
                        translate([ulx, lry]) {
                            square(side);
                        }
                    }
                }   
            }       // a simple  joy that
        }           // python programmers
    }               // will  never   know
}

View in Instagram ⇒

some OpenSCAD 2D SVG things for Josh …

I’ve found that OpenSCAD is really good for producing 2d designs in a very small amount of code. Here are three examples to play with:

Diagonal Section through Menger sponge (SVG) (OpenSCAD source) — this may take a while to render, as it’s making a Menger sponge in 3D and then slicing through it to make the projection.

(If you take out the projection() clause, it looks like this in 3D:

)

Pattern from Ak Medrese, Nigde, Turkey (SVG) (OpenSCAD source) — design after a construction by Eric Broug.

Basis of a pattern from the Alhambra (SVG) (OpenSCAD source)

BlockTwo, a dreadful font

blocktwo-demo

BlockTwo is a spectacularly ugly font mostly for playing about with 3D intersections in OpenSCAD. Not recommended for any but the most extreme display usage. Coverage is only A-Z caps, 0-9, heart and block.

Font Library link: BlockTwo
Local copy: blocktwo.zip