baseh= 1;
-scale([2,2,1]) {
-
mirror([0,0,1])
- translate([-6,-2, -0.01])
- cube([15.5,10, baseh + 0.01]);
+ translate([-12, -4, -0.01])
+ cube([31, 20, baseh + 0.01]);
-linear_extrude(height= 0.4 + 0.1)
+linear_extrude(height= Commitid_depth() + 0.1)
Commitid_FontDemo();
-translate([-2.5,3,0])
- cylinder(r=2, h=3, $fn=20);
-
-}
+translate([-5, 6, 0])
+ cylinder(r=4, h=3, $fn=20);
# We generate a physical indication of which commit was used.
#
-# We provide for a scaling factor
-#
-# $Commitid_pixelsz = 0.4;
-# $Commitid_depth = 1.5; // in pixels
+# We provide for scaling factors with dynamic variables:
+# $Commitid_pixelsz if not set, we use 0.4 } multiplied
+# $Commitid_scale if not set, we use 1.0 } together
+# $Commitid_depth if not set, we use xy pixel size from above
+# $Commitid_depth_scale if not set, we use 1.0 (multiplies depth above)
#
# For each form we have
#
-# module Commitid_Form_2D(pixelsz=0.4)
-# module Commitid_Form(pixelsz=0.4, depth=pixelsz)
+# module Commitid_Form_2D(.4)
+# module Commitid_Form()
+#
+# And we provide
#
-# function Commitid_Form_size(pixelsz=$Commitid_pixelsz) => [ xsz, ysz ]
-#
+# function Commitid_pixelsz() // $Commitid_pixelsz * $Commitid_scale
+# function Commitid_depth() // see above
#
# We can generate these forms:
#
sub p { print @_ or die $!; }
+p <<'END';
+function Commitid_pixelsz() =
+ ($Commitid_pixelsz ? $Commitid_pixelsz : 0.4) *
+ ($Commitid_scale ? $Commitid_scale : 1.0);
+function Commitid_depth() =
+ ($Commitid_depth ? $Commitid_depth : Commitid_pixelsz()) *
+ ($Commitid_depth_scale ? $Commitid_depth_scale : 1.0);
+function Commitid__scale() =
+ Commitid_pixelsz() / 0.1;
+END
+
sub parsefont () {
my %cellmap;
for (;;) {
} elsif (s{^\S}{}) {
my $f = $cellmap{$&};
die unless $f;
- $f =~ s/\b\d/ sprintf '%05d', $col*4000 + $&*2050 /ge;
- $f =~ s/\d\b/ sprintf '%05d', $row*4000 + $&*2050 /ge;
+ $f =~ s/\b\d/ sprintf '%05d', $col*2000 + $&*1025 /ge;
+ $f =~ s/\d\b/ sprintf '%05d', $row*2000 + $&*1025 /ge;
push @{ $chrpolys{$chr} }, [ split / /, $f ];
} else {
die "$_ ?";
p "}\n";
my $px = @demo % $democols;
my $py = int(@demo / $democols);
- push @demo, " translate([$px * 1.600, $py * 2.400]) $mod ();\n";
+ push @demo, " scale( Commitid__scale() ) translate([$px * 0.800, $py * 1.200])
+ $mod ();\n";
}
p "module Commitid_FontDemo(){\n";
p $_ foreach @demo;