Commit Graph

16932 Commits

Author SHA1 Message Date
vocx-fc
1970b6c3c9 Draft: GuiCommandSimplest to serve as base of simple Gui Commands
This class defines the `command_name` of the command,
so that it is output to the report view, and is also recorded
in the log file.

It also stores the current document so it can be used inside the
command.

The class implements with `IsActive` method so that the command
is only active when an active document exists.

Also `GuiCommandNeedsSelection`, which subclasses the former
class. It reimplements `IsActive` in order to be available
only when there is a selection.
2020-04-16 11:40:58 +02:00
vocx-fc
b3abe7efe9 Draft: update InitGui with context commands
The `ContextMenu` method defines commands that will be listed
when right clicking and opening the context menu in the 3D view
or the tree view.

This sets up the line GUI commands when either a line, wire,
polyline, spline, or bezier curve is active.

However, this currently doesn't work at all for unknown reasons.
Maybe some other functionality in the internal C++ code
needs to be changed first.
2020-04-16 11:40:58 +02:00
carlopav
db9134630a [Draft] Cleanup splitted annotatation objects
- corrected super() methods to be Py2 compatible
- further cleanup of the code.
further cleanup


changed again to avoid super method


updated super() functions


updated to correct the parent classess targeted by super()
2020-04-16 11:37:10 +02:00
carlopav
00c0de6871 [Draft] Removed annotation styles objects
Removed Annotation styles current implementation.
As pointed out by yorik, in https://forum.freecadweb.org/viewtopic.php?f=23&t=44051&p=385710#p385179, this feature will be added using document Meta property.
2020-04-16 11:37:10 +02:00
carlopav
78f740807c [Draft] Dimension styles improvements
Dimension style property is auto-set on dimension creation.
Further improvementes in DimensionStyleContainer.
.
2020-04-16 11:37:10 +02:00
carlopav
a4f7bc43f6 [Draft] Cleanup of Annotation style branch
Further cleanup and guarded imports of Gui in modules.

.
2020-04-16 11:37:10 +02:00
carlopav
cb4295fd8a [Draft] Splitted object Text and Label from Draft.py
And based them on Draft Annotation object
2020-04-16 11:37:10 +02:00
carlopav
19928b7347 [Draft] Updated cmake with splitted annotation objects
.


.
2020-04-16 11:37:10 +02:00
carlopav
5b4815f807 [Draft] Dimension Style cleanup 2020-04-16 11:37:10 +02:00
carlopav
749f614313 [Draft] Group object for dimension styles 2020-04-16 11:37:10 +02:00
carlopav
9c4c16c7bb [Draft] Split angular dimension
and made it derived from 
DimensionBase <- Draft Annotation
2020-04-16 11:37:10 +02:00
carlopav
9f1405df0e [Draft] Annotation refactor and Cleanup
.


.
2020-04-16 11:37:10 +02:00
carlopav
637c45733e [Draft] Split Dimension object and reorganize of annotation objects
part 1
2020-04-16 11:37:10 +02:00
carlopav
0bc6e4cddc [Draft] New Icons for Annotation Style 2020-04-16 11:37:10 +02:00
carlopav
5bbf3ad6cf [Draft] Dimension style object
still have to split viewprovider from object.
[Draft] Dimension Style code cleanup

thx @vocx-fc for reviewing
further cleanup


[Draft] Dimension Style improvements

Added a property to the dimension object to link the dimension style.
Improved the update of dimensions when style changes. This can be done in 2 different ways: by setting AutoUpdate property to True or by activating Update function from the viewprovider context menu.
2020-04-16 11:37:10 +02:00
vocx-fc
097d828fb5 Draft: add init_draft_statusbar to CMakeLists 2020-04-16 11:37:10 +02:00
carlopav
655852bda6 [Draft] Annotation scale, support for imperial custom scale input
Added support for different scale list
2020-04-16 11:37:10 +02:00
carlopav
9e7fb35761 [Draft] Rearrange annotation properties groups
ref. https://forum.freecadweb.org/viewtopic.php?f=23&t=43795&p=373731#p373731
bugfix
2020-04-16 11:37:10 +02:00
carlopav
7d8847a2a2 [Draft] Annotation Scale bugfix
Now property ScaleMultiplier is checked for existence before the use.
2020-04-16 11:37:10 +02:00
carlopav
f90921ef03 [Draft] Improved Autogroup to handle Draft Annotations
Draft Dimension, Label and Text are now correctly auto-added to Part container
2020-04-16 11:37:10 +02:00
carlopav
ba71f3de75 [Draft] First implementation of annotation scale
The changes are minimal, mainly is just cleanup of existing code and documentation.
[Draft] Annotation scale for ViewProviderDraftText

Adding support for scale factor according to changes in dimensions.
[Draft] Annotation scale for ViewProviderDraftLabel

completed annotations scale
[Draft] Annotation scale for ViewProviderAngularDimension
2020-04-16 11:37:10 +02:00
carlopav
9fcb4f94a0 [Draft] Annotation scale support and statusbar widget
Initial commit
Preliminary support for Draft Dimensions


