Commit Graph

50 Commits

Author SHA1 Message Date
Russell Johnson
00226b6654 Path: Implement backwards compatibility
Source modules are replaced with pass-through code to send pre-existing profile-based operations to new unified `Profile` operation.
Path: Set line endings to Unix style
2020-05-10 18:19:42 -05:00
Russell Johnson
494a85a34c Path: Fix extrude() fails with zero vector
Add error message and return empty path for ProfileEdges open-edge case.
2020-05-04 00:28:40 -05:00
Russell Johnson
b899d6c8b1 Path: Optimization for open edges update
Remove required usage of DocObject creation, in lieu of Part geometry usage - the preferred method.
Limit DocObject creation to debugging mode only.
Remove dependency on Draft module.
Drawback is top edge must be selected, and Final Depth set appropriately when using profiling open edges.
2020-04-16 12:53:32 -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
Patrick Felixberger
d66ff3364e Merge branch 'master' of https://github.com/FreeCAD/FreeCAD into deburr+dressup 2020-03-31 17:18:06 +02:00
Russell Johnson
cbc38e988e Path: Fix failed open edge path for zero GeometryTolerance case
Add error message to inform user to set Job.GeometryTolerance to an acceptable value.
Remove creation of docObject in lieu of geometry shape usage.
2020-03-26 10:29:00 -05:00
Patrick Felixberger
c82a0498d1 Code clean up 2020-03-17 22:18:47 +01:00
Patrick Felixberger
d586eea42e Improved LeadInOut; Better layer handling 2020-03-17 19:13:56 +01:00
Russell Johnson
e82b24550b ProfileEdges: New feature - profile open edges
Open edges, exterior or interior, can now be used to generate paths.

The new feature behaves as though the parent face is vertically oriented (standing).  It is preferred that the user select upper (top) edges.  Selecting bottom edges in some cases may not produce a path.

Path ends calculations might need slight adjustment in the code.  Path ends are *near* perpendicular to ends of edge.

Cut direction seems sporadic, but the `Direction` property will switch the direction of cut.  The `CW` and `CCW` direction labels might not align with the actual direction.  Additional algorithm modification is necessary to enforce fidelity to the labels.

Existing properties, `UseComp` and `OffsetExtra` are observed with open faces.  Negative values for `OffsetExtra` have not been tested - only zero and positive.
2020-02-25 19:13:07 -06:00
Markus Lampert
81f809cfcf Removed dead code for debugging shortcut warnings. 2020-01-03 23:13:55 -08:00
Markus Lampert
80e991a056 addressing pylint warnings for PathProfile 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
Markus Lampert
71a3690892 More FreeCADGui removal from Path model classes. 2019-06-02 11:03:14 -07:00
luz.paz
aedb888ae3 Path: source comment typo fixes
Found via `codespell`
2019-05-30 19:57:25 +02:00
Markus Lampert
900a05bca6 Fixed ProfileEdges for multi base models. 2018-09-11 07:24:40 +02:00
Markus Lampert
cd4e3043e5 Consolidated base model naming 2018-09-11 07:24:34 +02:00
Markus Lampert
e4e54729ac Added multi base model support to ProfileEdges op. 2018-09-11 07:24:33 +02:00
Markus Lampert
0824066c59 Added operation setting support to profile 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
ee56fc92d5 Set default log level back to INFO for all modules. 2018-07-06 22:08:46 -07: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
100fbe7ace Converted ProfileEdges to based off PathAreaOp. 2017-08-22 10:16:57 -03:00
sliptonic
6c52548750 Path: add jointype and miterlimit to edge profiling 2017-07-10 19:17:41 -03:00
sliptonic
ddb2001dcb 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
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
266fb0b70f 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
sliptonic
a5a88e5b59 Path: remove obsolete code from cmake
also refactored depthparams and fixes to depths
on various operations
2017-06-28 21:46:44 +02:00
sliptonic
8b804d71ae path: more collision support
Made depthparams an iterable.
2017-06-28 21:46:44 +02:00
sliptonic
17b16a7286 Path: adding cancel buttons to operations 2017-06-28 21:46:44 +02:00
sliptonic
2147798063 Path: fix potential crash bug. 2017-06-18 17:32:16 +02:00
sliptonic
aeec1c8c88 Path: added a hidden property to store the areaparams
Useful for debugging.
2017-06-15 14:42:30 -03:00
sliptonic
cc4abd21b9 Path: usecomp setting toggles the availability of the side property 2017-06-15 14:42:30 -03:00
sliptonic
0766a7387f Path: first experiments with collision detect 2017-06-15 14:42:30 -03:00
sliptonic
c97724ef30 Path: remove Pocket OCC algorithm 2017-06-15 14:42:30 -03:00
Markus Lampert
3368c8682e Moved almost all translate implementations away from QtGui. 2017-06-03 15:37:41 -07:00
sliptonic
29a8cbf114 Path: make cursor reflect busy
Path: fix label buy in PathProfileEdges

Path: cleanup
2017-05-31 23:38:59 +02:00
sliptonic
09ac25f089 Path: more bug fixes 2017-03-21 10:27:51 -03:00
sliptonic
493d346bdc Path: adapt other operations
# Conflicts:
#	src/Mod/Path/Gui/Resources/panels/DrillingEdit.ui
#	src/Mod/Path/PathScripts/PathDrilling.py
2017-03-21 10:27:51 -03:00
Kurt Kremitzki
e47edae9c3 Update Path to py3-compatible printing 2017-01-30 10:21:22 +01:00
sliptonic
b0abdd1c1d PATH: remove old holding tag code and GUI elements 2017-01-13 09:20:04 -06:00
Sebastian Stetter
21b116649e PATH: fix for 2805
changed TaskPanels to use unit conversions via FreeCAD.Units
commented out references to segLen since it si used nowhere
2017-01-09 13:24:23 +01:00
Dan Falck
388ddcf2b2 PATH:units added Gui::InputField to some parms
old spinboxes were not aware of units so I substituted in the custom FreeCAD Gui:InputField on countour, profile, profile edges, and pocket operations.
2016-12-24 17:28:40 -08:00
sliptonic
7c2c541d7a Holding tag bugs
Removed OCC from profile
Add option to suppress profile of perim.
2016-11-13 14:51:36 -06:00
sliptonic
2f093d74cb misc regression bugs
Translation strings.
dragknifedressup now uses job instead of project
2016-10-16 13:07:40 -05:00
sliptonic
8d0af8fcbf PathSurface now uses base object from job.
This means Surface won't work on Meshes directly.
They should be converted so FreeCAD solids first.
Surface still needs lots of work.
2016-10-15 15:25:54 -03:00
sliptonic
df38242063 Edge Profile operation 2016-10-15 15:25:54 -03:00