diff options
author | FormerLurker <hochgebe@gmail.com> | 2021-07-03 21:42:58 +0300 |
---|---|---|
committer | FormerLurker <hochgebe@gmail.com> | 2021-07-03 21:42:58 +0300 |
commit | 9a838679c1ae3cdbfd0a3eedade6bf94ebb79409 (patch) | |
tree | 64b56c401ebd429f4f8b30cdef903328f1abc7ed /PyArcWelder | |
parent | 18d1e992d3773485d2b7b05ffaec1ea00b16c777 (diff) |
Alpha travel move conversion support.
Diffstat (limited to 'PyArcWelder')
-rw-r--r-- | PyArcWelder/py_arc_welder.cpp | 2 | ||||
-rw-r--r-- | PyArcWelder/py_arc_welder.h | 5 | ||||
-rw-r--r-- | PyArcWelder/py_arc_welder_extension.cpp | 13 | ||||
-rw-r--r-- | PyArcWelder/py_arc_welder_extension.h | 4 |
4 files changed, 21 insertions, 3 deletions
diff --git a/PyArcWelder/py_arc_welder.cpp b/PyArcWelder/py_arc_welder.cpp index f811e6d..7fdf9bd 100644 --- a/PyArcWelder/py_arc_welder.cpp +++ b/PyArcWelder/py_arc_welder.cpp @@ -32,7 +32,7 @@ PyObject* py_arc_welder::build_py_progress(const arc_welder_progress& progress, if (pyMessage == NULL) return NULL; double total_count_reduction_percent = progress.segment_statistics.get_total_count_reduction_percent(); - PyObject* py_progress = Py_BuildValue("{s:d,s:d,s:d,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:f,s:f,s:f,s:f,s:i,s:i,s:f}", + PyObject* py_progress = Py_BuildValue("{s:d,s:d,s:d,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:f,s:f,s:f,s:f,s:i,s:i,s:f}", "percent_complete", progress.percent_complete, //1 "seconds_elapsed", diff --git a/PyArcWelder/py_arc_welder.h b/PyArcWelder/py_arc_welder.h index 6813c34..40a9cab 100644 --- a/PyArcWelder/py_arc_welder.h +++ b/PyArcWelder/py_arc_welder.h @@ -46,6 +46,7 @@ public: double mm_per_arc_segment, bool g90_g91_influences_extruder, bool allow_3d_arcs, + bool allow_travel_arcs, bool allow_dynamic_precision, unsigned char default_xyz_precision, unsigned char default_e_precision, @@ -63,11 +64,13 @@ public: 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, - buffer_size + buffer_size, + NULL ){ guid_ = guid; py_progress_callback_ = py_progress_callback; diff --git a/PyArcWelder/py_arc_welder_extension.cpp b/PyArcWelder/py_arc_welder_extension.cpp index 71c3855..19a2274 100644 --- a/PyArcWelder/py_arc_welder_extension.cpp +++ b/PyArcWelder/py_arc_welder_extension.cpp @@ -206,7 +206,8 @@ extern "C" args.min_arc_segments, args.mm_per_arc_segment, args.g90_g91_influences_extruder, - args.allow_3d_arcs, + args.allow_3d_arcs, + args.allow_travel_arcs, args.allow_dynamic_precision, args.default_xyz_precision, args.default_e_precision, @@ -423,6 +424,16 @@ static bool ParseArgs(PyObject* py_args, py_gcode_arc_args& args, PyObject** py_ } args.allow_3d_arcs = PyLong_AsLong(py_allow_3d_arcs) > 0; + // extract allow_travel_arcs + PyObject* py_allow_travel_arcs = PyDict_GetItemString(py_args, "allow_travel_arcs"); + if (py_allow_travel_arcs == NULL) + { + std::string message = "ParseArgs - Unable to retrieve allow_travel_arcs from the args."; + p_py_logger->log_exception(GCODE_CONVERSION, message); + return false; + } + args.allow_travel_arcs = PyLong_AsLong(py_allow_travel_arcs) > 0; + // Extract G90/G91 influences extruder // g90_influences_extruder PyObject* py_g90_g91_influences_extruder = PyDict_GetItemString(py_args, "g90_g91_influences_extruder"); diff --git a/PyArcWelder/py_arc_welder_extension.h b/PyArcWelder/py_arc_welder_extension.h index 9b979fe..2212748 100644 --- a/PyArcWelder/py_arc_welder_extension.h +++ b/PyArcWelder/py_arc_welder_extension.h @@ -53,6 +53,7 @@ struct py_gcode_arc_args { mm_per_arc_segment = DEFAULT_MM_PER_ARC_SEGMENT; g90_g91_influences_extruder = DEFAULT_G90_G91_INFLUENCES_EXTREUDER; allow_3d_arcs = DEFAULT_ALLOW_3D_ARCS; + allow_travel_arcs = DEFAULT_ALLOW_TRAVEL_ARCS; log_level = 0; } py_gcode_arc_args( @@ -66,6 +67,7 @@ struct py_gcode_arc_args { double mm_per_arc_segment_, bool g90_g91_influences_extruder_, bool allow_3d_arcs_, + bool allow_travel_arcs_, bool allow_dynamic_precision_, unsigned char default_xyz_precision_, unsigned char default_e_precision_, @@ -81,6 +83,7 @@ struct py_gcode_arc_args { min_arc_segments = min_arc_segments_; mm_per_arc_segment = mm_per_arc_segment_; allow_3d_arcs = allow_3d_arcs_; + allow_travel_arcs = allow_travel_arcs_; allow_dynamic_precision = allow_dynamic_precision_; default_xyz_precision = default_xyz_precision_; default_e_precision = default_e_precision_; @@ -94,6 +97,7 @@ struct py_gcode_arc_args { double resolution_mm; double path_tolerance_percent; bool allow_3d_arcs; + bool allow_travel_arcs; bool allow_dynamic_precision; unsigned char default_xyz_precision; unsigned char default_e_precision; |