Commit Graph

104 Commits

Author SHA1 Message Date
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
49f8edeaa8 Modified combobox selection
cleaned up translation method

Profile translation cleanup

Incorporating additional suggestions
2021-12-17 08:35:41 -06:00
sliptonic
54d593e116 face outerwires aren't always the first wire in the Wires list.
Added logic to compare hashCodes()

https://forum.freecadweb.org/viewtopic.php?f=13&t=50567
2021-11-15 18:40:28 -06:00
Russell Johnson
1931c6b013 Path: Delete unnecessary comments 2021-09-24 06:40:53 -05:00
Russell Johnson
8e09da7f0b Path: LGTM cleanup 2021-09-24 06:40:53 -05:00
sliptonic
88dd7d2b98 Black reformat 2021-09-01 12:56:00 -05:00
sliptonic
47128e53bb black 2021-09-01 12:26:29 -05:00
sliptonic
13779a6db9 purge archpanel support 2021-09-01 08:34:46 -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
3085b1c536 Path: Remove Side assignment to Outside for full model profiles
The profile operation is forcing  cut side to `Outside` when profiling whole models.  This change in code also allows for profiling `Inside` of entire models.  Apart from limiting profiling capabilities of entire models, this override could cause problems with profiling of selected faces or edges in very specific use cases.  Also, this fix removes the property assignment of a key control property within the execution code, which should not happen, apart from feedback properties.
2021-07-16 11:51:00 -05: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
929405e745 Path: LGTM cleanup 2021-02-20 12:32:25 -06:00
Russell Johnson
6ea5b2c69c Path: Remove unnecessary line return 2021-02-20 12:32:25 -06:00
Russell Johnson
2ff909b993 Path: Add error for incorrect open-edge usage
When profiling open edges, the user must currently select a top edge and then set the Final Depth manually to a value below the selected edge(s).
This fix provides the user with feedback for the empty path generated.
2021-02-20 12:32:25 -06:00
Russell Johnson
a1d3f8e490 Path: Catch error if ofstShape has no Area attribute 2021-02-20 12:32:25 -06:00
Russell Johnson
05b2b9e28e Path: Fix incorrect empty data type return 2021-02-20 12:32:25 -06:00
Russell Johnson
d90d176a86 Path: Catch openEdges error if None 2021-02-20 12:32:25 -06:00
Russell Johnson
a33a287475 Path: Fix spacing typo 2021-02-20 12:32:25 -06:00
Russell Johnson
b3cfb29038 Path: Fix range() input type per gcc-7 build 2021-02-20 12:32:25 -06:00
Russell Johnson
0718afa5e1 Path: Fix feature selection and handling
Fix error when working with selections containing edges and faces.  This fix effectively processes edges and only passes faces on to next processing step.  This simplifies the code a bit and changes some `obj.Base` references to `otherBase` to improve readability.
Path: Improve `obj.Base` reading and processing

