mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Apply G92 E0 after G11. #2201
This commit is contained in:
		
							parent
							
								
									956dd319e0
								
							
						
					
					
						commit
						3920a7e8b6
					
				
					 1 changed files with 6 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -464,10 +464,15 @@ sub retract {
 | 
			
		|||
            # TODO: add regression test
 | 
			
		||||
            $gcode .= $self->G1(undef, undef, $retract->[2] - $retracted, $self->extruder->retract_speed_mm_min, $comment);
 | 
			
		||||
        }
 | 
			
		||||
        $gcode .= $self->reset_e;
 | 
			
		||||
    } elsif ($self->config->use_firmware_retraction) {
 | 
			
		||||
        $gcode .= "G10 ; retract\n";
 | 
			
		||||
    } else {
 | 
			
		||||
        $gcode .= $self->G1(@$retract);
 | 
			
		||||
    
 | 
			
		||||
        # reset extrusion distance during retracts
 | 
			
		||||
        # this makes sure we leave sufficient precision in the firmware
 | 
			
		||||
        $gcode .= $self->reset_e;
 | 
			
		||||
    }
 | 
			
		||||
    if (!$self->lifted) {
 | 
			
		||||
        if (defined $params{move_z} && $self->config->retract_lift->[0] > 0) {
 | 
			
		||||
| 
						 | 
				
			
			@ -482,10 +487,6 @@ sub retract {
 | 
			
		|||
    $self->extruder->set_restart_extra($restart_extra);
 | 
			
		||||
    $self->lifted($self->config->retract_lift->[0]) if $lift;
 | 
			
		||||
    
 | 
			
		||||
    # reset extrusion distance during retracts
 | 
			
		||||
    # this makes sure we leave sufficient precision in the firmware
 | 
			
		||||
    $gcode .= $self->reset_e;
 | 
			
		||||
    
 | 
			
		||||
    $gcode .= "M103 ; extruder off\n" if $self->config->gcode_flavor eq 'makerware';
 | 
			
		||||
    
 | 
			
		||||
    return $gcode;
 | 
			
		||||
| 
						 | 
				
			
			@ -506,6 +507,7 @@ sub unretract {
 | 
			
		|||
    if ($to_unretract) {
 | 
			
		||||
        if ($self->config->use_firmware_retraction) {
 | 
			
		||||
            $gcode .= "G11 ; unretract\n";
 | 
			
		||||
            $gcode .= $self->reset_e;
 | 
			
		||||
        } elsif ($self->config->get_extrusion_axis) {
 | 
			
		||||
            # use G1 instead of G0 because G0 will blend the restart with the previous travel move
 | 
			
		||||
            $gcode .= sprintf "G1 %s%.5f F%.3f",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue