Commit Graph

79 Commits

Author SHA1 Message Date
Russell Johnson 4821cbac54 Path: Fix Face Region with no Base
This fix addresses an incorrect shape variable passed when Boundary Shape is set to Face Region and there is no Base geometry - indicating entire model to be milled.
2022-03-22 18:16:31 -05:00
Russell Johnson ac4c7bb954 Path: Fix self.removalshapes declaration [Bug]
Prior to this fix, the `self.removalshapes` variable is not declared if `obj.Base` does not exist, or is empty.  This moves the declaration up in scope to the method level.
2022-03-12 22:34:03 -06:00
sliptonic 2cbc0b333c translation cleanup 2022-01-24 17:10:13 -06:00
sliptonic 2098054b0d black 2022-01-24 17:10:13 -06:00
Russell Johnson fcd8b8558e Path: Fix Face Region boundary shape usage
This commit removes automatic edge extension for `Face Region` boundary shape.  It applies the `Clear Edges` toggle for `Face Region`.  It applies `Exclude Raised Areas` correctly.  The problem of collision paths for `Clear Edges` with `Exclude Raised Areas` for certain use cases remains and is not fixed with this commit.
2021-09-24 06:39:25 -05:00
Russell Johnson 7ec38a5c3b Path: Remove unused import 2021-09-24 06:39:25 -05:00
Russell Johnson 1fbb7412b7 Path: Add docString and comments for getAllIncludedFaces() method 2021-09-24 06:39:25 -05:00
Russell Johnson 48d10b25b2 Path: LGTM fix
Prompted by LuzPaz in Gitter.im/FreeCAD/Path chatroom
2021-09-24 06:39:25 -05:00
Russell Johnson cfca2a790a Path: Allow parent job assignment
Modifications focus on allowing the creation of operations to include direct provision of parent job.
Path: Remove `useGui` implementation
2021-08-13 19:02:40 -05:00
Russell Johnson 16015f66e3 Path: Remove first-draft rotational code Path
Remove all first-draft rotational-related code from Path workbench to make way for more stable, long-term integration of a rotational indexing capability.
2021-05-27 10:04:31 -05:00
Markus Lampert f5e7d7a6f4 Changed print to debug msg 2020-12-15 20:16:06 -08:00
Russell Johnson 53091320c6 Path: Swap list instantiation per senior devs specifications 2020-12-02 11:34:58 -06:00
Russell Johnson 384541eede Path: Instate obj.removalshape property for debugging purposes 2020-12-02 11:34:58 -06:00
Russell Johnson f869fbf598 Path: Address problem with rounding issue
Translate removal shape down into buffer zone to offset rounding issue.
2020-12-02 11:34:58 -06: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
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
Russell Johnson 9b67e43b12 Path: Fix calculation of OpFinalDepth default value
Remove commented lines.
Modify PathLog.Level assignment for easier readability.
2020-06-27 09:36:14 -05:00
Russell Johnson b77991018b Path: Add new Face Region boundary option.
New option allows access to previously inaccessible faces.
Corrected property label names in UI panel, and added `Face Region` option to boundary shape list.
2020-05-30 20:56:00 -05:00
Russell Johnson 4cd5191073 Path: Extend ClearEdges to Perimeter boundary usage. 2020-05-30 20:56:00 -05:00
Russell Johnson 024d23bf31 Path: Code cleanup
Fix `If ... is True:` clauses.
Remove unnecessary doc variables.
2020-05-30 20:56:00 -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
Russell Johnson 60329f8389 Path: Deleting blank indents 2020-03-26 10:43:32 -05:00
Patrick Felixberger 4234048413 Added ClearEdges in MillFace to GUI 2020-03-09 21:55:23 +01:00
Patrick Felixberger 3ce47af45f Added option to clear edges on PathMillFace
Changed debug level
2020-01-29 21:20:55 +01:00
Markus Lampert 81f809cfcf Removed dead code for debugging shortcut warnings. 2020-01-03 23:13:55 -08:00
Markus Lampert b182d7b169 Fixed some pylint issues and whitelisted some 2019-11-28 17:31:36 -08:00
Markus Lampert cf8c0fadd1 Basic editor and shape update. 2019-11-28 17:31:35 -08:00
Russell Johnson 730efb9da6 Fix: SetupProperties() syntax correction
Job GUI broken due to SetupProperties() syntax error
2019-07-26 11:18:49 -05:00
Russell Johnson 6ddab6e20c MillFace: add feature - exclude raised areas
new feature enabled by name, excludes raised areas inside face, but mills over pockets and holes.

Apply 'ExcludeRaisedAreas' to all BoundaryShapes

Add algorithm to apply 'ExcludeRaisedAreas' to Stock and BoundBox
2019-07-23 04:54:01 -05: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
luz.paz aedb888ae3 Path: source comment typo fixes
Found via `codespell`
2019-05-30 19:57:25 +02:00
Markus Lampert a7f3c5974b Added multi base model support to MillFace. 2018-09-11 07:24:34 +02:00
Markus Lampert 7d8ed6fd70 Operation setting support for all pocket ops. 2018-09-02 00:32:22 -07:00
Markus Lampert ebe76319b8 Added name parameter to operation proxy constructor. 2018-09-02 00:32:22 -07:00
Markus Lampert 070d17e4e4 Add job as parameter to opSetDefaultValues 2018-09-02 00:32:22 -07:00
sliptonic 5ffc4f983e Path: add stock boundary as choice for millface
fixes #3326
2018-02-09 15:58:44 +01:00
sliptonic 07ae0e56c4 Path: Fix MillFace default values
fixes #3324
2018-01-25 18:45:14 -02:00
Markus Lampert eaa7b6f591 Fixed all ops to use Op...Depth in order to not mess with the expressions. 2017-10-22 11:24:58 -07:00
Markus Lampert 88e2b6de9a Reduced logging for pocket ops again. 2017-08-22 10:16:58 -03:00
Markus Lampert ab2e516b35 Refactored pocket and facing to use the same base class; added min travel and keep tool down to the interface - latter one is hidden since it currently doesn't seem to work. 2017-08-22 10:16:58 -03:00
Markus Lampert 9f0ba77a54 Added doc strings to operations. 2017-08-22 10:16:58 -03:00
Markus Lampert a32f527ac5 Added support for baseobject into PathOp, used by almost all ops anyway. 2017-08-22 10:16:58 -03:00
Markus Lampert 0d4bc71a65 Moved base functionality into PathOp and renamed AreaOp interface to areaOp... 2017-08-22 10:16:58 -03:00
Markus Lampert 4e8d0cbea3 Converted MillFace to be based on PathAreaop. 2017-08-22 10:16:57 -03:00
sliptonic 48337e03c1 Path: fix #3048 Visibility on recompute is now preserved 2017-07-10 19:17:41 -03:00
sliptonic e8b93ef656 Path: cleanup start points
Make sure we're storing path parms for debugging
2017-07-07 16:42:06 -05:00
sliptonic 3093c4cd1b re-arrange TestPathPost setup to simplify testing muliple posts 2017-07-07 16:42:06 -05:00
sliptonic e4c696cac1 Path: MillFace start point 2017-07-07 16:42:06 -05:00
sliptonic bcfc1bf36c Path: make pathmillface use different depth calculation 2017-06-28 21:49:12 +02:00