mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 12:11:15 -06:00 
			
		
		
		
	bed temperature handling. TODO: gui elements
This commit is contained in:
		
							parent
							
								
									8566b4f910
								
							
						
					
					
						commit
						35e7877437
					
				
					 2 changed files with 23 additions and 0 deletions
				
			
		|  | @ -96,12 +96,23 @@ our $Options = { | ||||||
|         cli     => 'first-layer-temperature=i', |         cli     => 'first-layer-temperature=i', | ||||||
|         type    => 'i', |         type    => 'i', | ||||||
|     }, |     }, | ||||||
|  |     'first_layer_bed_temperature' => { | ||||||
|  |         label   => 'First layer bed temperature (°C)', | ||||||
|  |         cli     => 'first-layer-bed-temperature=i', | ||||||
|  |         type    => 'i', | ||||||
|  |     }, | ||||||
|     'temperature' => { |     'temperature' => { | ||||||
|         label   => 'Temperature (°C)', |         label   => 'Temperature (°C)', | ||||||
|         cli     => 'temperature=i', |         cli     => 'temperature=i', | ||||||
|         type    => 'i', |         type    => 'i', | ||||||
|         important => 1, |         important => 1, | ||||||
|     }, |     }, | ||||||
|  |     'bed_temperature' => { | ||||||
|  |         label   => 'Bed Temperature (°C)', | ||||||
|  |         cli     => 'bed-temperature=i', | ||||||
|  |         type    => 'i', | ||||||
|  |         important => 1, | ||||||
|  |     }, | ||||||
|      |      | ||||||
|     # speed options |     # speed options | ||||||
|     'travel_speed' => { |     'travel_speed' => { | ||||||
|  | @ -597,6 +608,12 @@ sub validate { | ||||||
|     die "Invalid value for --bridge-flow-ratio\n" |     die "Invalid value for --bridge-flow-ratio\n" | ||||||
|         if $Slic3r::bridge_flow_ratio <= 0; |         if $Slic3r::bridge_flow_ratio <= 0; | ||||||
| 
 | 
 | ||||||
|  | 	# --first_layer_temperature | ||||||
|  | 	$Slic3r::first_layer_temperature = $Slic3r::temperature unless $Slic3r::first_layer_temperature; | ||||||
|  | 
 | ||||||
|  | 	# --first-layer-bed-temperature | ||||||
|  | 	$Slic3r::first_layer_bed_temperature = $Slic3r::bed_temperature unless $Slic3r::first_layer_bed_temperature; | ||||||
|  |      | ||||||
|     # G-code flavors |     # G-code flavors | ||||||
|     $Slic3r::extrusion_axis = 'A' if $Slic3r::gcode_flavor eq 'mach3'; |     $Slic3r::extrusion_axis = 'A' if $Slic3r::gcode_flavor eq 'mach3'; | ||||||
|      |      | ||||||
|  |  | ||||||
|  | @ -586,6 +586,9 @@ sub export_gcode { | ||||||
|     print  $fh "\n"; |     print  $fh "\n"; | ||||||
|      |      | ||||||
|     # write start commands to file |     # write start commands to file | ||||||
|  |     printf $fh "M190 %s%d ; set bed temperature\n", | ||||||
|  |         ($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::first_layer_bed_temperature | ||||||
|  |             if $Slic3r::first_layer_bed_temperature && $Slic3r::start_gcode !~ /M190/i; | ||||||
|     printf $fh "M104 %s%d ; set temperature\n", |     printf $fh "M104 %s%d ; set temperature\n", | ||||||
|         ($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::first_layer_temperature |         ($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::first_layer_temperature | ||||||
|             if $Slic3r::first_layer_temperature; |             if $Slic3r::first_layer_temperature; | ||||||
|  | @ -626,6 +629,9 @@ sub export_gcode { | ||||||
|             printf $fh "M104 %s%d ; set temperature\n", |             printf $fh "M104 %s%d ; set temperature\n", | ||||||
|                 ($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::temperature |                 ($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::temperature | ||||||
|                 if $Slic3r::temperature && $Slic3r::temperature != $Slic3r::first_layer_temperature; |                 if $Slic3r::temperature && $Slic3r::temperature != $Slic3r::first_layer_temperature; | ||||||
|  |             printf $fh "M140 %s%d ; set bed temperature\n", | ||||||
|  |                 ($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::bed_temperature | ||||||
|  |                 if $Slic3r::bed_temperature && $Slic3r::bed_temperature != $Slic3r::first_layer_bed_temperature; | ||||||
|         } |         } | ||||||
|          |          | ||||||
|         # go to layer |         # go to layer | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Michael Moon
						Michael Moon