Skip to content

Instantly share code, notes, and snippets.

@gromgull
Created March 31, 2018 06:19
Show Gist options
  • Save gromgull/87e1117e88fb7e4ef88b1b137c6ba532 to your computer and use it in GitHub Desktop.
Save gromgull/87e1117e88fb7e4ef88b1b137c6ba532 to your computer and use it in GitHub Desktop.
Wharfedale Diamond 9.1 OpenScad model
// This is a fairly accurate model of the Wharfedale Diamond 9.1 Bookshelf speaker
// The outer measurements + screw-holes should be quite accurate.
// The curves are done by trial & error, the actual speaker elements are just guesswork.
H = 29.6;
module m6() { rotate([90, 0, 0]) cylinder(5, r=0.3, $fn=20); }
module base() {
//translate([0,0,1]) polygon([[ -6, 0 ], [-7.75, 26.5 ], [ 7.75, 26.5 ], [ 6, 0 ]]);
intersection() {
intersection() {
r = 36;
translate([-r+9.6,15.5,0]) { circle(r, $fn=200); }
polygon([[ -9.6, 0 ], [-9.6, 26.5 ], [ 9.6, 26.5 ], [ 9.6, 0 ]]);
}
intersection() {
r = 36;
translate([+r-9.6,15.5,0]) { circle(r, $fn=200); }
polygon([[ -9.6, 0 ], [-9.6, 26.5 ], [ 9.6, 26.5 ], [ 9.6, 0 ]]);
}
}
}
module diamond91() {
color("SaddleBrown")
difference()
{
linear_extrude(H) base();
translate([0, 4.5, 17.2]) m6();
translate([0, 4.5, 11.2]) m6();
}
// these are not very accurate
color("black") translate([0,27,12]) rotate([90]) cylinder(h=2, r=7, $fn=20);
color("black") translate([0,27,23]) rotate([90]) cylinder(h=2, r=4, $fn=20);
color("black") translate([4,27,4]) rotate([90]) cylinder(h=2, r=2, $fn=20);
color("black") translate([-4,27,4]) rotate([90]) cylinder(h=2, r=2, $fn=20);
color("gold") translate([-2,-0.5,19]) cube([4,0.5,7]);
}
diamond91();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment