Commit Graph

51 Commits

Author SHA1 Message Date
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
cf23bc6892 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
8b72ea646a 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
9642271335 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
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
Patrick Felixberger
b7702d5738 Merge branch 'master' of https://github.com/FreeCAD/FreeCAD into deburr+dressup 2020-03-31 17:18:06 +02:00
Russell Johnson
ac2aafbd52 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
02e44de028 Code clean up 2020-03-17 22:18:47 +01:00
Patrick Felixberger
9e6afa719b Improved LeadInOut; Better layer handling 2020-03-17 19:13:56 +01:00
Russell Johnson
98eaca97f9 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
81bbb0066d Removed dead code for debugging shortcut warnings. 2020-01-03 23:13:55 -08:00
Markus Lampert
0a900b3276 addressing pylint warnings for PathProfile family 2019-07-01 15:32:54 -07:00
sliptonic
617c619d2f remove unnecessary imports. normalize debug log levels 2019-06-21 13:01:01 -05:00
sliptonic
c8e945a3ab Path: normalize proxy stratements
remove bare exceptions
2019-06-21 13:01:01 -05:00
Markus Lampert
b69b7a1f67 More FreeCADGui removal from Path model classes. 2019-06-02 11:03:14 -07:00
luz.paz
ec12ffae0c Path: source comment typo fixes
Found via `codespell`
2019-05-30 19:57:25 +02:00
Markus Lampert
ddf65e16a8 Fixed ProfileEdges for multi base models. 2018-09-11 07:24:40 +02:00
Markus Lampert
382c62990a Consolidated base model naming 2018-09-11 07:24:34 +02:00
Markus Lampert
73ce00d39b Added multi base model support to ProfileEdges op. 2018-09-11 07:24:33 +02:00
Markus Lampert
4dcf6b88a3 Added operation setting support to profile ops. 2018-09-02 00:32:22 -07:00
Markus Lampert
353ec4a646 Added name parameter to operation proxy constructor. 2018-09-02 00:32:22 -07:00
Markus Lampert
3a856aed2c Set default log level back to INFO for all modules. 2018-07-06 22:08:46 -07:00
Markus Lampert
684b4f6e7e Added doc strings to operations. 2017-08-22 10:16:58 -03:00
Markus Lampert
62c9bcc39a Added support for baseobject into PathOp, used by almost all ops anyway. 2017-08-22 10:16:58 -03:00
Markus Lampert
f4c20e7c61 Moved base functionality into PathOp and renamed AreaOp interface to areaOp... 2017-08-22 10:16:58 -03:00
Markus Lampert
3cd6ce68bb Converted ProfileEdges to based off PathAreaOp. 2017-08-22 10:16:57 -03:00
sliptonic
605fa29002 Path: add jointype and miterlimit to edge profiling 2017-07-10 19:17:41 -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
4063609e89 Path: cleanup start points
Make sure we're storing path parms for debugging
2017-07-07 16:42:06 -05: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
sliptonic
7532011104 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
ae29107aa9 path: more collision support
Made depthparams an iterable.
2017-06-28 21:46:44 +02:00
sliptonic
b34815746e Path: adding cancel buttons to operations 2017-06-28 21:46:44 +02:00
sliptonic
5305247140 Path: fix potential crash bug. 2017-06-18 17:32:16 +02:00
sliptonic
6da8c1ba94 Path: added a hidden property to store the areaparams
Useful for debugging.
2017-06-15 14:42:30 -03:00
sliptonic
91551520e8 Path: usecomp setting toggles the availability of the side property 2017-06-15 14:42:30 -03:00
sliptonic
7e573aba5a Path: first experiments with collision detect 2017-06-15 14:42:30 -03:00
sliptonic
f23f728a75 Path: remove Pocket OCC algorithm 2017-06-15 14:42:30 -03:00
Markus Lampert
ea49943a8f Moved almost all translate implementations away from QtGui. 2017-06-03 15:37:41 -07:00
sliptonic
29130de609 Path: make cursor reflect busy
Path: fix label buy in PathProfileEdges

Path: cleanup
2017-05-31 23:38:59 +02:00
sliptonic
d3fb9fbfe2 Path: more bug fixes 2017-03-21 10:27:51 -03:00
sliptonic
fa1f358f52 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
be2a827a69 Update Path to py3-compatible printing 2017-01-30 10:21:22 +01:00
sliptonic
0bf7a2e797 PATH: remove old holding tag code and GUI elements 2017-01-13 09:20:04 -06:00
Sebastian Stetter
57e62d682a 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
a8faace098 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
1b7d929f9e Holding tag bugs
Removed OCC from profile
Add option to suppress profile of perim.
2016-11-13 14:51:36 -06:00
sliptonic
b096c0f6e4 misc regression bugs
Translation strings.
dragknifedressup now uses job instead of project
2016-10-16 13:07:40 -05:00
sliptonic
892f9f784d 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