mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 12:11:15 -06:00 
			
		
		
		
	Fixed regression when using --infill-only-where-needed. Includes regression test. #1721
This commit is contained in:
		
							parent
							
								
									878deb8183
								
							
						
					
					
						commit
						e837183327
					
				
					 2 changed files with 12 additions and 5 deletions
				
			
		|  | @ -556,8 +556,8 @@ sub clip_fill_surfaces { | |||
|     my $overhangs = [];  # arrayref of polygons | ||||
|     for my $layer_id (reverse 0..$#{$self->layers}) { | ||||
|         my $layer = $self->layers->[$layer_id]; | ||||
|         my @layer_internal = (); | ||||
|         my @new_internal = (); | ||||
|         my @layer_internal = ();  # arrayref of Surface objects | ||||
|         my @new_internal = ();    # arrayref of Surface objects | ||||
|          | ||||
|         # clip this layer's internal surfaces to @overhangs | ||||
|         foreach my $layerm (@{$layer->regions}) { | ||||
|  | @ -591,10 +591,10 @@ sub clip_fill_surfaces { | |||
|         if ($layer_id > 0) { | ||||
|             my $solid = diff( | ||||
|                 [ map @$_, @{$layer->slices} ], | ||||
|                 \@layer_internal, | ||||
|                 [ map $_->p, @layer_internal ], | ||||
|             ); | ||||
|             $overhangs = offset($solid, +$additional_margin); | ||||
|             push @$overhangs, @new_internal;  # propagate upper overhangs | ||||
|             push @$overhangs, map $_->p, @new_internal;  # propagate upper overhangs | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  |  | |||
							
								
								
									
										9
									
								
								t/fill.t
									
										
									
									
									
								
							
							
						
						
									
										9
									
								
								t/fill.t
									
										
									
									
									
								
							|  | @ -2,7 +2,7 @@ use Test::More; | |||
| use strict; | ||||
| use warnings; | ||||
| 
 | ||||
| plan tests => 41; | ||||
| plan tests => 42; | ||||
| 
 | ||||
| BEGIN { | ||||
|     use FindBin; | ||||
|  | @ -197,6 +197,13 @@ for my $pattern (qw(rectilinear honeycomb hilbertcurve concentric)) { | |||
|     ok !(defined first { !$convex_hull->contains_point($_) } @infill_points), "infill does not exceed perimeters ($pattern)"; | ||||
| } | ||||
| 
 | ||||
| { | ||||
|     my $config = Slic3r::Config->new_from_defaults; | ||||
|     $config->set('infill_only_where_needed', 1); | ||||
|     my $print = Slic3r::Test::init_print('20mm_cube', config => $config); | ||||
|     ok my $gcode = Slic3r::Test::gcode($print), "successful G-code generation when infill_only_where_needed is set"; | ||||
| } | ||||
| 
 | ||||
| { | ||||
|     my $config = Slic3r::Config->new_from_defaults; | ||||
|     $config->set('skirts', 0); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Alessandro Ranellucci
						Alessandro Ranellucci