mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Bugfix: skip arc compensation when holes are not round
This commit is contained in:
		
							parent
							
								
									847cf3c5b8
								
							
						
					
					
						commit
						dde71418d4
					
				
					 1 changed files with 3 additions and 1 deletions
				
			
		| 
						 | 
					@ -200,7 +200,9 @@ sub make_perimeters {
 | 
				
			||||||
            my $new_radius = (scale($Slic3r::flow_width) + sqrt((scale($Slic3r::flow_width)**2) + (4*($radius**2)))) / 2;
 | 
					            my $new_radius = (scale($Slic3r::flow_width) + sqrt((scale($Slic3r::flow_width)**2) + (4*($radius**2)))) / 2;
 | 
				
			||||||
            # holes are always turned to contours, so reverse point order before and after
 | 
					            # holes are always turned to contours, so reverse point order before and after
 | 
				
			||||||
            $hole->reverse;
 | 
					            $hole->reverse;
 | 
				
			||||||
            @$hole = map Slic3r::Point->new($_), @{ +($hole->offset(+ ($new_radius - $radius)))[0] };
 | 
					            my @offsetted = $hole->offset(+ ($new_radius - $radius));
 | 
				
			||||||
 | 
					            # skip arc compensation when hole is not round (thus leads to multiple offsets)
 | 
				
			||||||
 | 
					            @$hole = map Slic3r::Point->new($_), @{ $offsetted[0] } if @offsetted == 1;
 | 
				
			||||||
            $hole->reverse;
 | 
					            $hole->reverse;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue