3d-stuff/openscad/own/xaser3-feet/xaser3-feet.scad

40 lines
2.0 KiB
OpenSCAD

// Thermaltake Xaser III Feet Replacement for retro-computer
// by zeus - 2022-06-03 - CC-BY-NC-SA-4.0
// ###
// vars:
mt=6; //material thickness
base_w_outer=50; // overall base outer dimensions
base_l_outer=75;
base_w=15+mt; // size of the base-tab with screw-holes
base_l=10+mt;
hole_dia=5; // exactly 5.00 for M5 threaded inserts
hole_dia_recess=5.25;
recess_depth=0.5;
flange_h=50;
flange_angle=25; // in degrees
foot_percentage=0.4; // percentage of the flange-area which is not angled, but used as surface to stand on. 1=100%. rough extimate!, realisticly 0.05 is 0% and 0.95 is 100%
$fn=100;
// model:
module base(){
difference(){
union(){
translate([base_w_outer/2,base_l/2,mt/2])cube([base_w_outer,base_l,mt],center=true); //one base-wing
translate([mt/2,base_l_outer/2,flange_h/2])cube([mt,base_l_outer,flange_h],center=true); // one flange
translate([base_w/2,base_l_outer/2,mt/2])cube([base_w,base_l_outer,mt],center=true); //other base-wing
translate([base_w_outer/2,mt/2,flange_h/2])cube([base_w_outer,mt,flange_h],center=true); // other flange
}
translate([(base_w_outer+mt)*foot_percentage,mt/2,flange_h+(flange_h/2)])rotate([0,flange_angle,0])cube([(base_w_outer*2+mt)*2,mt+0.1,flange_h],center=true); // triangular cut, "w" side
translate([mt/2,(base_l_outer+mt)*foot_percentage,flange_h+(flange_h/2)])rotate([-flange_angle,0,0])cube([mt+0.1,(base_l_outer*2+mt)*2,flange_h],center=true); // triangular cut, "l" side
for(x=[base_w/2+hole_dia/2,base_w_outer-hole_dia/2-mt/2],y=[base_l/2+hole_dia/2,base_l_outer-hole_dia/2-mt/2]){
translate([x,y,mt/2]){
cylinder(h=mt+0.1,r=hole_dia/2,center=true); // insert-hole
translate([0,0,-mt/2+recess_depth/2-0.01])#cylinder(h=recess_depth,r1=hole_dia_recess/2,r2=hole_dia/2,center=true); // insertion-helper
}
}
}
};
base();
// translate([-mt,0,0]) mirror([1,0,0]) base();