[Draft] Statusbar Widget code cleanup
2020-04-16 11:37:10 +02:00
Russell Johnson
c3dcf94ffd Path: Move more common methods to PathSurfaceSupport module 2020-04-16 00:35:05 -05:00
Russell Johnson
0bfea7429b Path: Add new support module for 3D Surface and Waterline 2020-04-16 00:28:33 -05:00
Russell Johnson
fa13068220 Path: Comment cleanup; adjust messages; set 2 default values 2020-04-16 00:28:33 -05:00
Russell Johnson
ba88e0eef2 Path: Implement new module PathSurfaceSupport; Add Spiral cut pattern
New module is shared with 3D Surface operation. Module contains PathGeometryGenerator class. More common methods can be moved into the new module.
2020-04-16 00:28:25 -05:00
Russell Johnson
ce42444afa Path: Preparation for making property defaults readable through class 2020-04-16 00:28:18 -05:00
Russell Johnson
2fc634a22a Path: Improve backwards compatibility capabilities 2020-04-16 00:28:11 -05:00
Russell Johnson
ea960770af Path: Improve property visibility in Data tab 2020-04-16 00:28:04 -05:00
Russell Johnson
873b9c0f6f Path: Expose operation's property details to access via class 2020-04-16 00:27:58 -05:00
Russell Johnson
996d4710f5 Path: Fix weakness in face analysis for unique OuterWire cases
synced with PathSurface module
2020-04-16 00:27:49 -05:00
Russell Johnson
18e6fa2127 Path: Add missing tooltips 2020-04-16 00:27:40 -05:00
Russell Johnson
04093c3d76 Path: Waterline fixes(5), new IgnoreOuterAbove, and code simplification
Fix module base for getFacets()
Fix isOnLineSegment() usage.
Fix property visibility in Data tab.
Fix missing raise to SafeHeight after clearing layer.
Fix handling of `import ocl` failure
Move Draft import to dependent function
Raise `import ocl` test in code execution
Disable face selection for Waterline and issue warning as intermediate fix. Application of face-selection from 3D Surface requires some modification for use in Waterline.  This work is to be done.  Some existing carryover methods should be usable in current form.
Compact setup() function
Sync some methods with PathSurface in preparation of extracting common methods to independent support module.
Increase SampleInterval range for OCL Dropcutter algorithm.
Convert OCL Dropcutter waterline to use FreeCAD.Vector() points rather than ocl.Point().
Simplify some code and delete unnecessary comments.
LGTM cleanup.
New feature - IgnoreOuterAbove. Ignore the outer-most waterline above this height.  Designed to eliminate the model profile path created in some use cases.
Adjust tooltip language for `Algorithm`
2020-04-16 00:27:40 -05:00
Russell Johnson
1c268425a4 Path: Improve Tasks editor interaction
Swap setEnabled() method for show() and hide().
Include showing and hiding associated labels.
Path: Hide `optimizeEnabled` input
2020-04-16 00:27:06 -05:00
Russell Johnson
29b5c39924 Path: Move more common methods to PathSurfaceSupport module 2020-04-16 00:20:46 -05:00
Russell Johnson
5d5a21e5a7 Path: Simplify if ... is True: statements. 2020-04-16 00:17:47 -05:00
Russell Johnson
e23aecc667 Path: New class - PathGeometryGenerator; new CutPattern - Offset
Converted _planarMakePathGeom() into independent class, PathGeometryGenerator, as preparation to share common code with Waterline.
Implementation of new class within existing code.
Added new cut pattern: Offset.  It is ported from Waterline.
2020-04-16 00:17:40 -05:00
Russell Johnson
5701e90cc8 Path: Create shared support module for 3D Surface and Waterline 2020-04-16 00:17:33 -05:00
Russell Johnson
b0a73d1266 Path: Improve compatibility between file versions
Verify enumerations on document reload, maintaining the existing value for the property.
2020-04-16 00:17:33 -05:00
Russell Johnson
8e58f10f7f Path: Fix weakness in face analysis for unique OuterWire cases 2020-04-16 00:17:24 -05:00
Russell Johnson
75ad65ecf1 Path: Added Spiral cut pattern; Adjusted tooltip language 2020-04-16 00:17:16 -05:00
Russell Johnson
c8ece0c437 Path: Multiple fixes; code optimizations and cleanup
Fix _processRotationalOp() arguments and erroneous call thereto.
Fix isOnLineSegment() usage.
Fix transition between profile edge and clearing.
Fix _planarSinglepassProcess() method.
Fix `ProfileEdges` feature.
Fix Y-axis rotation error in G-code and display.
Fix error handling of `import ocl` test.
Raise `import ocl` test in code sequence.
Convert ocl.Point scan results and handling to FreeCAD.Vector() type throughout `Rotational` scan code.
Change properties group from `Rotational` to `Rotation`.
Make operation property details accessible through class.
Relocate Draft import to dependent function.
Improve property visibility in Data tab.
Issue warning for Rotational scans if faces are selected.
Compact setup() function.
LGTM cleanup throughout.
Delete unnecessary comments.
2020-04-16 00:17:05 -05:00
Russell Johnson
a10ec71135 Path: Added missing tooltips and added new Cut Pattern options
Add `Spiral' option to Cut Pattern list
Add `Offset' option to Cut Pattern list
2020-04-16 00:14:11 -05:00
Russell Johnson
d10ad95484 Path: GUI improvement - swap setEnabled() for show() and hide()
Improve GUI usability by using hide() and show().
Apply hide() and show() to labels as well.
Fix visibility update issue on loading task window for editing of existing operation.
2020-04-16 00:14:11 -05:00
wandererfan
b0b0b77d65 [TD]fix KB lockout in dialogs
- valueChanged signal is emitted for every keystroke
  causing multiple recomputes for every change of
  parameter.
2020-04-15 15:43:00 -04:00
sliptonic
94a704972d Merge pull request #3354 from etrombly/master
[Path] fix some typos in recent lazyloader implementation
2020-04-15 12:55:43 -05:00
Eric Trombly
08fc5556d5 fix some typos in recent lazyloader implementation 2020-04-15 12:32:48 -05:00
Yorik van Havre
674e56817c Arch: Fixed bug in IFC export of furniture 2020-04-15 18:01:11 +02:00
sliptonic
9427b5d0aa Merge pull request #3330 from etrombly/lazyloader
[Path] Use lazyloader for deferred python imports
2020-04-15 10:22:28 -05:00
donovaly
de614285c4 fix a typo 2020-04-15 10:10:14 -04:00