AuerNameTag/AuerNameTag.scad

43 lines
1.3 KiB
OpenSCAD

name="mAdEx";
part=3; //[1:base,2:text,3:preview]
use <./font/LiberationSans-Bold.ttf>;
label_thickness= 1.5;
font = "Liberation Sans:style=Bold";
font_size = 12;
font_offset = 9;
$fn = 128;
module tag() {
linear_extrude(height=10 + label_thickness/2) translate([91.62, 9.25]) {
difference() { union() {
for (a = [0:180:180])
rotate(v=[0, 0, 1], a=a) {
polygon([[1, 1], [10.9, 2], [10.2, 7.5], [0,4]]);
polygon([[0, 0], [-10.3, 5], [-10.2, 8.1], [-5, 8.3]]);
}
}
circle(d=16.1);
}
}
translate([88.7, 9.25, 0]) cube([181, 20, label_thickness], center=true);
translate([157.5, 12.6, 0]) cube([17, 5, 4 + label_thickness/2]);
translate([150.8, 4, 0]) cube([3, 10, 4 + label_thickness/2]);
translate([156.2, 4, 0]) cube([3, 10, 4 + label_thickness/2]);
translate([2, 1.1, 0]) cube([20, 3, 4 + label_thickness/2]);
translate([30, 15, 0]) cube([20, 3, 4 + label_thickness/2]);
}
module name(str) {
translate([-9, font_offset + font_size/2, -label_thickness/2 + 0.29]) rotate(v=[1,0,0],a=180) linear_extrude(0.3) translate([15, 0])
text(str, size=font_size, font = font);
}
difference() {
if(part==1)tag();
color("black")name(name);
}
if(part==3)color("limegreen")tag();