mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 04:31:15 -06:00 
			
		
		
		
	WIP: Initial Fuzzy Skin implementaiton #2010
Based on pull request Experimental fuzzy skin mode #4611 by @etet100 and on CuraEngine implementation of perimeter fuzzyfication void FffPolygonGenerator::processFuzzyWalls(SliceMeshStorage& mesh)
This commit is contained in:
		
							parent
							
								
									d9448c9f2a
								
							
						
					
					
						commit
						4620402ab4
					
				
					 9 changed files with 320 additions and 4 deletions
				
			
		|  | @ -1200,6 +1200,10 @@ boost::any& Choice::get_value() | |||
| 		} | ||||
| 		else if (m_opt_id.compare("ironing_type") == 0) | ||||
| 			m_value = static_cast<IroningType>(ret_enum); | ||||
|         else if (m_opt_id.compare("fuzzy_skin_perimeter_mode") == 0) | ||||
|             m_value = static_cast<FuzzySkinPerimeterMode>(ret_enum); | ||||
|         else if (m_opt_id.compare("fuzzy_skin_shape") == 0) | ||||
|             m_value = static_cast<FuzzySkinShape>(ret_enum); | ||||
| 		else if (m_opt_id.compare("gcode_flavor") == 0) | ||||
| 			m_value = static_cast<GCodeFlavor>(ret_enum); | ||||
| 		else if (m_opt_id.compare("machine_limits_usage") == 0) | ||||
|  |  | |||
|  | @ -182,6 +182,10 @@ void change_opt_value(DynamicPrintConfig& config, const t_config_option_key& opt | |||
| 				config.set_key_value(opt_key, new ConfigOptionEnum<InfillPattern>(boost::any_cast<InfillPattern>(value)));  | ||||
| 			else if (opt_key.compare("ironing_type") == 0) | ||||
| 				config.set_key_value(opt_key, new ConfigOptionEnum<IroningType>(boost::any_cast<IroningType>(value)));  | ||||
| 			else if (opt_key.compare("fuzzy_skin_perimeter_mode") == 0) | ||||
| 				config.set_key_value(opt_key, new ConfigOptionEnum<FuzzySkinPerimeterMode>(boost::any_cast<FuzzySkinPerimeterMode>(value)));  | ||||
| 			else if (opt_key.compare("fuzzy_skin_shape") == 0) | ||||
| 				config.set_key_value(opt_key, new ConfigOptionEnum<FuzzySkinShape>(boost::any_cast<FuzzySkinShape>(value)));  | ||||
| 			else if (opt_key.compare("gcode_flavor") == 0) | ||||
| 				config.set_key_value(opt_key, new ConfigOptionEnum<GCodeFlavor>(boost::any_cast<GCodeFlavor>(value)));  | ||||
| 			else if (opt_key.compare("machine_limits_usage") == 0) | ||||
|  |  | |||
|  | @ -870,6 +870,12 @@ boost::any ConfigOptionsGroup::get_config_value(const DynamicPrintConfig& config | |||
| 		else if (opt_key == "ironing_type") { | ||||
| 			ret = static_cast<int>(config.option<ConfigOptionEnum<IroningType>>(opt_key)->value); | ||||
| 		} | ||||
|         else if (opt_key == "fuzzy_skin_perimeter_mode") { | ||||
|             ret = static_cast<int>(config.option<ConfigOptionEnum<FuzzySkinPerimeterMode>>(opt_key)->value); | ||||
|         } | ||||
|         else if (opt_key == "fuzzy_skin_shape") { | ||||
|             ret = static_cast<int>(config.option<ConfigOptionEnum<FuzzySkinShape>>(opt_key)->value); | ||||
|         } | ||||
| 		else if (opt_key == "gcode_flavor") { | ||||
| 			ret = static_cast<int>(config.option<ConfigOptionEnum<GCodeFlavor>>(opt_key)->value); | ||||
| 		} | ||||
|  |  | |||
|  | @ -1434,6 +1434,18 @@ void TabPrint::build() | |||
|         optgroup->append_single_option_line("seam_position", category_path + "seam-position"); | ||||
|         optgroup->append_single_option_line("external_perimeters_first", category_path + "external-perimeters-first"); | ||||
| 
 | ||||
|         optgroup = page->new_optgroup(L("Fuzzy skin (experimental)")); | ||||
|         Option option = optgroup->get_option("fuzzy_skin_perimeter_mode"); | ||||
|         option.opt.width = 30; | ||||
|         optgroup->append_single_option_line(option); | ||||
| #if 0 | ||||
|         option = optgroup->get_option("fuzzy_skin_shape"); | ||||
|         option.opt.width = 30; | ||||
|         optgroup->append_single_option_line(option); | ||||
| #endif | ||||
|         optgroup->append_single_option_line(optgroup->get_option("fuzzy_skin_thickness")); | ||||
|         optgroup->append_single_option_line(optgroup->get_option("fuzzy_skin_point_dist")); | ||||
| 
 | ||||
|     page = add_options_page(L("Infill"), "infill"); | ||||
|         category_path = "infill_42#"; | ||||
|         optgroup = page->new_optgroup(L("Infill")); | ||||
|  | @ -1597,7 +1609,7 @@ void TabPrint::build() | |||
|         optgroup = page->new_optgroup(L("Output file")); | ||||
|         optgroup->append_single_option_line("gcode_comments"); | ||||
|         optgroup->append_single_option_line("gcode_label_objects"); | ||||
|         Option option = optgroup->get_option("output_filename_format"); | ||||
|         option = optgroup->get_option("output_filename_format"); | ||||
|         option.opt.full_width = true; | ||||
|         optgroup->append_single_option_line(option); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Vojtech Bubnik
						Vojtech Bubnik