From: Ian Jackson Date: Fri, 5 Feb 2016 02:50:12 +0000 (+0000) Subject: commitid: Sort out sizes (mostly) (nfc) X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=d7e83a2e4c44711aebe76882e6f12981575fe5a3;p=reprap-play.git commitid: Sort out sizes (mostly) (nfc) --- diff --git a/commitid-cube-test.scad b/commitid-cube-test.scad index a5251a4..485816a 100644 --- a/commitid-cube-test.scad +++ b/commitid-cube-test.scad @@ -6,16 +6,14 @@ baseh= 1; sz = 20; -h = 0.4; +h = Commitid_depth(); d = h; module FD () { - scale([2,2,1]) { - translate([0.5,1.5,-d]) + translate([1, 3, -d]) linear_extrude(height= h + d) Commitid_FontDemo(); - } } module TC () { ////toplevel diff --git a/commitid-layering-test.scad b/commitid-layering-test.scad index 1bb9485..5da4bbc 100644 --- a/commitid-layering-test.scad +++ b/commitid-layering-test.scad @@ -4,16 +4,12 @@ include 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); diff --git a/commitid.scad.pl b/commitid.scad.pl index da6341a..973ca0a 100755 --- a/commitid.scad.pl +++ b/commitid.scad.pl @@ -7,18 +7,21 @@ $SIG{__WARN__} = sub { die @_; }; # 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: # @@ -58,6 +61,17 @@ $SIG{__WARN__} = sub { die @_; }; 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 (;;) { @@ -92,8 +106,8 @@ sub parsefont () { } 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 "$_ ?"; @@ -125,7 +139,8 @@ sub parsefont () { 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;