mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 12:41:20 -06:00 
			
		
		
		
	Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer
This commit is contained in:
		
						commit
						832dada931
					
				
					 2 changed files with 13 additions and 12 deletions
				
			
		|  | @ -2811,17 +2811,16 @@ std::string GCode::set_extruder(unsigned int extruder_id, double print_z) | ||||||
|         gcode += m_ooze_prevention.pre_toolchange(*this); |         gcode += m_ooze_prevention.pre_toolchange(*this); | ||||||
| 
 | 
 | ||||||
|     const std::string& toolchange_gcode = m_config.toolchange_gcode.value; |     const std::string& toolchange_gcode = m_config.toolchange_gcode.value; | ||||||
|     if (m_writer.extruder() != nullptr) { | 
 | ||||||
|         // Process the custom toolchange_gcode. If it is empty, insert just a Tn command.
 |     // Process the custom toolchange_gcode. If it is empty, insert just a Tn command.
 | ||||||
|         if (!toolchange_gcode.empty()) { |     if (!toolchange_gcode.empty()) { | ||||||
|             DynamicConfig config; |         DynamicConfig config; | ||||||
|             config.set_key_value("previous_extruder", new ConfigOptionInt((int)m_writer.extruder()->id())); |         config.set_key_value("previous_extruder", new ConfigOptionInt((int)(m_writer.extruder() != nullptr ? m_writer.extruder()->id() : -1 ))); | ||||||
|             config.set_key_value("next_extruder",     new ConfigOptionInt((int)extruder_id)); |         config.set_key_value("next_extruder",     new ConfigOptionInt((int)extruder_id)); | ||||||
|             config.set_key_value("layer_num",         new ConfigOptionInt(m_layer_index)); |         config.set_key_value("layer_num",         new ConfigOptionInt(m_layer_index)); | ||||||
|             config.set_key_value("layer_z",           new ConfigOptionFloat(print_z)); |         config.set_key_value("layer_z",           new ConfigOptionFloat(print_z)); | ||||||
|             gcode += placeholder_parser_process("toolchange_gcode", toolchange_gcode, extruder_id, &config); |         gcode += placeholder_parser_process("toolchange_gcode", toolchange_gcode, extruder_id, &config); | ||||||
|             check_add_eol(gcode); |         check_add_eol(gcode); | ||||||
|         } |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     // We inform the writer about what is happening, but we may not use the resulting gcode.
 |     // We inform the writer about what is happening, but we may not use the resulting gcode.
 | ||||||
|  |  | ||||||
|  | @ -25,7 +25,9 @@ use Slic3r::Test; | ||||||
|     $config->set('extruder_offset', [ [0,0], [20,0], [0,20], [20,20] ]); |     $config->set('extruder_offset', [ [0,0], [20,0], [0,20], [20,20] ]); | ||||||
|     $config->set('temperature', [200, 180, 170, 160]); |     $config->set('temperature', [200, 180, 170, 160]); | ||||||
|     $config->set('first_layer_temperature', [206, 186, 166, 156]); |     $config->set('first_layer_temperature', [206, 186, 166, 156]); | ||||||
|     $config->set('toolchange_gcode', ';toolchange');  # test that it doesn't crash when this is supplied |     $config->set('toolchange_gcode', 'T[next_extruder] ;toolchange');  # test that it doesn't crash when this is supplied | ||||||
|  |     # Since July 2019, PrusaSlicer only emits automatic Tn command in case that the toolchange_gcode is empty | ||||||
|  |     # The "T[next_extruder]" is therefore needed in this test. | ||||||
|      |      | ||||||
|     my $print = Slic3r::Test::init_print('20mm_cube', config => $config); |     my $print = Slic3r::Test::init_print('20mm_cube', config => $config); | ||||||
|      |      | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Enrico Turri
						Enrico Turri