mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 04:31:15 -06:00 
			
		
		
		
	FIX: fix a prime tower issue in timelapse smooth mode
Fix the issue that the first 2 layers of prime tower are not generated when timelapse is set to smooth mode. This issue only happens in single filament printing. Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
This commit is contained in:
		
							parent
							
								
									cd315d0888
								
							
						
					
					
						commit
						1f38d12862
					
				
					 2 changed files with 9 additions and 10 deletions
				
			
		|  | @ -562,6 +562,15 @@ void ToolOrdering::fill_wipe_tower_partitions(const PrintConfig &config, coordf_ | |||
|     for (int i = int(m_layer_tools.size()) - 2; i >= 0; -- i) | ||||
|         m_layer_tools[i].wipe_tower_partitions = std::max(m_layer_tools[i + 1].wipe_tower_partitions, m_layer_tools[i].wipe_tower_partitions); | ||||
| 
 | ||||
|     // if enable_timelapse_print(), update all layer_tools parameters: wipe_tower_partitions
 | ||||
|     if (config.timelapse_type == TimelapseType::tlSmooth) { | ||||
|         for (LayerTools& layer_tools : m_layer_tools) { | ||||
|             if (layer_tools.wipe_tower_partitions == 0) { | ||||
|                 layer_tools.wipe_tower_partitions = 1; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     //FIXME this is a hack to get the ball rolling.
 | ||||
|     for (LayerTools < : m_layer_tools) | ||||
|         lt.has_wipe_tower = (lt.has_object && lt.wipe_tower_partitions > 0) || lt.print_z < object_bottom_z + EPSILON; | ||||
|  |  | |||
|  | @ -1777,16 +1777,6 @@ void Print::_make_wipe_tower() | |||
|     // BBS: priming logic is removed, so don't consider it in tool ordering
 | ||||
|     m_wipe_tower_data.tool_ordering = ToolOrdering(*this, (unsigned int)-1, false); | ||||
| 
 | ||||
|     // if enable_timelapse_print(), update all layer_tools parameters: wipe_tower_partitions
 | ||||
|     if (enable_timelapse_print()) { | ||||
|         std::vector<LayerTools>& layer_tools_array = m_wipe_tower_data.tool_ordering.layer_tools(); | ||||
|         for (LayerTools& layer_tools : layer_tools_array) { | ||||
|             if (layer_tools.wipe_tower_partitions == 0) { | ||||
|                 layer_tools.wipe_tower_partitions = 1; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     if (!m_wipe_tower_data.tool_ordering.has_wipe_tower()) | ||||
|         // Don't generate any wipe tower.
 | ||||
|         return; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 yifan.wu
						yifan.wu