while (<>) {
chomp or die;
s/\s+$//;
- s/^\!\s*/!/;
+ s/^\s*\!\s*/!/;
$l .= $_;
next if $l =~ s/\\$//;
defvar('movefeedrate',7800);
defvar('zlift',0.1);
defvar('zprint');
+defvar('orgx',0);
+defvar('orgy',0);
sub float_g ($) {
my ($f) = @_;
die "$pname ?" unless $procs{$pname};
proc($procs{$pname});
} elsif (m/^\!draw\s+/) {
- my @coords = split /\s+/, $';
+ my @coords = split /\s+/, $'; #';
my @undefs = grep { !defined $c{$_} } qw(zprint);
die "@undefs ?" if @undefs;
@coords = map {
m/\,/ or die $!;
[ $`, $', !!$jerk ]; # '];
} @coords;
+ foreach my $co (@coords) {
+ foreach my $xy (qw(0 1)) {
+ my $xyv = $co->[$xy];
+ next unless $xyv =~ s/^\@//;
+ my $orgxy = ($c{orgx},$c{orgy})[$xy];
+ $co->[$xy] = float_g($xyv + $orgxy);
+ }
+ }
my $extrudepos=$c{restart};
pl("G92 E0");
my $zmove=$c{zprint}+$c{zlift};