add: rgb-fanblock
parent
f8805b9883
commit
a2a36a1ea1
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,70 @@
|
|||
// by zeus - zeus@ctdo.de - CC-BY-NC-4.00
|
||||
// -> https://www.thingiverse.com/zeus
|
||||
// -> https://www.printables.com/social/366928-zeus/about
|
||||
// -> https://github.com/zeus86
|
||||
// -> https://blog.tastatursport.de/
|
||||
// 2023-04-22
|
||||
// RGB-Fanblock - Block of a 120mm Fan-Cutout with some RGB-Plating
|
||||
//##################
|
||||
//
|
||||
// VARS
|
||||
mt=4;
|
||||
hole_dia=4.5;
|
||||
hole_dist=105; // nominal hole-distance for 120mm-fans: 105mm
|
||||
hole_dist_v=hole_dist-20; // vertical hole-distance (to enable non-square-designs)
|
||||
height=hole_dist_v+hole_dia+(2.5*mt); // overall height
|
||||
width=hole_dist+hole_dia+(2.5*mt); // overall width
|
||||
height_inner=80+1;
|
||||
width_inner=80+1;
|
||||
depth=mt;
|
||||
text_h=10;
|
||||
q=0.01;
|
||||
$fn=100;
|
||||
use <SRC/StencilGothic.ttf>
|
||||
|
||||
// #################
|
||||
// MODULES
|
||||
module baseplate(plate_t=depth){
|
||||
difference(){
|
||||
hull(){ // "complex" basic-cube with rounded edges made from a hull-element
|
||||
for (x=[-(width/2-mt/2),(width/2-mt/2)], z=[-(height/2-mt/2),(height/2-mt/2)]){
|
||||
translate([x,0,z])rotate([90,0,0])cylinder(r=hole_dia/2,h=plate_t,center=true);
|
||||
}
|
||||
}
|
||||
//cube([width,depth,height],center=true);
|
||||
for (x=[-hole_dist/2,hole_dist/2], z=[-hole_dist_v/2,hole_dist_v/2]){
|
||||
translate([x,0,z])rotate([90,0,0])#cylinder(r=hole_dia/2,h=plate_t+q,center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module distanceplate(plate_d=depth,cut_w=width_inner,cut_h=height_inner,cableslot=0,cableslot_h=0){
|
||||
plate_t=plate_d;
|
||||
difference(){
|
||||
baseplate(plate_t);
|
||||
cube([cut_w,plate_d+q,cut_h],center=true);
|
||||
if (cableslot==1){
|
||||
translate([width/4,0,0])cube([width/2+1,plate_d+q,cableslot_h],center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module faceplate(plate_d=depth,text_value1,text_value2,fontsize){
|
||||
plate_f=plate_d;
|
||||
difference(){
|
||||
baseplate(plate_f);
|
||||
//cube([width_inner,plate_d+q,height_inner],center=true);
|
||||
translate([0,plate_f/2+q,0])rotate([90,0,0])linear_extrude(plate_f+2*q){
|
||||
translate([0, fontsize*0.7,0])text(text_value1, size=fontsize, font="Stencil Gothic:style=Regular", halign="center",valign="center");
|
||||
translate([0,-fontsize*0.7,0])text(text_value2, size=fontsize, font="Stencil Gothic:style=Regular", halign="center",valign="center");
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
// #################
|
||||
// DRAWING
|
||||
translate([0,0,0])baseplate(2); // bottom layer
|
||||
translate([20,-30,0])distanceplate(2,25,25,1,10); // plate for cableruns
|
||||
translate([40,-60,0])distanceplate(3); // plate for the PCB to be resting in
|
||||
%translate([60,-90,0])baseplate(2);// transparent or white layer
|
||||
translate([80,-120,0])faceplate(2,"ZEUS","AQUA",25);// faceplate with text
|
Loading…
Reference in New Issue