deburr fails to get a path on vertical cylindrical surface

Here's the place for discussion related to CAM/CNC and the development of the Path module.
User avatar
freman
Posts: 937
Joined: Tue Nov 27, 2018 10:30 pm

deburr fails to get a path on vertical cylindrical surface

Postby freman » Thu Dec 05, 2019 6:09 am

In attached file I select the curved surface or its top edge. Both fail with deburr tool.
I seem to recall being able to deburr circular holes and a rectangular plane with filleted corners recently.

hover hint for deburr tool: "Creates a deburr path along edges or around faces".

It fails to fullfil the first part of that claim.

selecting clone002.edge23 , circular curved edge :

Code: Select all

Deburr Select Mode
Traceback (most recent call last):
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathUtils.py", line 64, in new_function
    res = function(*args, **kwargs)
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathOp.py", line 518, in execute
    result = self.opExecute(obj) # pylint: disable=assignment-from-no-return
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathDeburr.py", line 108, in opExecute
    wire = PathOpTools.offsetWire(w, base.Shape, offset, True)
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathOpTools.py", line 254, in offsetWire
    debugWire('outside', Part.Wire(outside))
<class 'Part.OCCError'>: BRep_API: command not done
220.559 <App> Document.cpp(3462): Failed to recompute rib#Deburr: BRep_API: command not done
Recompute failed! Please check report view.
selecting clone002.Face8 , circular curved surface ( partial cylinder) :

Code: Select all

Deburr Select Mode
<Exception> makeOffset2D: wires are nonplanar or noncoplanar
Traceback (most recent call last):
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathUtils.py", line 64, in new_function
    res = function(*args, **kwargs)
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathOp.py", line 518, in execute
    result = self.opExecute(obj) # pylint: disable=assignment-from-no-return
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathDeburr.py", line 108, in opExecute
    wire = PathOpTools.offsetWire(w, base.Shape, offset, True)
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathOpTools.py", line 197, in offsetWire
    owire = orientWire(wire.makeOffset2D(offset), True)
<class 'Base.FreeCADError'>: {'sclassname': 'N4Base14CADKernelErrorE', 'sErrMsg': 'makeOffset2D: wires are nonplanar or noncoplanar', 'sfile': '', 'iline': 0, 'sfunction': '', 'swhat': 'makeOffset2D: wires are nonplanar or noncoplanar', 'btranslatable': False, 'breported': True}
397.25 <App> Document.cpp(3462): Failed to recompute rib#Deburr: {'sclassname': 'N4Base14CADKernelErrorE', 'sErrMsg': 'makeOffset2D: wires are nonplanar or noncoplanar', 'sfile': '', 'iline': 0, 'sfunction': '', 'swhat': 'makeOffset2D: wires are nonplanar or noncoplanar', 'btranslatable': False, 'breported': True}
Recompute failed! Please check report view.
OS: Fedora 31 (Thirty One) (LXDE/LXDE)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18821 (Git)
Build type: Release
Branch: master
Hash: 379d04166431517f3eef59c5a55b6e2979562722
Python version: 3.7.5
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United Kingdom (en_GB)
Attachments
rib-deburr.FCStd
(59.17 KiB) Downloaded 5 times
Last edited by freman on Thu Dec 05, 2019 6:35 am, edited 5 times in total.
User avatar
freman
Posts: 937
Joined: Tue Nov 27, 2018 10:30 pm

Re: deburr fails to get a path on vertical cylindrical surface

Postby freman » Thu Dec 05, 2019 6:30 am

As an effort to narrow this down, I made the attached model.

deburr works on inner and outer top edges of full cylindrical model until it is cut in half with the binary intersection.

ie it works only with closed loops of edges.

Code: Select all

Deburr Select Mode
Traceback (most recent call last):
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathUtils.py", line 64, in new_function
    res = function(*args, **kwargs)
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathOp.py", line 518, in execute
    result = self.opExecute(obj) # pylint: disable=assignment-from-no-return
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathDeburr.py", line 108, in opExecute
    wire = PathOpTools.offsetWire(w, base.Shape, offset, True)
  File "/~/freecad-master-build/Mod/Path/PathScripts/PathOpTools.py", line 254, in offsetWire
    debugWire('outside', Part.Wire(outside))
<class 'Part.OCCError'>: BRep_API: command not done
1.64e-06 <App> Document.cpp(3462): Failed to recompute cylinder#Deburr: BRep_API: command not done
Recompute failed! Please check report view.
Free Select

OS: Fedora 31 (Thirty One) (LXDE/LXDE)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18821 (Git)
Build type: Release
Branch: master
Hash: 379d04166431517f3eef59c5a55b6e2979562722
Python version: 3.7.5
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United Kingdom (en_GB)
Attachments
cylinder-deburr.FCStd
(32.49 KiB) Downloaded 6 times