mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 12:11:15 -06:00 
			
		
		
		
	Fix regression causing wrong number of solid shells when using fill_density = 0 (includes regression test)
This commit is contained in:
		
							parent
							
								
									e59ed7efb7
								
							
						
					
					
						commit
						0da71dbdfa
					
				
					 4 changed files with 58 additions and 5 deletions
				
			
		|  | @ -396,11 +396,6 @@ sub prepare_fill_surfaces { | |||
|     if ($Slic3r::Config->bottom_solid_layers == 0) { | ||||
|         $_->surface_type(S_TYPE_INTERNAL) for grep $_->surface_type == S_TYPE_BOTTOM, @{$self->fill_surfaces}; | ||||
|     } | ||||
|      | ||||
|     # if hollow object is requested, remove internal surfaces | ||||
|     if ($Slic3r::Config->fill_density == 0) { | ||||
|         @{$self->fill_surfaces} = grep $_->surface_type != S_TYPE_INTERNAL, @{$self->fill_surfaces}; | ||||
|     } | ||||
|          | ||||
|     # turn too small internal regions into solid regions | ||||
|     { | ||||
|  |  | |||
|  | @ -410,6 +410,15 @@ sub discover_horizontal_shells { | |||
|              | ||||
|             @{$layerm->fill_surfaces} = grep $_->expolygon->area > $area_threshold, @{$layerm->fill_surfaces}; | ||||
|         } | ||||
|          | ||||
|         for (my $i = 0; $i < $self->layer_count; $i++) { | ||||
|             my $layerm = $self->layers->[$i]->regions->[$region_id]; | ||||
|              | ||||
|             # if hollow object is requested, remove internal surfaces | ||||
|             if ($Slic3r::Config->fill_density == 0) { | ||||
|                 @{$layerm->fill_surfaces} = grep $_->surface_type != S_TYPE_INTERNAL, @{$layerm->fill_surfaces}; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Alessandro Ranellucci
						Alessandro Ranellucci