
PDF, too, if you like such things: record_label_jali.pdf. Made with OpenSCAD.
work as if you live in the early days of a better nation
PDF, too, if you like such things: record_label_jali.pdf. Made with OpenSCAD.
Thingiverse‘s Customizer allows users to customize suitable OpenSCAD models without knowing any OpenSCAD code. While it does have some documentation to help developers along, there’s still a lot of guesswork.
I released my first (working!) Customizer design the other week: Parametric Finger Pen Holder (Vertical). While the docs are the primary source of developer information, you might want to know the following:
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();
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.
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.
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.
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 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.
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.
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.
… 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 }
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 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