Commit Graph

89 Commits

Author SHA1 Message Date
Russell Johnson
eaba444e7c Path: Strict application of Black code formatting to module file
This commit ONLY contains application of `Black` code formatting.  No other alterations have been made in this commit.
2021-09-27 20:53:09 -05:00
Russell Johnson
9cbed30c76 Path: Restore removal shape envelope buffer
This buffer application was removed in PR #4978 with removal of rotational code.

The buffer is required to provided adequate significant digit or rounding  in later processing of envelope in Path.Area().

NOTE:  I suggest separate `removalshape` envelopes  be created without the necessary `buffer` adjustment to allow for usage of the `removalshape` for subsequent REST type operations.
2021-09-27 20:53:09 -05:00
sliptonic
0eecacd795 Merge pull request #4797 from Russ4262/feature/tile_job
[Path] GUI scripting support and other improvements
2021-08-14 09:26:25 -05:00
Russell Johnson
4c1951aedc 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
c13f42bd89 Path: Code cleanup, remove duplication, fix obj.removalshape shape 2021-07-24 11:57:53 -05:00
Russell Johnson
1aeb28cf67 Path: Refactor and upgradeExtensions feature, and apply to Adaptive op
Path: Refactor `Extensions` Gui code into independent module. Move the `Extensions` Gui code to independent module so access to other operations will be easier.
Path: Add `Extensions` feature to Adaptive operation
Path: Isolate Adaptive GUI elements in preparation of Adaptive unit tests
Path: Implement `PathLog` debug module
Path: Implement `translate()` for multi-language message support
Path: Fix `StockType`check bug
Path: Relocate `getCutRegionWires()` to `FeatureExtensions` module
Path: Add `Extensions` property checks on document restored
Path: Improve `Extend Outline` feature implementation
Path: Initialize a waterline type extension
Path: Add enable/disable extensions feature. It is quite possible that many complex faces exist that have large quantities of both simple and complex edges.  For this reason, a manual push button to enable Extensions is useful so the users machine is not bogged down with extra or unnecessary computing time.  Extensions are not necessary at all times. This commit also includes an edge count threshold that will disable the Extensions feature temporarily upon initial loading of the Task Panel.  The manual enable button will do just that.
Path: Add enable extensions warning label
Path: Shorten enable/disable Extensions button message
Path: Remove run-time added Task Panel elements - this QButton and QLabel were moved to UI panel directly.
Path: Add include/ignore Edges button
Path: Improve extension preview rendering
Path: Fixes for `useOutline` modification and updates
Path: Add internal feature to cache calculated extensions for reuse
Path: Add `SetupProperties()` function and connect to GUI command
Path: Add `Avoid Face` extension to ignore base face. This feature allows for some simple access to the exterior of a selected face without clearing the face itself.  This will allow for an exterior clearing operation in a simple manner.
Path: Fix bug restricting extensions on internal closed-wires
2021-06-04 09:48:50 -05:00
luz paz
016989e992 Fix misc. typos
Found via 
```codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,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,parms,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,./build/doc/SourceDocu```
2021-06-03 14:36:21 -04:00
Russell Johnson
03cce806f3 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
Russell Johnson
9da9bf0f93 Path: Fix outside extension of circular faces with inner holes
Fix bug identified by MLampert.  This fix addresses extensions for circular faces that have non-extended holes in the face.
.
Unlike polygon extensions that only need one wire to define the extension shape, some circular extensions require two wires (a face would be better) to define the extension area.
.
Restructure to accommodate future `Extensions` improvements
2021-04-10 14:09:22 -05:00
sliptonic
c88d75296a Merge pull request #4615 from Russ4262/fix_pocketshape_combine_shapes
[Path] Fix connected multi-face clearing bug
2021-03-22 13:53:55 -05:00
Russell Johnson
1ce0389e45 Path: Fix connected multi-face clearing bug
Identified by MLampert.  If multiple faces are selected at varying Z-heights, the `combineConnectedShapes()` method fails to connect them due to offset Z-heights.  This fix places all input faces for that method into the same working plane.
2021-03-13 11:34:35 -06:00
Russell Johnson
6a10d5388b Path: Remove 'verify final depth' warning 2021-03-06 11:44:06 -06:00
sliptonic
53bd6a2d77 fix trailing whitespace 2021-02-23 19:12:25 -06:00
Russell Johnson
5bb979e34a Path: LGTM cleanup 2020-11-13 16:34:59 -06:00
Russell Johnson
cae33892e1 Path: Organize rotational code in areaOpShapes() method
Relocate the rotational analysis code into smaller independent methods to allow for easier maintenance and support.
Commented out recently added debug object creation statement.
2020-11-13 16:34:59 -06:00
Russell Johnson
45832af35b Path: Fix and cleanup removal shape creation code
The `isFaceUp()` method in the PathAreaOp module was returning false results in some instances.
Rotational code has been consolidated and better organized to fix certain errors reported in the forum.
Overall, this code section has been better organized as a part of the necessary fixes.
2020-11-13 16:34:59 -06:00
Russell Johnson
760fa482ef Path: Remove null comments and improve debugging
Added method to create a FreeCAD object when in debug mode.
2020-11-13 16:07:18 -06: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
Russell Johnson
3efe9efb68 [Path] PocketShape - fix improper path generation
Forum identification and discussion at https://forum.freecadweb.org/viewtopic.php?style=3&f=15&t=49513.
2020-09-12 09:35:34 -05:00
Russell Johnson
8e4032fc0d Path: Fix the rotational LimitDepthToFace feature 2020-08-02 13:27:32 -05:00
Russell Johnson
32f82a9b5e Path: Fix InverseAngle feature
The `ReverseDirection` property is now hidden by default.  It should not be necessary due to recent implementation of `isFaceUp()` method.
2020-08-02 13:27:32 -05:00
Eric Trombly
5fe22270cc handle makeOffset2D exception 2020-07-15 21:31:34 -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
Russell Johnson
b05361a163 Path: Apply rotation improvement to B(y) rotations 2020-03-26 10:43:32 -05:00
Russell Johnson
4145e287c0 Path: Improve 4th-axis rotation analysis and application
Fix incorrect depth calculations for envelopes.
Added solid-based model orientation check developed in PathProfileEdges open edges upgrade.
Clean-up some blank indentations.
Down-grade some messaging levels.
Add a few debug comments.
2020-03-26 10:43:32 -05:00
Russell Johnson
2dc4496e9a Fix failed Job creation due EnableRotation property error
PathAreaOp:   Add SetupProperties() function
PathPocketBase:   Modify SetupProperties() function to include return from same in PathAreaOp.
PathPocketShape:  remove blank indents
PathProfileBase:  Modify SetupProperties() function to include return from same in PathAreaOp.
PathProfileFaces:  fix `EnableRotation` issue
2020-03-21 11:05:46 -05:00
Patrick Felixberger
61d578bb61 Code clean up 2020-03-16 18:30:30 +01:00
Russell Johnson
8e9d704556 4th-axis fixes and improvements
Fix rotational orientation of pockets.  Need to apply same fix to ProfileFaces.
Fix final depth issue based upon error in rotational orientation fixed here.
Add property, `LimitDepthToFace` to facilitate easier pockets and face profiling on rotational-enabled operations.
Hide rotational support properties when operations do not use rotation.
Remove unnecessary property, `B_AxisErrorOverride`, and delete dead code that used it.
2020-03-14 11:36:21 -05:00
Patrick Felixberger
6fca59c388 Some depth calculation fixes 2020-03-11 23:51:15 +01:00
Patrick Felixberger
639327d62c Clean up 2020-03-11 22:49:28 +01:00
Patrick Felixberger
a08ca59766 Fixed broken final depth calculation for rotational axis in pocket, profile and drill; Added EnableRotation to GUI; Fix some weird gcode generation 2020-03-11 21:16:21 +01:00
Russell Johnson
f8a4e20adc Restore manual override of FinalDepth values
Manual entries of FinalDepth values are now respected, even if below the calculated bottom of selected geometry.
Affected modules include PathPocketShape, PathPocket, PathCircularHoleBase, and PathAreaOp-based operations.

