mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Bugfix: some nearly-thin walls were discarded. #261
This commit is contained in:
		
							parent
							
								
									edbdc5ec55
								
							
						
					
					
						commit
						8ba6405cc9
					
				
					 2 changed files with 6 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -215,8 +215,6 @@ sub medial_axis {
 | 
			
		|||
    }
 | 
			
		||||
    return undef if !@skeleton_lines;
 | 
			
		||||
    
 | 
			
		||||
    return undef if !@skeleton_lines;
 | 
			
		||||
    
 | 
			
		||||
    # now build a single polyline
 | 
			
		||||
    my $polyline = [];
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,11 +132,14 @@ sub is_printable {
 | 
			
		|||
    
 | 
			
		||||
    # try to get an inwards offset
 | 
			
		||||
    # for a distance equal to half of the extrusion width;
 | 
			
		||||
    # if no offset is possible, then polyline is not printable
 | 
			
		||||
    # if no offset is possible, then polyline is not printable.
 | 
			
		||||
    # we use flow_width here because this has to be consistent 
 | 
			
		||||
    # with the thin wall detection in Layer->make_surfaces, 
 | 
			
		||||
    # otherwise we could lose surfaces as that logic wouldn't
 | 
			
		||||
    # detect them and we would be discarding them.
 | 
			
		||||
    my $p = $self->clone;
 | 
			
		||||
    $p->make_counter_clockwise;
 | 
			
		||||
    my $offsets = Math::Clipper::offset([$p], -(scale $Slic3r::flow_spacing / 2), $Slic3r::scaling_factor * 100000, JT_MITER, 2);
 | 
			
		||||
    return @$offsets ? 1 : 0;
 | 
			
		||||
    return $p->offset(scale $Slic3r::flow_width / 2) ? 1 : 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub is_valid {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue