sub argl_actual (@) { join ',', map { m/=/ ? $` : $_ } @_; }
sub gen3dmodule ($@) {
- my ($modb,@argl) = (@_);
+ my ($modb,$size,@argl) = (@_);
+ $size ||= "${modb}_sz()";
+ p " // size = $size\n";
p "module ${modb}(".argl_formal(@argl)."){\n";
p " d=Commitid_depth();\n";
p " translate([0,0,-d]) linear_extrude(height=d*2)\n";
}
p " }\n";
p "}\n";
- gen3dmodule($modb);
+ gen3dmodule($modb,'');
p sprintf "function %s_sz() = Commitid__scale() * 0.1 * [ %d, %d ];\n",
$modb, 2 * ($cols * 4 - 1), 2 * (@lines * 6 - 1);
p $_ foreach @do;
p "}\n";
- gen3dmodule "Commitid_$modname", @argl;
+ gen3dmodule "Commitid_$modname", 'max_sz', @argl;
}
sub do_git_best () {