Fix format syntax issues
2020-02-14 19:38:35 -06:00
Markus Lampert
bcc6c493ee Fixed extension generation for arcs if the length is larger than the arc radius and the direction is an inset. 2020-01-03 19:00:15 -08:00
Markus Lampert
d4567b0c9e Sorting edges before making a wire is required for all edges to be included, issue #4219 2020-01-03 19:00:15 -08:00
Russell Johnson
add80875d5 Fix PocketShape pop-up issue
Commented out calls to guiMessage() defined in PathAreaOp.py.
Changed PathLog() levels for same messages.
Removed unnecessary comments.
2019-09-07 18:10:57 -05:00
Markus Lampert
d0af5942a8 Fixing additional warnings after merge 2019-07-01 15:49:31 -07:00
Markus Lampert
6410393092 switched to pylint3 and fixed additional warnings 2019-07-01 15:32:54 -07:00
Markus Lampert
1a3877ffbe addressed pylint warnings for PathPocket family 2019-07-01 15:32:54 -07:00
Russell Johnson
6ce105f7ee 4th-axis update (#2311)
Improve property creation
Improve property setup
Implement PathLog.debug() for troubleshooting.
Improve default property values.
Remove unused and incomplete method
Remove unnecessary comments; fix final depth issue
4th-axis improvements
rotation method improvements
remove extra comment blocks
fix incorrect variable references
fix -0.0 re-introduction after initial filter
negative zero re-introduced causes problems with naming method for temp clones
Update faceRotationAnalaysis() method
update opFeatures()
Commented out call to PathOp.FeatureRotation
This feature not yet implemented.
delete call to removed method - self.reportThis()
Remove unnecessary comments
2019-07-01 09:30:58 -05:00
Markus Lampert
c4e0e8dafc Cover entire hole if pockeet extension is bigger than hole. 2019-06-29 18:16:56 -07:00
Markus Lampert
a162afc95a Fixed extensions for round holes. 2019-06-29 18:16:56 -07:00
Markus Lampert
9fffbb0e05 Fixed document restoration logic. 2019-06-29 18:16:56 -07:00
luz.paz
94cfe2d130 Misc. typo and whitespace fixes
Found via `codespell`
2019-06-28 11:39:36 -03:00
sliptonic
617c619d2f remove unnecessary imports. normalize debug log levels 2019-06-21 13:01:01 -05:00
sliptonic
2f456424cd Path: fix proxy error 2019-06-19 10:21:17 -05:00
sliptonic
082c1e71f1 Path: PEP8 and Proxy changes. 2019-06-17 09:17:38 -05:00
Russell Johnson
c79beacfc0 Remove unnecessary comment 2019-06-13 12:34:33 -05:00
Russell Johnson
183228cc25 Misc. fixes
Clean up code, improve comments, improve user feedback.
Improve temp clone management.
Correct depth issue with self.finDep
Add comment descriptions for new methods
Clean up comments and contribution information
Initiate recognition of type()==SurfaceOfExtrusion
Adopt standard PathGeom.isRoughly() and .Tolerance rather than idependent precision settings
2019-06-13 10:55:32 -05:00
Russell Johnson
73e00617d1 Fixes for depths and AttemptInverseAngle
Depth correction to obj.FinalDepth.Value in single feature operations
Fix AttemptInverseAngle to be uni-directional
Clean up debug and other user provided feedback
2019-06-13 10:55:31 -05:00
Russell Johnson
a7202f151f Improve code structure; correct 4th-axis depth issues 2019-06-13 10:55:30 -05:00