Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FormerLurker/ArcWelderLib.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFormerLurker <hochgebe@gmail.com>2021-07-03 21:42:58 +0300
committerFormerLurker <hochgebe@gmail.com>2021-07-03 21:42:58 +0300
commit9a838679c1ae3cdbfd0a3eedade6bf94ebb79409 (patch)
tree64b56c401ebd429f4f8b30cdef903328f1abc7ed /PyArcWelder
parent18d1e992d3773485d2b7b05ffaec1ea00b16c777 (diff)
Alpha travel move conversion support.
Diffstat (limited to 'PyArcWelder')
-rw-r--r--PyArcWelder/py_arc_welder.cpp2
-rw-r--r--PyArcWelder/py_arc_welder.h5
-rw-r--r--PyArcWelder/py_arc_welder_extension.cpp13
-rw-r--r--PyArcWelder/py_arc_welder_extension.h4
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;