Commit Graph

51 Commits

Author SHA1 Message Date
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
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