mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	Infill purging - added fifth extruder into default setttings, cosmetic changes
This commit is contained in:
		
							parent
							
								
									92d36df903
								
							
						
					
					
						commit
						bb80774e74
					
				
					 4 changed files with 8 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -1334,8 +1334,11 @@ void GCode::process_layer(
 | 
			
		|||
        if (objects_by_extruder_it == by_extruder.end())
 | 
			
		||||
            continue;
 | 
			
		||||
 | 
			
		||||
        // We are almost ready to print. However, we must go through all the object twice and only print the overridden extrusions first (infill/perimeter wiping feature):
 | 
			
		||||
        // We are almost ready to print. However, we must go through all the objects twice to print the the overridden extrusions first (infill/perimeter wiping feature):
 | 
			
		||||
        for (int print_wipe_extrusions=layer_tools.wiping_extrusions.is_anything_overridden(); print_wipe_extrusions>=0; --print_wipe_extrusions) {
 | 
			
		||||
            if (print_wipe_extrusions == 0)
 | 
			
		||||
                gcode+="; PURGING FINISHED\n";
 | 
			
		||||
 | 
			
		||||
            for (ObjectByExtruder &object_by_extruder : objects_by_extruder_it->second) {
 | 
			
		||||
                const size_t       layer_id     = &object_by_extruder - objects_by_extruder_it->second.data();
 | 
			
		||||
                const PrintObject *print_object = layers[layer_id].object();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -427,8 +427,6 @@ float WipingExtrusions::mark_wiping_extrusions(const Print& print, const LayerTo
 | 
			
		|||
    if (print.config.filament_soluble.get_at(new_extruder))
 | 
			
		||||
        return volume_to_wipe;      // Soluble filament cannot be wiped in a random infill
 | 
			
		||||
 | 
			
		||||
    bool is_last_nonsoluble = ((int)new_extruder == last_nonsoluble_extruder_on_layer(print.config, layer_tools));
 | 
			
		||||
 | 
			
		||||
    // we will sort objects so that dedicated for wiping are at the beginning:
 | 
			
		||||
    PrintObjectPtrs object_list = print.objects;
 | 
			
		||||
    std::sort(object_list.begin(), object_list.end(), [](const PrintObject* a, const PrintObject* b) { return a->config.wipe_into_objects; });
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -344,6 +344,7 @@ PrintConfigDef::PrintConfigDef()
 | 
			
		|||
    def->enum_labels.push_back("2");
 | 
			
		||||
    def->enum_labels.push_back("3");
 | 
			
		||||
    def->enum_labels.push_back("4");
 | 
			
		||||
    def->enum_labels.push_back("5");
 | 
			
		||||
 | 
			
		||||
    def = this->add("extruder_clearance_height", coFloat);
 | 
			
		||||
    def->label = L("Height");
 | 
			
		||||
| 
						 | 
				
			
			@ -1887,7 +1888,7 @@ PrintConfigDef::PrintConfigDef()
 | 
			
		|||
 | 
			
		||||
    def = this->add("wipe_into_infill", coBool);
 | 
			
		||||
    def->category = L("Extruders");
 | 
			
		||||
    def->label = L("Wiping into infill");
 | 
			
		||||
    def->label = L("Purging into infill");
 | 
			
		||||
    def->tooltip = L("Wiping after toolchange will be preferentially done inside infills. "
 | 
			
		||||
                     "This lowers the amount of waste but may result in longer print time "
 | 
			
		||||
                     " due to additional travel moves.");
 | 
			
		||||
| 
						 | 
				
			
			@ -1896,11 +1897,10 @@ PrintConfigDef::PrintConfigDef()
 | 
			
		|||
 | 
			
		||||
    def = this->add("wipe_into_objects", coBool);
 | 
			
		||||
    def->category = L("Extruders");
 | 
			
		||||
    def->label = L("Wiping into objects");
 | 
			
		||||
    def->label = L("Purging into objects");
 | 
			
		||||
    def->tooltip = L("Objects will be used to wipe the nozzle after a toolchange to save material "
 | 
			
		||||
                     "that would otherwise end up in the wipe tower and decrease print time. "
 | 
			
		||||
                     "Colours of the objects will be mixed as a result. (This setting is usually "
 | 
			
		||||
                     "used on per-object basis.)");
 | 
			
		||||
                     "Colours of the objects will be mixed as a result.");
 | 
			
		||||
    def->cli = "wipe-into-objects!";
 | 
			
		||||
    def->default_value = new ConfigOptionBool(false);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -947,8 +947,6 @@ void TabPrint::build()
 | 
			
		|||
		optgroup->append_single_option_line("wipe_tower_width");
 | 
			
		||||
		optgroup->append_single_option_line("wipe_tower_rotation_angle");
 | 
			
		||||
        optgroup->append_single_option_line("wipe_tower_bridging");
 | 
			
		||||
        optgroup->append_single_option_line("wipe_into_infill");
 | 
			
		||||
        optgroup->append_single_option_line("wipe_into_objects");
 | 
			
		||||
 | 
			
		||||
		optgroup = page->new_optgroup(_(L("Advanced")));
 | 
			
		||||
		optgroup->append_single_option_line("interface_shells");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue