// License: CC0 // // To the extent possible under law, Clementine Computing LLC has waived // all copyright and related or neighboring rights to this file. // // This work is published from: United States. // include module PopufareHousingFrontAnglePlate_resistive() { dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT; w = POPUFARE_HOUSING_WIDTH; h = sqrt(2.0)*dh; bx = POPUFARE_BRACKET_CX; br = POPUFARE_BRACKET_D/2.0; de = POPUFARE_BRACKET_DE; des = POPUFARE_BRACKET_DE_SHORT; lip = _MATERIAL_THICKNESS; screen_w = POPUFARE_SCREEN_WIDTH_RESISTIVE; screen_h = POPUFARE_SCREEN_HEIGHT_RESISTIVE; screen_cx = 0; screen_cy = 0; screen_attach_dw = POPUFARE_INNER_PLATE_HOLE_WIDTH; screen_attach_dh = POPUFARE_INNER_PLATE_HOLE_HEIGHT; difference() { union() { square([w + 2*lip,h + 2*lip + 2*lip], center=true); }; // attach to side plate brackets // translate([ -(w/2 - bx), -(h/2-des) ]) circle(br); translate([ -(w/2 - bx), (h/2-des) ]) circle(br); translate([ (w/2 - bx), -(h/2-des) ]) circle(br); translate([ (w/2 - bx), (h/2-des) ]) circle(br); // screen center // translate([screen_cx, screen_cy]) square([screen_w, screen_h], center=true); translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r); translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r); translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r); translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r); } } module PopufareHousingFrontAnglePlate_capacitive() { dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT; lip = _MATERIAL_THICKNESS; w = POPUFARE_HOUSING_WIDTH; h = sqrt(2.0)*dh ; bx = POPUFARE_BRACKET_CX; br = POPUFARE_BRACKET_D/2.0; de = POPUFARE_BRACKET_DE; des = POPUFARE_BRACKET_DE_SHORT; lip = _MATERIAL_THICKNESS; screen_w = POPUFARE_SCREEN_WIDTH_CAPACITIVE; screen_h = POPUFARE_SCREEN_HEIGHT_CAPACITIVE; screen_cx = 0; screen_cy = 0; screen_attach_dw = POPUFARE_INNER_PLATE_HOLE_WIDTH; screen_attach_dh = POPUFARE_INNER_PLATE_HOLE_HEIGHT; difference() { union() { square([w + 2*lip,h + 2*lip], center=true); }; // attach to side plate brackets // translate([ -(w/2 - bx), -(h/2-des) ]) circle(br); translate([ -(w/2 - bx), (h/2-des) ]) circle(br); translate([ (w/2 - bx), -(h/2-des) ]) circle(br); translate([ (w/2 - bx), (h/2-des) ]) circle(br); // screen center // translate([screen_cx, screen_cy]) square([screen_w, screen_h], center=true); translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r); translate([screen_cx, screen_cy]) translate([ screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r); translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2,-screen_attach_dh/2]) circle(_M3r); translate([screen_cx, screen_cy]) translate([-screen_attach_dw/2, screen_attach_dh/2]) circle(_M3r); } } module PopufareHousingFrontAnglePlate() { //PopufareHousingFrontAnglePlate_resistive(); PopufareHousingFrontAnglePlate_capacitive(); } //PopufareHousingFrontAnglePlate();