X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=manual-gcode-generator;h=ba9a0cdc070b639bd95e49c99841dc5dd88b2345;hp=c9e452ee4c08959d52806f95436497ca65cbacd6;hb=44aebdabf4066bc007d96ed40a233f34c6004ac8;hpb=5fdc3fd6d60f4c345fda8cd777213eced3ecf666 diff --git a/manual-gcode-generator b/manual-gcode-generator index c9e452e..ba9a0cd 100755 --- a/manual-gcode-generator +++ b/manual-gcode-generator @@ -11,7 +11,7 @@ sub readdata () { while (<>) { chomp or die; s/\s+$//; - s/^\!\s*/!/; + s/^\s*\!\s*/!/; $l .= $_; next if $l =~ s/\\$//; @@ -49,6 +49,8 @@ defvar('retractfeedrate',1800); defvar('movefeedrate',7800); defvar('zlift',0.1); defvar('zprint'); +defvar('orgx',0); +defvar('orgy',0); sub float_g ($) { my ($f) = @_; @@ -78,7 +80,7 @@ sub proc ($) { 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 { @@ -86,6 +88,14 @@ sub proc ($) { 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};