Commit Graph

147 Commits

Author SHA1 Message Date
sliptonic
837589ef4f Merge pull request #6612 from mlampert/bugfix/bag-of-minor-isssues
PATH: Bugfix/bag of minor isssues
2022-03-21 08:34:23 -05:00
Markus Lampert
115fbd68bb Blanket black formatting for Path python files 2022-03-20 13:23:48 -07:00
Russell Johnson
50117a57de Path: Simplify changes per developer conversations
Also update TestPathDepthParams.py to reflect simplification of changes.
Remove some comments.
Employ `sorted()` function per MLampert suggestion
2022-03-20 14:25:17 -05:00
sliptonic
cf64b06c89 simpler way to filter roughly equal depth values 2022-03-20 14:25:16 -05:00
Russell Johnson
abdb4eea86 Path: Fix roughly equal depth entries
Add code block to remove first of any two consecutive, roughly equal depth values (twin values).

Add two unit tests to support new code block and use cases.
2022-03-20 14:25:14 -05:00
Markus Lampert
37095fbf78 Consistent black formatting of all Path python files 2022-02-28 21:06:16 -08:00
Markus Lampert
122fd49b37 Remove pylint annotations and script 2022-02-28 21:02:45 -08:00
markus
c738f98d1e Gracefully handle op creation abort when no TC is available or selected. 2022-02-15 13:44:13 -08:00
sliptonic
d970540db7 Remove unnecessary third argument from translate() calls 2022-01-31 14:27:11 -06:00
sliptonic
e0a59129cf cleanup imports
Remove py2 test for Queue.
2022-01-16 13:16:23 -06:00
sliptonic
d21b1921aa Remove deprecated code 2022-01-16 13:06:33 -06:00
sliptonic
d121e27694 rename function.
'job' has a meaning in Path.  sort_jobs doesn't sort jobs, it sorts hole locations.
2022-01-16 12:57:49 -06:00
sliptonic
ad296ee060 Refactor filter arcs.
Slightly more readable.  Avoids error with missing variable.
2022-01-16 12:39:39 -06:00
sliptonic
18582ff9af Make CircularHoleBase use drillableLib
debugs

remove deprecated PathUtils.isDrillable

drillableLib cmake

make PathProfile use new drillableLib
2022-01-15 15:34:17 -06:00
sliptonic
d0d15f956f Translation cleanup PathUtils/PathUtil 2022-01-03 10:48:39 -06:00
sliptonic
0fae42230c black reformat
black reformat for PathCommands

Black reform PathCopy

Black reform PathComment

Black reformat PathCustom/gui

Black reformat PathUtil/PathUtils

Black reformat PathHop

Black reformat PathGeom

Black reformat

Black reformat

Black reformat

Black reformat

Black reformat

black reformat

Black reformat

black
2022-01-03 10:48:39 -06:00
sliptonic
03f05b5ef9 make sure depthparams handles negative steps and finish step correctly
revised test
2021-11-26 13:27:44 -06:00
Daniel Wood
aaa5a81e45 use toolbits with tooltip calculation 2021-05-04 15:56:45 +01:00
mlampert
6b7af226c7 Merge branch 'master' into feature/job-tool-group 2021-01-03 18:12:41 -08:00
Markus Lampert
779275439b Check for CuttingEdgeAngle existance before using it for drill tip calculation. 2021-01-01 20:53:28 -08:00
Markus Lampert
05c910c536 Renamed ToolTable group to Tools in order to (not) set expectations. 2020-12-31 18:40:23 -08:00
Markus Lampert
2f73055825 Use job.ToolTable.Group instead of job.ToolController. 2020-12-31 15:38:18 -08:00
Markus Lampert
69e9639a9e Replaced print messages with PathLog statements 2020-12-15 20:05:42 -08:00
markus
beb4f2e011 Filter all TCs for suitability for a given op. 2020-12-03 18:15:36 -08:00
luz paz
60c055e62d Path: Fix header uniformity and remove trailing whitespace
This PR fixes header uniformity across all Path files. It also removes all trailing whitespace.
2020-11-05 19:57:21 +01:00
sliptonic
eb5c26c664 more pythonic params (thanks plaes) 2020-10-16 13:49:47 -05:00
sliptonic
04b54c4f6d add RtoIJ function to PathUtils. fixes #2606
function is unused at this time.  It should be used by preprocessor scripts like gcode_pre to
convert radius mode arcs to IJ mode.
2020-10-16 11:02:29 -05:00
Gabriel Wicke
670f3b6098 Path: Area based unified projection implementation
Generalize the `extractFaceOffset` method to `getOffsetArea`, which can
handle both face offsetting and projection. Another difference is that
the new method exposes Area's ability to preserve internal holes,
defaulting to preserving. The method is moved to the PathUtils module,
reflecting its generality and fairly wide used across Path.

