add: xaser3 Mounting-Plate for RGB-Controller
parent
24fadf126b
commit
cb0da133a8
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,71 @@
|
||||||
|
// Thermaltake Xaser III frame for an RGB-Controller for a retro-computer
|
||||||
|
// by zeus - 2022-06-18 - CC-BY-NC-SA-4.0
|
||||||
|
// ###
|
||||||
|
// vars:
|
||||||
|
mt=6; //material thickness
|
||||||
|
hole_dia=3; //hole-diameter for mounting holes
|
||||||
|
hole_pair_dist=14; // distance of the two holes of one pair of holes
|
||||||
|
hole_lr_dist=52; // center-to-center-distance between the pairs
|
||||||
|
top_hole_dist=5; // distance from hole-center to end of the latch (z-axis), measured value is ~7.25 on the outside, this value has to be less than that on the inside, and accomodate the chamfer by the bent metal-sheeting
|
||||||
|
ctrl_hole_dist_x=33; // x-spacing between mounting holes in the RGB-controller
|
||||||
|
ctrl_hole_dist_y=78.65; // y-spacing between mounting holes in the RGB-controller
|
||||||
|
ctrl_hole_dia=2;
|
||||||
|
ow=100; // overall width
|
||||||
|
oh=155; // overall height
|
||||||
|
bh=35; // height of bottom part
|
||||||
|
bbt=8.5; // thicknes of bottom screw-block, this needs to overcome the latch in depth. 8 would be enough
|
||||||
|
bbh=bh-10; // height of bottom screw-block
|
||||||
|
uh=100; // height of upper part
|
||||||
|
mh=oh-bh-uh; // height of the angled center section;
|
||||||
|
y_deflection=30; // y-coordinate difference between top and bottom
|
||||||
|
corner_dia=mt; // roundness of curved edge
|
||||||
|
text_h=0.5;
|
||||||
|
text_size=24;
|
||||||
|
$fn=100;
|
||||||
|
use <SRC/OriginTech.ttf> // "free for personal use" version
|
||||||
|
// ###
|
||||||
|
// model:
|
||||||
|
module upper(){
|
||||||
|
difference(){
|
||||||
|
cube([ow,mt,uh],center=true);
|
||||||
|
translate([0,-mt/2+text_h-0.01,0])rotate([90,0,0])#linear_extrude(text_h){
|
||||||
|
translate([0,text_size/1.5,0])text("Retro",text_size*0.8,halign="center",valign="center",font="Origin Tech Demo:style=Regular"); //some text
|
||||||
|
translate([0,-text_size/1.5,0])text("ZEUS",text_size,halign="center",valign="center",font="Origin Tech Demo:style=Regular"); //some text
|
||||||
|
}
|
||||||
|
for(x=[-ctrl_hole_dist_x/2,ctrl_hole_dist_x/2],y=[-ctrl_hole_dist_y/2,ctrl_hole_dist_y/2]){
|
||||||
|
translate([x,mt/4,y])rotate([90,0,0])cylinder(h=mt/2+0.1,d1=ctrl_hole_dia,d2=ctrl_hole_dia*0.5,center=true); //mounting holes for the controller
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module center(){
|
||||||
|
//cube([ow,mt,mh],center=true);
|
||||||
|
hull(){
|
||||||
|
// for(x=[-mh/2,mh/2],y=[-y_deflection/2,y_deflection/2])
|
||||||
|
translate([0,y_deflection/2,-mh/2])rotate([0,90,0])cylinder(d=corner_dia,h=ow,center=true);
|
||||||
|
translate([0,-y_deflection/2,mh/2])rotate([0,90,0])cylinder(d=corner_dia,h=ow,center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module bottom(){
|
||||||
|
difference(){
|
||||||
|
union(){
|
||||||
|
cube([ow,mt,bh],center=true);
|
||||||
|
translate([0,bbt/2+mt/2,-(bh/2+bbh/2)+bbh])cube([ow,bbt,bbh],center=true);
|
||||||
|
}
|
||||||
|
for(xa=[hole_lr_dist/2,-hole_lr_dist/2]){// define distance between pairs
|
||||||
|
translate([xa,0,0]){
|
||||||
|
for(xb=[hole_pair_dist/2,-hole_pair_dist/2]){ // define one pair of holes
|
||||||
|
translate([xb,bbt/2+mt/2,-(bh/2)+bbh-top_hole_dist]){
|
||||||
|
rotate([90,0,0])cylinder(h=bbt+0.1,d1=hole_dia,d2=hole_dia*0.75,center=true); // mounting hole to case
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
translate([0,mt/2+bbt,-bh/2+bbh])rotate([0,90,0])cylinder(d=mt/2,h=ow+0.1,center=true,$fn=4); // cutoff to accomodate for the bent in the metal sheeting
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate([0,-y_deflection/2,+(mh/2+uh/2)])upper();
|
||||||
|
translate([0,y_deflection/2,-(mh/2+bh/2)])bottom();
|
||||||
|
translate([0,0,0])center();
|
Loading…
Reference in New Issue