diff --git a/src/Mod/Path/App/Command.cpp b/src/Mod/Path/App/Command.cpp index e523c349c..d2b185f1a 100644 --- a/src/Mod/Path/App/Command.cpp +++ b/src/Mod/Path/App/Command.cpp @@ -131,9 +131,12 @@ std::string Command::toGCode (void) const std::stringstream str; str.precision(5); str << Name; + char v[60]; for(std::map::const_iterator i = Parameters.begin(); i != Parameters.end(); ++i) { std::string k = i->first; - std::string v = boost::lexical_cast(i->second); + //std::string v = std::to_string(i->second); // only 6 digits + snprintf(v, sizeof(v), "%.9f", i->second); + v[sizeof(v)-1] = '\0'; str << " " << k << v; } return str.str(); diff --git a/src/Mod/Path/PathScripts/PathContour.py b/src/Mod/Path/PathScripts/PathContour.py index 7cdc90cf6..3e33b6a5e 100644 --- a/src/Mod/Path/PathScripts/PathContour.py +++ b/src/Mod/Path/PathScripts/PathContour.py @@ -120,9 +120,15 @@ class ObjectContour: def __setstate__(self, state): return None + def setLabel(self, obj): + if not obj.UserLabel: + obj.Label = obj.Name + " :" + obj.ToolDescription + else: + obj.Label = obj.UserLabel + " :" + obj.ToolDescription + def onChanged(self, obj, prop): if prop == "UserLabel": - obj.Label = obj.UserLabel + " :" + obj.ToolDescription + self.setLabel(obj) def setDepths(proxy, obj): parentJob = PathUtils.findParentJob(obj) @@ -231,10 +237,7 @@ class ObjectContour: obj.ToolNumber = toolLoad.ToolNumber obj.ToolDescription = toolLoad.Name - if obj.UserLabel == "": - obj.Label = obj.Name + " :" + obj.ToolDescription - else: - obj.Label = obj.UserLabel + " :" + obj.ToolDescription + self.setLabel(obj) output += "(" + obj.Label + ")" if not obj.UseComp: diff --git a/src/Mod/Path/PathScripts/PathLoadTool.py b/src/Mod/Path/PathScripts/PathLoadTool.py index 046983da2..d5fd34602 100644 --- a/src/Mod/Path/PathScripts/PathLoadTool.py +++ b/src/Mod/Path/PathScripts/PathLoadTool.py @@ -58,7 +58,6 @@ class LoadTool(): obj.setEditorMode('Placement', mode) def execute(self, obj): - tool = PathUtils.getTool(obj, obj.ToolNumber) if tool is not None: obj.Label = obj.Name + ": " + tool.Name @@ -86,14 +85,12 @@ class LoadTool(): obj.ViewObject.Visibility = True def onChanged(self, obj, prop): - mode = 2 - obj.setEditorMode('Placement', mode) - # if prop == "ToolNumber": - job = PathUtils.findParentJob(obj) - if job is not None: - for g in job.Group: - if not(isinstance(g.Proxy, PathScripts.PathLoadTool.LoadTool)): - g.touch() + if prop == "ToolNumber" and not 'Restore' in obj.State: + job = PathUtils.findParentJob(obj) + if job is not None: + for g in job.Group: + if not(isinstance(g.Proxy, PathScripts.PathLoadTool.LoadTool)): + g.touch() class _ViewProviderLoadTool: