/*
* Copyright (c) 2019 Clementine Computing LLC.
*
* This file is part of PopuFare.
*
* PopuFare is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PopuFare is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with PopuFare. If not, see .
*
*/
include
module PopufareHousingBottomPlate() {
w = POPUFARE_HOUSING_WIDTH;
h = POPUFARE_HOUSING_DEPTH;
fixture_dx = POPUFARE_FIXTURE_DX;
fixture_dy = POPUFARE_FIXTURE_DY;
fixture_bolt = 5.0/2.0;
bx = POPUFARE_BRACKET_CX;
br = POPUFARE_BRACKET_D/2.0;
difference() {
square([w,h], center=true);
// generic cable access
//
circle(POPUFARE_GLAND_DIAMETER/2.0);
// fixture bolts
//
translate([-fixture_dx/2.0, -fixture_dy/2.0]) circle(fixture_bolt);
translate([ fixture_dx/2.0, -fixture_dy/2.0]) circle(fixture_bolt);
translate([ fixture_dx/2.0, fixture_dy/2.0]) circle(fixture_bolt);
translate([-fixture_dx/2.0, fixture_dy/2.0]) circle(fixture_bolt);
// side bracket attachments
//
translate([ (w/2 - bx), (h/2-POPUFARE_BRACKET_DE)]) circle(br);
translate([ (w/2 - bx),-(h/2-POPUFARE_BRACKET_DE)]) circle(br);
translate([-(w/2 - bx), (h/2-POPUFARE_BRACKET_DE)]) circle(br);
translate([-(w/2 - bx),-(h/2-POPUFARE_BRACKET_DE)]) circle(br);
// front bracket attachments
//
translate([ (w/2 - POPUFARE_BRACKET_DE), -(h/2 - bx)]) circle(br);
translate([-(w/2 - POPUFARE_BRACKET_DE), -(h/2 - bx)]) circle(br);
// hinge assembly attachment
//
}
}
//PopufareHousingBottomPlate();