Modularized name_tag

This commit is contained in:
Karel Vervaeke 2013-08-03 10:15:16 +02:00
parent 6079e6d50b
commit 1533d78a41
2 changed files with 45 additions and 29 deletions

View file

@ -7,33 +7,30 @@ http://creativecommons.org/licenses/by/3.0/
use <bitmap.scad>
// change chars array and char_count
// OpenSCAD has no string or length methods :(
chars = ["R", "E", "P", "R", "A", "P"];
char_count = 6;
// block size 1 will result in 8mm per letter
block_size = 2;
// height is the Z height of each letter
height = 3;
// Append a hole fo a keyring, necklace etc. ?
key_ring_hole = true;
union() {
translate(v = [0,-block_size*8*char_count/2+block_size*8/2,3]) {
8bit_str(chars, char_count, block_size, height);
}
translate(v = [0,0,3/2]) {
color([0,0,1,1]) {
cube(size = [block_size * 8, block_size * 8 * char_count, 3], center = true);
}
}
if (key_ring_hole == true){
translate([0, block_size * 8 * (char_count+1)/2, 3/2])
difference(){
cube(size = [block_size * 8, block_size * 8 , 3], center = true);
cube(size = [block_size * 4, block_size * 4 , 5], center = true);
}
}
/*
chars = chars array
char_count = number of characters (OpenSCAD has no string or length methods)
block_size = letter size (block size 1 will result in 8mm per letter)
height = the Z height of each letter in mm
key_ring_hole = (boolean) Append a hole to a keyring, necklace etc. ?
*/
module name_tag(chars = ["R", "E", "P", "R", "A", "P"], char_count = 6,
block_size = 2, height = 3, key_ring_hole = true) {
union() {
translate(v = [0,-block_size*8*char_count/2+block_size*8/2,3]) {
8bit_str(chars, char_count, block_size, height);
}
translate(v = [0,0,3/2]) {
color([0,0,1,1]) {
cube(size = [block_size * 8, block_size * 8 * char_count, 3], center = true);
}
}
if (key_ring_hole == true){
translate([0, block_size * 8 * (char_count+1)/2, 3/2])
difference(){
cube(size = [block_size * 8, block_size * 8 , 3], center = true);
cube(size = [block_size * 4, block_size * 4 , 5], center = true);
}
}
}
}

19
bitmap/test_name_tag.scad Normal file
View file

@ -0,0 +1,19 @@
include <../bitmap/name_tag.scad>;
translate([0,0,0])
name_tag(["n","a","m","e","_","t","a","g"], 8);
translate([20,0,0]) // 0 + 16/2 + 16/2 + 4
name_tag(["N","A","M","E","_","T","A","G"], 8);
translate([52,0,0]) // 20 + 16/2 + 40/2 + 4
name_tag(chars=["n","a","m","e","_","t","a","g"], char_count=8, block_size=5);
translate([96,0,0]) // 52 + 40/2 + 40/2 + 4
name_tag(chars=["N","A","M","E","_","T","A","G"], char_count=8, block_size=5);
translate([130,0,0]) // 92 + 40/2 + 16/2 + 4
name_tag(["n","a","m","e","_","t","a","g"], char_count=8, height=30);
translate([150,0,0]) // 130 + 16/2 + 16/2 + 4
name_tag(["N","A","M","E","_","T","A","G"], char_count=8, height=30);