This method is then used to provide a drop-in alternative to
`FindUnifiedRegions` via a small wrapper in PathSurfaceSupport. The Area
implementation is generally quick, but can fail (throw) in some cases,
so the wrapper is trying the Area method as an optimization first, and
falls back to the full `FindUnifiedRegions` logic if that fails.
2020-07-21 18:34:09 -07:00
Gabriel Wicke
a5bf29269b [path] Implement Ramer-Douglas-Peucker line simplification
Implement an iterative version of the Ramer-Douglas-Peucker line
simplification algorithm
(https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm),
which reduces line complexity to a limited linear deviation from the
original polyline. The ability to reason about linear deflection is the
key improvement over the previous linear implementation.

Worst case complexity is O(n^2), but expected complexity for typical
cases is O(n log n). A potentially faster alternative would be to call
out to libclipper, treating the line as a closed polygon. However, in
practice, performance of this implementation seems good enough. A
complex 3d surface operation optimizes in a few seconds, and reduces
output gcode size from about 220MB with the previous implementation to
10MB.
2020-06-17 20:10:18 -07:00
Eric Trombly
08fc5556d5 fix some typos in recent lazyloader implementation 2020-04-15 12:32:48 -05:00
Eric Trombly
24e681c63b add lazyloader support
lazy_loader is copied to Ext now, modified external imports to lazy_load

add a few more imports to be lazy loaded, think the install path is correct now

[TD]"<" symbol embedded in html

revert changes to path modules for testing

use lazyloader in PathAreaOp.py

add back in deferred loading

temp change to print error message in tests

temp change to print error message in tests

add _init__.py to lazy_loader

make install in CMakeLists.txt one line
2020-04-13 21:14:34 -05:00
luz.paz
ebe194a9e9 Fix typos
Found via  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-03-06 14:50:35 +01:00
Markus Lampert
81bbb0066d Removed dead code for debugging shortcut warnings. 2020-01-03 23:13:55 -08:00
mlampert
4b9e145fc0 Merge branch 'master' into feature/tool-bit-poc 2019-12-03 18:56:16 -08:00
luz.paz
ea0868a433 Fix typos and some trailing whitespace
Found via:  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,currenty,dof,doubleclick,dum,eiter,elemente,feld,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2019-12-03 12:22:59 +01:00
Markus Lampert
a5d1203980 Added ToolController creation 2019-11-28 17:31:35 -08:00
Markus Lampert
f0602457d7 Fixed PathHelix assert statements 2019-08-22 18:02:49 +02:00
Markus Lampert
6410393092 switched to pylint3 and fixed additional warnings 2019-07-01 15:32:54 -07:00
Markus Lampert
b094ce7370 Fixed pylint warnings for PathUtil family 2019-07-01 15:32:54 -07:00
sliptonic
617c619d2f remove unnecessary imports. normalize debug log levels 2019-06-21 13:01:01 -05:00
sliptonic
c8e945a3ab Path: normalize proxy stratements
remove bare exceptions
2019-06-21 13:01:01 -05:00
brad
8e372108b5 Path: lgtm Cleanup 2019-06-10 10:50:06 -05:00
markus
30f0a861e2 Moved FreeCADGui dependency from PathUtils into PathUtilsGui 2019-06-02 11:03:14 -07:00
Markus Lampert
40886d7d1f Fixed error in hole sorting algorithm when some locations have identical distances 2019-02-04 22:20:03 -02:00
wmayer
e3d4cbeb3d Py3: use feature detection instead of version detection 2019-01-05 13:11:04 +01:00
Markus Lampert
c3e413340f Fixed Queue import for py3 2019-01-05 12:30:41 +01:00
markus
cbd7f3e3fa Fixed path model double click 2018-10-03 16:49:19 +02:00
Markus Lampert
bc72303d66 Fixed support for objects in the tree without a Proxy 2018-10-02 09:42:52 -03:00
Markus Lampert
b3d99a129a PathUtil fixes for adding ops with preselection. 2018-09-11 07:24:39 +02:00
Markus Lampert
256d42e2de Fixed unit tests to support multiple base models. 2018-09-11 07:24:31 +02:00