`obj.Base` is first read in `self._processEdges()`.  All edges are identified and processed there.  Remaining features are saved in `remainingObjBaseFeatures` to be processed in the next section of the Profile code.
Path: Change `if` to `elif`
2021-02-20 12:32:25 -06:00
Russell Johnson
b86104b01e Path: Fix error for undefined profileshape variable 2021-02-20 12:32:25 -06:00
Russell Johnson
cda4d12ad2 Path: Fix open-edge profiling for micro bit usage 2021-02-20 12:32:25 -06:00
Russell Johnson
f1f584af2d Path: Change HandleMultipleFeatures default value to Collectively
This fixes error when attempting to profile loop of vertical faces, thus maintaining original Profile Faces behavior by default for vertical looped face set.
2021-02-20 12:32:25 -06:00
Russell Johnson
edab3c6ecc Path: Apply LazyLoader for DraftGeomUtils module 2021-02-20 12:32:25 -06:00
Russell Johnson
ee0d220bc4 Path: Remove Expand Profile feature from Profile op 2021-01-29 19:36:14 -06:00
luz paz
590cbd85e3 Fix typos [skip ci]
Found via `codespell v2.1.dev0`  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,click,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millim,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,./ChangeLogpios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-12-19 16:35:16 +01: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
a7230d4e13 Path: Fixes ticket #4471 2020-10-22 10:55:51 -05:00
Russell Johnson
aebc319ced Path: Fix rotational error for certain situations
Error discovered during recent troubleshooting of Pocket_Shape with rotation.
Initial application of new operation yields path, but subsequent changes and applications failed due to `if ...` statement removed here for the fix.
2020-10-03 13:56:46 -05:00
Russell Johnson
a8f97febad Path: Remove FinalDepth limitation for internal profile operation
Requested in forum at https://forum.freecadweb.org/viewtopic.php?f=15&t=50341
2020-10-01 22:51:33 -05:00
Russell Johnson
2a2c727aba Path: Add debug feedback and comment 2020-10-01 22:49:48 -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
Russell Johnson
5f362e21a5 Path: Cleanup and simplify code 2020-06-18 01:39:26 -05:00
Russell Johnson
8dd767239c Path: Add ExpandProfile feature
Two new properties, `ExpandProfile` (length) and `ExpandProfileStepOver` (percent) added for new feature.
New feature converts the normal single offset profile into a compound profile containing multiple increasing/decreasing offsets.
The new feature clears a each layer completely before stepping down to the next layer.
Adjust sorting procedure in PathAreaOp due to `ExpandProfile` modifications to open edges code.
2020-06-18 01:39:26 -05:00
Russell Johnson
d231382f02 Path: Fix _makeIntersectionTags() for very short edges
The 0.25 constant used might need to be modified later.  Or, the entire `_makeIntersectionTags()` method might need to be improved if other micro-edge use cases cause failure.
2020-06-04 13:15:10 -05:00
Russell Johnson
edda808c3c Path: Improve open-edges, messaging, Final Depth initial guess and more
Open-edges will now work in simple cases where user selects bottom edge, without requiring adjustment to Final Depth.  This will speed up procedural usage of the operation for open edges by re-enabling the `select-edge_create_OK` work flow.
The guessing procedure for Final Depth based on Base Geometry selected is fixed in `UpdateDepths()` method.
Improvements to user messages.
Remove unnecessary code and comments.
Improve debugging feedback.
2020-05-21 22:44:50 -05:00
Russell Johnson
494bb6cba6 Path: Fix for .extrude() vector roughly zero 2020-05-13 21:55:06 -05:00
Russell Johnson
e5b7a66d92 Path: Additional fixes and improvements to unified Profile operation 2020-05-10 23:07:53 -05:00
Russell Johnson
27c4db9a34 Path: Consolidate Contour, ProfileFaces, and ProfileEdges
No geometry selection defaults to Contour operation.
Path: Add new unified `Profile` operation modules
2020-05-10 18:19:42 -05:00
Markus Lampert
6f334e84a5 Renamed PathProfile to PathProfileFaces for consistency; moved common depth calculation for ops with BaseGeometry into PathAreaOp. 2017-08-22 10:16:57 -03:00
Markus Lampert
0617d360d0 Converted PathProfile to be based on PathAreaOp. 2017-08-22 10:16:57 -03:00
Markus Lampert
8f080e54d2 Turned tracking off for profile. 2017-08-19 13:30:03 +02:00
Markus Lampert
1e5de4ece0 Process holes before the perimeter for Arch.PanelSheets 2017-07-28 10:07:58 -03:00
sliptonic
4743a7f73b Path: Change Profile 'side' enumeration to inside/outside
left/right was too ambiguous
correct profile direction set
2017-07-10 19:17:41 -03:00
sliptonic
0b0c3b2b2e Path: fix #3048 Visibility on recompute is now preserved 2017-07-10 19:17:41 -03:00
sliptonic
9a15fed386 Path: implement jointype for contour and profile fix #3116
Not implemented in the task panel.  Settings are only available in the property pane.
2017-07-10 19:17:41 -03:00
sliptonic
75121febf0 Path: Make PathProfile verbose 2017-07-10 19:17:41 -03:00
sliptonic
4063609e89 Path: cleanup start points
Make sure we're storing path parms for debugging
2017-07-07 16:42:06 -05:00
Markus Lampert
77647237db Fixed spelling error in profile. 2017-07-04 10:41:35 +02:00
sliptonic
5f77eea2aa Path: Adding Apply buttons
Give user more control of when long
running updates are executed in task
panels
2017-06-28 21:46:44 +02:00