From 9a838679c1ae3cdbfd0a3eedade6bf94ebb79409 Mon Sep 17 00:00:00 2001 From: FormerLurker Date: Sat, 3 Jul 2021 13:42:58 -0500 Subject: Alpha travel move conversion support. --- ArcWelderConsole/ArcWelderConsole.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'ArcWelderConsole') diff --git a/ArcWelderConsole/ArcWelderConsole.cpp b/ArcWelderConsole/ArcWelderConsole.cpp index 691f155..16a6923 100644 --- a/ArcWelderConsole/ArcWelderConsole.cpp +++ b/ArcWelderConsole/ArcWelderConsole.cpp @@ -46,7 +46,8 @@ int main(int argc, char* argv[]) bool g90_g91_influences_extruder; bool hide_progress; bool overwrite_source_file = false; - bool allow_3d_arcs = false; + bool allow_3d_arcs = DEFAULT_ALLOW_3D_ARCS; + bool allow_travel_arcs = DEFAULT_ALLOW_TRAVEL_ARCS; bool allow_dynamic_precision = DEFAULT_ALLOW_DYNAMIC_PRECISION; unsigned char default_xyz_precision = DEFAULT_XYZ_PRECISION; unsigned char default_e_precision = DEFAULT_E_PRECISION; @@ -123,6 +124,12 @@ int main(int argc, char* argv[]) arg_description_stream << "(experimental) - If supplied, 3D arcs will be allowed (supports spiral vase mode). Not all firmware supports this. Default Value: " << DEFAULT_ALLOW_3D_ARCS; TCLAP::SwitchArg allow_3d_arcs_arg("z", "allow-3d-arcs", arg_description_stream.str(), DEFAULT_ALLOW_3D_ARCS); + // -y --allow-travel-arcs + arg_description_stream.clear(); + arg_description_stream.str(""); + arg_description_stream << "(experimental) - If supplied, travel arcs will be allowed. Default Value: " << DEFAULT_ALLOW_TRAVEL_ARCS; + TCLAP::SwitchArg allow_travel_arcs_arg("y", "allow-travel-arcs", arg_description_stream.str(), DEFAULT_ALLOW_TRAVEL_ARCS); + // -d --allow-dynamic-precision arg_description_stream.clear(); arg_description_stream.str(""); @@ -144,7 +151,7 @@ int main(int argc, char* argv[]) // -v --extrusion-rate-variance arg_description_stream.clear(); arg_description_stream.str(""); - arg_description_stream << "The allowed variance in extrusion rate by percent. Default Value: " << DEFAULT_EXTRUSION_RATE_VARIANCE_PERCENT; + arg_description_stream << "(experimental) - The allowed variance in extrusion rate by percent. Default Value: " << DEFAULT_EXTRUSION_RATE_VARIANCE_PERCENT; TCLAP::ValueArg extrusion_rate_variance_percent_arg("v", "extrusion-rate-variance-percent", arg_description_stream.str(), false, DEFAULT_EXTRUSION_RATE_VARIANCE_PERCENT, "double"); @@ -176,6 +183,7 @@ int main(int argc, char* argv[]) cmd.add(min_arc_segments_arg); cmd.add(mm_per_arc_segment_arg); cmd.add(allow_3d_arcs_arg); + cmd.add(allow_travel_arcs_arg); cmd.add(allow_dynamic_precision_arg); cmd.add(default_xyz_precision_arg); cmd.add(default_e_precision_arg); @@ -202,6 +210,7 @@ int main(int argc, char* argv[]) mm_per_arc_segment = mm_per_arc_segment_arg.getValue(); path_tolerance_percent = path_tolerance_percent_arg.getValue(); allow_3d_arcs = allow_3d_arcs_arg.getValue(); + allow_travel_arcs = allow_travel_arcs_arg.getValue(); g90_g91_influences_extruder = g90_arg.getValue(); allow_dynamic_precision = allow_dynamic_precision_arg.getValue(); default_xyz_precision = default_xyz_precision_arg.getValue(); @@ -367,10 +376,11 @@ int main(int argc, char* argv[]) log_messages << "\tMin Arc Segments : " << std::setprecision(0) << min_arc_segments << "\n"; log_messages << "\tMM Per Arc Segment : " << std::setprecision(3) << mm_per_arc_segment << "\n"; log_messages << "\tAllow 3D Arcs : " << (allow_3d_arcs ? "True" : "False") << "\n"; + log_messages << "\tAllow Travel Arcs : " << (allow_travel_arcs ? "True" : "False") << "\n"; log_messages << "\tAllow Dynamic Precision : " << (allow_dynamic_precision ? "True" : "False") << "\n"; log_messages << "\tDefault XYZ Precision : " << std::setprecision(0) << static_cast(default_xyz_precision) << "\n"; log_messages << "\tDefault E Precision : " << std::setprecision(0) << static_cast(default_e_precision) << "\n"; - log_messages << "\tExtrusion Rate Variance % : " << std::setprecision(3) << extrusion_rate_variance_percent << "%\n"; + log_messages << "\tExtrusion Rate Variance % : " << std::setprecision(3) << extrusion_rate_variance_percent*100.0 << "%\n"; log_messages << "\tG90/G91 Influences Extruder : " << (g90_g91_influences_extruder ? "True" : "False") << "\n"; log_messages << "\tLog Level : " << log_level_string << "\n"; log_messages << "\tHide Progress Updates : " << (hide_progress ? "True" : "False"); @@ -382,9 +392,9 @@ int main(int argc, char* argv[]) target_file_path = temp_file_path; } if (!hide_progress) - p_arc_welder = new arc_welder(source_file_path, target_file_path, p_logger, resolution_mm, path_tolerance_percent, max_radius_mm, min_arc_segments, mm_per_arc_segment, g90_g91_influences_extruder, allow_3d_arcs, allow_dynamic_precision, default_xyz_precision, default_e_precision, extrusion_rate_variance_percent, DEFAULT_GCODE_BUFFER_SIZE, on_progress); + p_arc_welder = new arc_welder(source_file_path, target_file_path, p_logger, resolution_mm, path_tolerance_percent, max_radius_mm, min_arc_segments, mm_per_arc_segment, g90_g91_influences_extruder, allow_3d_arcs, allow_travel_arcs, allow_dynamic_precision, default_xyz_precision, default_e_precision, extrusion_rate_variance_percent, DEFAULT_GCODE_BUFFER_SIZE, on_progress); else - p_arc_welder = new arc_welder(source_file_path, target_file_path, p_logger, resolution_mm, path_tolerance_percent, max_radius_mm, min_arc_segments, mm_per_arc_segment, g90_g91_influences_extruder, allow_3d_arcs, allow_dynamic_precision, default_xyz_precision, default_e_precision, extrusion_rate_variance_percent, DEFAULT_GCODE_BUFFER_SIZE, suppress_progress); + p_arc_welder = new arc_welder(source_file_path, target_file_path, p_logger, resolution_mm, path_tolerance_percent, max_radius_mm, min_arc_segments, mm_per_arc_segment, g90_g91_influences_extruder, allow_3d_arcs, allow_travel_arcs, allow_dynamic_precision, default_xyz_precision, default_e_precision, extrusion_rate_variance_percent, DEFAULT_GCODE_BUFFER_SIZE, suppress_progress); arc_welder_results results = p_arc_welder->process(); if (results.success) -- cgit v1.2.3