/* * 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 PopufareHousingSideLeftPlate() { w = POPUFARE_HOUSING_DEPTH; h = POPUFARE_HOUSING_HEIGHT; br = POPUFARE_BRACKET_D/2.0; bx = POPUFARE_BRACKET_CX; de = POPUFARE_BRACKET_DE; dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT; alen = dh*sqrt(2.0); w_right = w - dh; difference() { square([w,h], center=true); // chop off angle // translate([-w/2,-(h/2-POPUFARE_FRONT_HEIGHT)]) rotate(45, [0,0,1]) square([4*w,4*w]); // bottom bracket // translate([-(w/2-de), -(h/2-bx) ]) circle(br); translate([ (w/2-de), -(h/2-bx) ]) circle(br); // front bracket // translate( [ -(w/2-bx), -(h/2 - POPUFARE_FRONT_HEIGHT/2) ]) circle(br); // front angle bracket // translate([-w/2, -(h/2-POPUFARE_FRONT_HEIGHT)]) rotate(45, [0,0,1]) translate([de, -bx]) circle(br); translate([-w/2, -(h/2-POPUFARE_FRONT_HEIGHT)]) rotate(45, [0,0,1]) translate([alen - de, -bx]) circle(br); // top bracket // translate([ (w/2 - (w_right/2.0)), (h/2 - bx) ]) circle(br); // no back bracket } } //PopufareHousingSideLeft();