diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/example023.scad | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/examples/example023.scad b/examples/example023.scad index 3f59264..1332899 100644 --- a/examples/example023.scad +++ b/examples/example023.scad @@ -1,30 +1,20 @@ -// MCAD/fonts.scad with search() function example. +// Example combining MCAD/fonts.scad with search() function. use <MCAD/fonts.scad> thisFont=8bit_polyfont(); -thisText="OpenSCAD Rocks!"; -// Find one letter matches from 2nd column (index 1) -theseIndicies=search(thisText,thisFont[2],1,1); -// Letter spacing, x direction. x_shift=thisFont[0][0]; y_shift=thisFont[0][1]; -echo(theseIndicies); -// Simple polygon usage. -for(i=[0:len(theseIndicies)-1]) translate([i*x_shift-len(theseIndicies)*x_shift/2,0]) { - polygon(points=thisFont[2][theseIndicies[i]][6][0],paths=thisFont[2][theseIndicies[i]][6][1]); -} -theseIndicies2=search("ABC",thisFont[2],1,1); -// outline_2d() example -for(i=[0:len(theseIndicies2)-1]) translate([i*x_shift-len(theseIndicies2)*x_shift,-y_shift]) { - outline_2d(outline=true,points=thisFont[2][theseIndicies2[i]][6][0],paths=thisFont[2][theseIndicies2[i]][6][1],width=0.25); -} +hours=["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve"]; -theseIndicies3=search("123",thisFont[2],1,1); -// bold_2d() outline_2d(false) example -for(i=[0:len(theseIndicies3)-1]) translate([i*x_shift,-2*y_shift]) { - bold_2d(bold=true,width=0.25,resolution=8) - outline_2d(false,thisFont[2][theseIndicies3[i]][6][0],thisFont[2][theseIndicies3[i]][6][1]); +module clock_hour_words(word_offset=20.0,word_height=2.0) { + for(i=[0:(len(hours)-1)]) assign( hourHandAngle=(i+1)*360/len(hours), theseIndicies=search(hours[i],thisFont[2],1,1) ) { + rotate(90-hourHandAngle) translate([word_offset,0]) + for( j=[0:(len(theseIndicies)-1)] ) translate([j*x_shift,-y_shift/2]) { + linear_extrude(height=word_height) polygon(points=thisFont[2][theseIndicies[j]][6][0],paths=thisFont[2][theseIndicies[j]][6][1]); + } + } } +clock_hour_words(word_offset=16.0,word_height=5.0); |