Daniel Wood
034d9ec21a
use toolbits with tooltip calculation
2021-05-04 15:56:45 +01:00
mlampert
254505e83c
Merge branch 'master' into feature/job-tool-group
2021-01-03 18:12:41 -08:00
Markus Lampert
c077672add
Check for CuttingEdgeAngle existance before using it for drill tip calculation.
2021-01-01 20:53:28 -08:00
Markus Lampert
8e6f964e0d
Renamed ToolTable group to Tools in order to (not) set expectations.
2020-12-31 18:40:23 -08:00
Markus Lampert
121152deb9
Use job.ToolTable.Group instead of job.ToolController.
2020-12-31 15:38:18 -08:00
Markus Lampert
9684d820df
Replaced print messages with PathLog statements
2020-12-15 20:05:42 -08:00
markus
d5beaf806d
Filter all TCs for suitability for a given op.
2020-12-03 18:15:36 -08:00
luz paz
b75cd3dd52
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
c8712b83f8
more pythonic params (thanks plaes)
2020-10-16 13:49:47 -05:00
sliptonic
015910448a
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
5c6de6dd14
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
6b3815a766
[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
070099daa4
fix some typos in recent lazyloader implementation
2020-04-15 12:32:48 -05:00
Eric Trombly
7fe094ac02
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
180805c55e
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
81f809cfcf
Removed dead code for debugging shortcut warnings.
2020-01-03 23:13:55 -08:00
mlampert
ee937d52b1
Merge branch 'master' into feature/tool-bit-poc
2019-12-03 18:56:16 -08:00
luz.paz
379d041664
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
296058d6dd
Added ToolController creation
2019-11-28 17:31:35 -08:00
Markus Lampert
221893eeeb
Fixed PathHelix assert statements
2019-08-22 18:02:49 +02:00
Markus Lampert
f34ac89266
switched to pylint3 and fixed additional warnings
2019-07-01 15:32:54 -07:00
Markus Lampert
4e46bbf811
Fixed pylint warnings for PathUtil family
2019-07-01 15:32:54 -07:00
sliptonic
b55c210f39
remove unnecessary imports. normalize debug log levels
2019-06-21 13:01:01 -05:00
sliptonic
4a984de243
Path: normalize proxy stratements
...
remove bare exceptions
2019-06-21 13:01:01 -05:00
brad
4cbdf78836
Path: lgtm Cleanup
2019-06-10 10:50:06 -05:00
markus
fb62e3940e
Moved FreeCADGui dependency from PathUtils into PathUtilsGui
2019-06-02 11:03:14 -07:00
Markus Lampert
e680c60def
Fixed error in hole sorting algorithm when some locations have identical distances
2019-02-04 22:20:03 -02:00
wmayer
2c3268f9f6
Py3: use feature detection instead of version detection
2019-01-05 13:11:04 +01:00
Markus Lampert
6e0a5580b8
Fixed Queue import for py3
2019-01-05 12:30:41 +01:00
markus
293ac55262
Fixed path model double click
2018-10-03 16:49:19 +02:00
Markus Lampert
82b98588aa
Fixed support for objects in the tree without a Proxy
2018-10-02 09:42:52 -03:00
Markus Lampert
cc7abc59fc
PathUtil fixes for adding ops with preselection.
2018-09-11 07:24:39 +02:00
Markus Lampert
524380cd12
Fixed unit tests to support multiple base models.
2018-09-11 07:24:31 +02:00
Markus Lampert
a50727b596
Fixed Cancel of job selection - abort op creation.
2018-08-10 10:43:33 -03:00
Markus Lampert
cf14ebf7ea
Use the job that matches the current selection - iff only one job fits that description.
2018-08-10 10:43:33 -03:00
Markus Lampert
b24e95b7c1
Removed PathGeom class and moved functionality into module interface.
2018-06-19 21:38:20 -07:00
sliptonic
47d6b10b7c
Path: remove ToolLengthOffset
...
Obsolete and broken supplemental command
fixes #3382
2018-03-22 19:43:48 +01:00
Markus Lampert
2990e1e7b0
Changed Cutting Edge Angle to be the full bit angle and renamed label.
2018-02-05 20:22:08 -08:00
Markus Lampert
a4fe22062d
Fixed template-export menu activation.
2018-01-22 19:40:50 +01:00
Markus Lampert
5f7faa25af
Fixed hole detection for bottom faces.
2017-12-04 01:39:25 -08:00
Markus Lampert
25e92ca25b
Added circular faces to drillable targets.
2017-12-03 15:08:20 -08:00
Markus Lampert
a84a0ce431
Abort OP creation transaction if TC selection is aborted with cancel, #3274
2017-11-28 12:39:02 -02:00
Itai Nahshon
d2f50247ff
Some fixes related to milling heights and depths.
...
Fix for large "Step Down".
Correctly handling a part that was moved down the Z axis.
Handle "Finish Depth".
2017-10-08 22:52:10 +02:00
Markus Lampert
4c0f25b174
Fixed refactoring issue.
2017-09-28 11:27:47 -07:00
Markus Lampert
c8ef78af37
Dealing with undefined curves - without trampling all other changes.
2017-09-28 11:27:47 -07:00
Markus Lampert
0ea981eaeb
Revert "Dealing with undefined curves in drillability checking."
...
This reverts commit bba1c4871db42bed98992bd1dca764ecd42e98b7.
2017-09-28 11:27:47 -07:00
Markus Lampert
8207683c66
Dealing with undefined curves in drillability checking.
2017-09-28 11:27:46 -07:00
Markus Lampert
aa7d6e1bab
Allow passing in additional face names to horizontalFaceLoop to further constrain the solution.
2017-09-28 11:27:46 -07:00
Markus Lampert
e0ef4feab6
Ensure all edges of wires for horizontalEdgeLoop are also horizontal - required for rejecting solutions that include part of cylinder walls.
2017-09-28 11:27:46 -07:00
Markus Lampert
55766140c4
Added loop detection for vertical faces and enhanced usability of loop select command accordingly.
2017-09-28 11:27:46 -07:00