Skip to content

Latest commit

 

History

History
54 lines (44 loc) · 1.62 KB

README.md

File metadata and controls

54 lines (44 loc) · 1.62 KB

Enclosure

OpenSCAD library for generating enclosures.

// Lets make the round bits pretty
$fn=64;

// Load the main library
use <Enclosure.scad>
use <PCB.scad>

// Start by describing the basic dimensions of your enclosure
myEnclosure = enclosure([80.0, 40.0, 25.0]); // define an enclosure that is 80.0mm x 40.0mm x 25.0mm

// This is our PCB
myPCB = pcb([70.0, 30.0], 4.0);

color("green", 0.1) pcb(myPCB);

// Now lets render the enclosure cover:
translate([0, 0, 10]) union() {
    difference() {
        // Basic shape for the enclosure cover
        enclosureCover(myEnclosure);

        // Need a hole on the left for the micro USB connector
        enclosureLeft(myEnclosure) shellScale(myEnclosure) {
            translate([-(11.0-7.0)/2, 15.5]) cylinder(d=7.0);
            translate([(11.0-7.0)/2, 15.5]) cylinder(d=7.0);
            translate([-(11.0-7.0)/2, 15.5-(7.0/2)]) cube([11.0-7.0, 7.0, 1]);
        }

        // Need a hole on the right for the NeoPixel lead
        enclosureRight(myEnclosure) shellScale(myEnclosure) translate([-4,7-1.5,0]) cube([8, 3, 1]);

        // And some holes on the top for the microphone
        enclosureTop(myEnclosure) shellScale(myEnclosure) {
            translate([2.54*(4), 0]) {
                cylinder();
                for (theta = [0, 60, 120, 180, 240, 300]) {
                    rotate([0,0,theta]) translate([0, 2.5, 0]) cylinder();
                }
            }
        }
    }
    coverStandoffs(myEnclosure, myPCB);
}

// Now lets render the snap on base:
translate([0, 0, -10]) union() {
    enclosureBase(myEnclosure);
    baseStandoffs(myEnclosure, myPCB);
}