69 lines
1.2 KiB
OpenSCAD
69 lines
1.2 KiB
OpenSCAD
|
$fn=32;
|
||
|
LAYER_HEIGHT=1;
|
||
|
NAME="c6hex";
|
||
|
COLOR_BASE="#ffffff";
|
||
|
COLOR_LOGO="#7f7f7f";
|
||
|
COLOR_NAME="#7f7fff";
|
||
|
|
||
|
module name() {
|
||
|
translate([18, 4, 0]) text(NAME, font="Roboto:bold");
|
||
|
}
|
||
|
|
||
|
module logo() {
|
||
|
translate([10, 10])
|
||
|
scale([16, 16])
|
||
|
circle(d=1, $fn=6);
|
||
|
}
|
||
|
|
||
|
module name_outline() {
|
||
|
minkowski() {
|
||
|
name();
|
||
|
circle(r=2.5);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module logo_outline() {
|
||
|
minkowski() {
|
||
|
logo();
|
||
|
circle(r=2);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module outline() {
|
||
|
union() {
|
||
|
name_outline();
|
||
|
logo_outline();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module name_cutout() {
|
||
|
difference() {
|
||
|
outline();
|
||
|
name();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module logo_cutout() {
|
||
|
difference() {
|
||
|
name_cutout();
|
||
|
logo();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module name_cutout_plate() {
|
||
|
linear_extrude(height=LAYER_HEIGHT) name_cutout();
|
||
|
}
|
||
|
|
||
|
module logo_cutout_plate() {
|
||
|
linear_extrude(height=LAYER_HEIGHT) logo_cutout();
|
||
|
}
|
||
|
|
||
|
module name_base_plate() {
|
||
|
linear_extrude(height=LAYER_HEIGHT) outline();
|
||
|
}
|
||
|
|
||
|
color(COLOR_BASE) translate([0, 0, 3*LAYER_HEIGHT]) logo_cutout_plate();
|
||
|
color(COLOR_LOGO) translate([0, 0, 2*LAYER_HEIGHT]) name_cutout_plate();
|
||
|
color(COLOR_NAME) translate([0, 0, 1*LAYER_HEIGHT]) name_base_plate();
|
||
|
color(COLOR_BASE) translate([0, 0, 0*LAYER_HEIGHT]) name_base_plate();
|