@@ -43,50 +43,45 @@ PathConfigStorage::PathConfigStorage(const SliceDataStorage& storage, const Laye
4343 , support_roof_train(Application::getInstance().current_slice_->scene.extruders[support_roof_extruder_nr])
4444 , support_bottom_train(Application::getInstance().current_slice_->scene.extruders[support_bottom_extruder_nr])
4545 , line_width_factor_per_extruder(PathConfigStorage::getLineWidthFactorPerExtruder(layer_nr))
46- , raft_base_config(
47- GCodePathConfig{ .type = PrintFeatureType::SupportInterface,
48- .line_width = raft_base_train.settings_ .get <coord_t >(" raft_base_line_width" ),
49- .layer_thickness = raft_base_train.settings_ .get <coord_t >(" raft_base_thickness" ),
50- .flow = raft_base_train.settings_ .get <Ratio>(" raft_base_flow" ),
51- .speed_derivatives = SpeedDerivatives{ .speed = raft_base_train.settings_ .get <Velocity>(" raft_base_speed" ),
52- .acceleration = raft_base_train.settings_ .get <Acceleration>(" raft_base_acceleration" ),
53- .jerk = raft_base_train.settings_ .get <Velocity>(" raft_base_jerk" ) } })
54- , raft_interface_config(
55- GCodePathConfig{ .type = PrintFeatureType::Support,
56- .line_width = raft_interface_train.settings_ .get <coord_t >(" raft_interface_line_width" ),
57- .layer_thickness = raft_interface_train.settings_ .get <coord_t >(" raft_interface_thickness" ),
58- .flow = raft_base_train.settings_ .get <Ratio>(" raft_interface_flow" ),
59- .speed_derivatives = SpeedDerivatives{ .speed = raft_interface_train.settings_ .get <Velocity>(" raft_interface_speed" ),
60- .acceleration = raft_interface_train.settings_ .get <Acceleration>(" raft_interface_acceleration" ),
61- .jerk = raft_interface_train.settings_ .get <Velocity>(" raft_interface_jerk" ) } })
62- , raft_surface_config(
63- GCodePathConfig{ .type = PrintFeatureType::SupportInterface,
64- .line_width = raft_surface_train.settings_ .get <coord_t >(" raft_surface_line_width" ),
65- .layer_thickness = raft_surface_train.settings_ .get <coord_t >(" raft_surface_thickness" ),
66- .flow = raft_base_train.settings_ .get <Ratio>(" raft_surface_flow" ),
67- .speed_derivatives = SpeedDerivatives{ .speed = raft_surface_train.settings_ .get <Velocity>(" raft_surface_speed" ),
68- .acceleration = raft_surface_train.settings_ .get <Acceleration>(" raft_surface_acceleration" ),
69- .jerk = raft_surface_train.settings_ .get <Velocity>(" raft_surface_jerk" ) } })
70- , support_roof_config(
71- GCodePathConfig{ .type = PrintFeatureType::SupportInterface,
72- .line_width
73- = static_cast <coord_t >(support_roof_train.settings_ .get <coord_t >(" support_roof_line_width" ) * line_width_factor_per_extruder[support_roof_extruder_nr]),
74- .layer_thickness = layer_thickness,
75- .flow = support_roof_train.settings_ .get <Ratio>(" support_roof_material_flow" )
76- * ((layer_nr == 0 ) ? support_roof_train.settings_ .get <Ratio>(" material_flow_layer_0" ) : Ratio (1.0 )),
77- .speed_derivatives = { .speed = support_roof_train.settings_ .get <Velocity>(" speed_support_roof" ),
78- .acceleration = support_roof_train.settings_ .get <Acceleration>(" acceleration_support_roof" ),
79- .jerk = support_roof_train.settings_ .get <Velocity>(" jerk_support_roof" ) } })
80- , support_bottom_config(
81- GCodePathConfig{ .type = PrintFeatureType::SupportInterface,
82- .line_width = static_cast <coord_t >(
83- support_bottom_train.settings_ .get <coord_t >(" support_bottom_line_width" ) * line_width_factor_per_extruder[support_bottom_extruder_nr]),
84- .layer_thickness = layer_thickness,
85- .flow = support_roof_train.settings_ .get <Ratio>(" support_bottom_material_flow" )
86- * ((layer_nr == 0 ) ? support_roof_train.settings_ .get <Ratio>(" material_flow_layer_0" ) : Ratio (1.0 )),
87- .speed_derivatives = SpeedDerivatives{ .speed = support_bottom_train.settings_ .get <Velocity>(" speed_support_bottom" ),
88- .acceleration = support_bottom_train.settings_ .get <Acceleration>(" acceleration_support_bottom" ),
89- .jerk = support_bottom_train.settings_ .get <Velocity>(" jerk_support_bottom" ) } })
46+ , raft_base_config(GCodePathConfig{ .type = PrintFeatureType::SupportInterface,
47+ .line_width = raft_base_train.settings_ .get <coord_t >(" raft_base_line_width" ),
48+ .layer_thickness = raft_base_train.settings_ .get <coord_t >(" raft_base_thickness" ),
49+ .flow = raft_base_train.settings_ .get <Ratio>(" raft_base_flow" ),
50+ .speed_derivatives = SpeedDerivatives{ .speed = raft_base_train.settings_ .get <Velocity>(" raft_base_speed" ),
51+ .acceleration = raft_base_train.settings_ .get <Acceleration>(" raft_base_acceleration" ),
52+ .jerk = raft_base_train.settings_ .get <Velocity>(" raft_base_jerk" ) } })
53+ , raft_interface_config(GCodePathConfig{ .type = PrintFeatureType::Support,
54+ .line_width = raft_interface_train.settings_ .get <coord_t >(" raft_interface_line_width" ),
55+ .layer_thickness = raft_interface_train.settings_ .get <coord_t >(" raft_interface_thickness" ),
56+ .flow = raft_base_train.settings_ .get <Ratio>(" raft_interface_flow" ),
57+ .speed_derivatives = SpeedDerivatives{ .speed = raft_interface_train.settings_ .get <Velocity>(" raft_interface_speed" ),
58+ .acceleration = raft_interface_train.settings_ .get <Acceleration>(" raft_interface_acceleration" ),
59+ .jerk = raft_interface_train.settings_ .get <Velocity>(" raft_interface_jerk" ) } })
60+ , raft_surface_config(GCodePathConfig{ .type = PrintFeatureType::SupportInterface,
61+ .line_width = raft_surface_train.settings_ .get <coord_t >(" raft_surface_line_width" ),
62+ .layer_thickness = raft_surface_train.settings_ .get <coord_t >(" raft_surface_thickness" ),
63+ .flow = raft_base_train.settings_ .get <Ratio>(" raft_surface_flow" ),
64+ .speed_derivatives = SpeedDerivatives{ .speed = raft_surface_train.settings_ .get <Velocity>(" raft_surface_speed" ),
65+ .acceleration = raft_surface_train.settings_ .get <Acceleration>(" raft_surface_acceleration" ),
66+ .jerk = raft_surface_train.settings_ .get <Velocity>(" raft_surface_jerk" ) } })
67+ , support_roof_config(GCodePathConfig{
68+ .type = PrintFeatureType::SupportInterface,
69+ .line_width = static_cast <coord_t >(support_roof_train.settings_ .get <coord_t >(" support_roof_line_width" ) * line_width_factor_per_extruder[support_roof_extruder_nr]),
70+ .layer_thickness = layer_thickness,
71+ .flow = support_roof_train.settings_ .get <Ratio>(" support_roof_material_flow" )
72+ * ((layer_nr == 0 ) ? support_roof_train.settings_ .get <Ratio>(" material_flow_layer_0" ) : Ratio (1.0 )),
73+ .speed_derivatives = { .speed = support_roof_train.settings_ .get <Velocity>(" speed_support_roof" ),
74+ .acceleration = support_roof_train.settings_ .get <Acceleration>(" acceleration_support_roof" ),
75+ .jerk = support_roof_train.settings_ .get <Velocity>(" jerk_support_roof" ) } })
76+ , support_bottom_config(GCodePathConfig{
77+ .type = PrintFeatureType::SupportInterface,
78+ .line_width = static_cast <coord_t >(support_bottom_train.settings_ .get <coord_t >(" support_bottom_line_width" ) * line_width_factor_per_extruder[support_bottom_extruder_nr]),
79+ .layer_thickness = layer_thickness,
80+ .flow = support_roof_train.settings_ .get <Ratio>(" support_bottom_material_flow" )
81+ * ((layer_nr == 0 ) ? support_roof_train.settings_ .get <Ratio>(" material_flow_layer_0" ) : Ratio (1.0 )),
82+ .speed_derivatives = SpeedDerivatives{ .speed = support_bottom_train.settings_ .get <Velocity>(" speed_support_bottom" ),
83+ .acceleration = support_bottom_train.settings_ .get <Acceleration>(" acceleration_support_bottom" ),
84+ .jerk = support_bottom_train.settings_ .get <Velocity>(" jerk_support_bottom" ) } })
9085{
9186 const size_t extruder_count = Application::getInstance ().current_slice_ ->scene .extruders .size ();
9287 travel_config_per_extruder.reserve (extruder_count);
@@ -96,14 +91,13 @@ PathConfigStorage::PathConfigStorage(const SliceDataStorage& storage, const Laye
9691 for (size_t extruder_nr = 0 ; extruder_nr < extruder_count; extruder_nr++)
9792 {
9893 const ExtruderTrain& train = Application::getInstance ().current_slice_ ->scene .extruders [extruder_nr];
99- travel_config_per_extruder.emplace_back (
100- GCodePathConfig{ .type = PrintFeatureType::MoveCombing,
101- .line_width = 0 ,
102- .layer_thickness = 0 ,
103- .flow = 0.0 ,
104- .speed_derivatives = SpeedDerivatives{ .speed = train.settings_ .get <Velocity>(" speed_travel" ),
105- .acceleration = train.settings_ .get <Acceleration>(" acceleration_travel" ),
106- .jerk = train.settings_ .get <Velocity>(" jerk_travel" ) } });
94+ travel_config_per_extruder.emplace_back (GCodePathConfig{ .type = PrintFeatureType::MoveCombing,
95+ .line_width = 0 ,
96+ .layer_thickness = 0 ,
97+ .flow = 0.0 ,
98+ .speed_derivatives = SpeedDerivatives{ .speed = train.settings_ .get <Velocity>(" speed_travel" ),
99+ .acceleration = train.settings_ .get <Acceleration>(" acceleration_travel" ),
100+ .jerk = train.settings_ .get <Velocity>(" jerk_travel" ) } });
107101 skirt_brim_config_per_extruder.emplace_back (
108102 GCodePathConfig{ .type = PrintFeatureType::SkirtBrim,
109103 .line_width = static_cast <coord_t >(
@@ -117,17 +111,16 @@ PathConfigStorage::PathConfigStorage(const SliceDataStorage& storage, const Laye
117111 .speed_derivatives = SpeedDerivatives{ .speed = train.settings_ .get <Velocity>(" skirt_brim_speed" ),
118112 .acceleration = train.settings_ .get <Acceleration>(" acceleration_skirt_brim" ),
119113 .jerk = train.settings_ .get <Velocity>(" jerk_skirt_brim" ) } });
120- prime_tower_config_per_extruder.emplace_back (
121- GCodePathConfig{
122- .type = PrintFeatureType::PrimeTower,
123- .line_width = static_cast <coord_t >(
124- train.settings_ .get <coord_t >(" prime_tower_line_width" )
125- * ((mesh_group_settings.get <EPlatformAdhesion>(" adhesion_type" ) == EPlatformAdhesion::RAFT) ? 1 .0_r : line_width_factor_per_extruder[extruder_nr])),
126- .layer_thickness = layer_thickness,
127- .flow = train.settings_ .get <Ratio>(" prime_tower_flow" ) * ((layer_nr == 0 ) ? train.settings_ .get <Ratio>(" material_flow_layer_0" ) : Ratio (1.0 )),
128- .speed_derivatives = SpeedDerivatives{ .speed = train.settings_ .get <Velocity>(" speed_prime_tower" ),
129- .acceleration = train.settings_ .get <Acceleration>(" acceleration_prime_tower" ),
130- .jerk = train.settings_ .get <Velocity>(" jerk_prime_tower" ) } });
114+ prime_tower_config_per_extruder.emplace_back (GCodePathConfig{
115+ .type = PrintFeatureType::PrimeTower,
116+ .line_width = static_cast <coord_t >(
117+ train.settings_ .get <coord_t >(" prime_tower_line_width" )
118+ * ((mesh_group_settings.get <EPlatformAdhesion>(" adhesion_type" ) == EPlatformAdhesion::RAFT) ? 1 .0_r : line_width_factor_per_extruder[extruder_nr])),
119+ .layer_thickness = layer_thickness,
120+ .flow = train.settings_ .get <Ratio>(" prime_tower_flow" ) * ((layer_nr == 0 ) ? train.settings_ .get <Ratio>(" material_flow_layer_0" ) : Ratio (1.0 )),
121+ .speed_derivatives = SpeedDerivatives{ .speed = train.settings_ .get <Velocity>(" speed_prime_tower" ),
122+ .acceleration = train.settings_ .get <Acceleration>(" acceleration_prime_tower" ),
123+ .jerk = train.settings_ .get <Velocity>(" jerk_prime_tower" ) } });
131124 }
132125
133126 for (const std::shared_ptr<SliceMeshStorage>& mesh_storage : storage.meshes )
@@ -192,10 +185,9 @@ void PathConfigStorage::handleInitialLayerSpeedup(const SliceDataStorage& storag
192185 global_first_layer_config_per_extruder.reserve (Application::getInstance ().current_slice_ ->scene .extruders .size ());
193186 for (const ExtruderTrain& extruder : Application::getInstance ().current_slice_ ->scene .extruders )
194187 {
195- global_first_layer_config_per_extruder.emplace_back (
196- SpeedDerivatives{ .speed = extruder.settings_ .get <Velocity>(" speed_print_layer_0" ),
197- .acceleration = extruder.settings_ .get <Acceleration>(" acceleration_print_layer_0" ),
198- .jerk = extruder.settings_ .get <Velocity>(" jerk_print_layer_0" ) });
188+ global_first_layer_config_per_extruder.emplace_back (SpeedDerivatives{ .speed = extruder.settings_ .get <Velocity>(" speed_print_layer_0" ),
189+ .acceleration = extruder.settings_ .get <Acceleration>(" acceleration_print_layer_0" ),
190+ .jerk = extruder.settings_ .get <Velocity>(" jerk_print_layer_0" ) });
199191 }
200192
201193 { // support
0 commit comments