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