Commit Graph

2140 Commits

Author SHA1 Message Date
Yorik van Havre
43c4f9af3d Draft: Added a border around the Draft grid (can be disabled in prefs) 2020-05-27 18:02:04 +02:00
carlopav
6d4dc1c834 Draft: Edit arc by 3 points bugfix 2020-05-25 13:37:55 +02:00
carlopav
b6b48b43ec Draft: bugfix on Edit BezCurve 2020-05-25 13:37:55 +02:00
carlopav
f4a47d0ecf Draft: Edit bugfix in Wire/BSpline curve editing 2020-05-25 13:37:55 +02:00
carlopav
caf6606d5f Draft: Edit support for Part Sphere
.
2020-05-25 13:37:55 +02:00
carlopav
d9e2f4f46c Draft: Edit support for Part Cone 2020-05-25 13:37:55 +02:00
carlopav
1b263a6a8f Draft: reordered supported edit objects and support for PartCylinder 2020-05-25 13:37:55 +02:00
carlopav
a98e2076db Draft: Edit reordering 1
Started a general refactor to handle all the conversion between global and object coordinate system inside the main methods and just use object coordinates inside object functions.
Draft: Edit reordering 2

Fixed Editing of Part objects according to the new refactor
Draft: fix in autogroup function for dimensions


Draft: fixed Polygon editing when inscribed or circumscribed


Draft: Edit support for Ellipse object


.


Draft: Edit docstrings


Draft: Edit reordering 3


Draft: Fixed Edit for structure object

And also refactor Edit methods that control special object display during editing.
Draft: Fixed edit for arch wall object
2020-05-25 13:37:55 +02:00
carlopav
61dd57407e Draft: Split Draft Edit into 4 modules
One for interaction handling and 3 for object editing functions, divided between Draft, Part, Arch
2020-05-25 13:37:55 +02:00
carlopav
8d23cd676a Draft: Cleanup of Draft Edit 2020-05-25 13:37:55 +02:00
vocx-fc
035a63c68b Draft: move functions to draftgeoutils.geometry 2020-05-25 13:35:34 +02:00
vocx-fc
339be2f4bb Draft: move functions to draftgeoutils.faces 2020-05-25 13:35:34 +02:00
vocx-fc
63800d7aac Draft: move functions to draftgeoutils.sort_edges 2020-05-25 13:35:34 +02:00
vocx-fc
632b72e7cd Draft: move functions to draftgeoutils.intersections 2020-05-25 13:35:34 +02:00
vocx-fc
c995ce562c Draft: move functions to draftgeoutils.edges 2020-05-25 13:35:34 +02:00
vocx-fc
add48977f9 Draft: move general functions to draftgeoutils.general
New package for organizing the geometrical utility functions of
the workbench, `draftgeoutils`.

The first submodule is one that deals with general operations.
2020-05-25 13:35:34 +02:00
wandererfan
5f46999f94 [Draft]Post-review changes 2020-05-23 11:22:14 -04:00
wandererfan
bdc9b6d455 [Draft]Trap missing ViewObject attribute
- sometimes VO does not have DiffuseColor
  attribute
2020-05-23 11:22:14 -04:00
wandererfan
ff323ebdb5 [Draft]Additional modes for PathArray 2020-05-23 11:22:14 -04:00
vocx-fc
a4367d0585 Draft: activate new array make functions
They are made available in the `Draft` namespace,
and are also used in the unit tests, the test script,
and the GuiCommands.
2020-05-18 12:42:10 +02:00
vocx-fc
681b33dab8 Draft: move circular, ortho, and polar make functions
Previously they were in `draftobjects`, but since they
don't define new objects, just create objects,
they are moved to `draftmake`.

Also ajust the `CMakeLists.txt` and the corresponding Gui Commands
which use these make functions.

These functions internally use the `Draft.makeArray` function.
We will put comments as reminders so that when this function
is moved to its own module, we can update the derived functions.
2020-05-18 12:42:10 +02:00
vocx-fc
021b07b7bc Draft: restructure the draft test script
Add new function `_create_objects`.

Change annotations to use `App::Annotation` instead of `Draft Text`.
2020-05-18 12:41:24 +02:00
carlopav
5d7ae69c54 Draft: fix Statusbar snap and scale if Draft is the default startup wb
ref: https://forum.freecadweb.org/viewtopic.php?f=23&t=43990&start=50#p396139
2020-05-18 12:19:27 +02:00
vocx-fc
4a765e12a5 Draft: check GUI in upgrade function before using viewprovider
Also make various improvements in style, PEP8, return value
is now a tuple of lists instead of a list of lists.

Delay the import of other modules like `Part` and `DraftGeomUtils`
using the `LazyLoader` class.

Update the Gui Command as well.
2020-05-18 12:17:59 +02:00
vocx-fc
07245dbf00 Draft: check GUI in downgrade before using viewprovider
Also make various improvements in style, PEP8, return value
is now a tuple of lists instead of a list of lists.

Update the Gui Command as well.
2020-05-18 12:17:59 +02:00
vocx-fc
10f839782d Draft: check GUI before touching the ViewObject in cut 2020-05-18 12:17:59 +02:00
vocx-fc
51cd5e042d Draft: fix button and icon spacing in AnnotationStyleEditor
The maximum button size was too small to fit the icon
together with the text, if the text size was large.

Also added more tooltips to all widgets of the editor.
2020-05-18 12:16:33 +02:00
vocx-fc
0d9ae239af Draft: cleanup code of AnnotationStyleEditor
Introduced in 1b887fa0f5, 4555a77663, 5b3fea59e0.

Make it PEP8 compliant, and shorten line lengths.

It is based on `GuiCommandSimplest` to inherit basic behavior
such as `IsActive` returning `True` when a document exists.
2020-05-18 12:16:33 +02:00
vocx-fc
e9baea434e Draft: update snake_case for unit tests
Also fix the name of certain functions.

Do not import `DraftFillet` any more as it's just kept
for compatibility purposes.

Do not test OCA nor AirfoilDAT as it's very improbable
that these formats will gain more support any time soon.
2020-05-15 14:44:48 +02:00
vocx-fc
50c2f31f6b Draft: use snake case functions in draft_test_objects script 2020-05-15 14:44:48 +02:00
vocx-fc
cc5d531a59 Draft: small additions to the draft_test_object script
Move the docstring, set the frame as a private function,
and set `MakeFace` to `False`.

Use user's home directory to create the file. Move the order of
the parameters of the function.
2020-05-15 14:44:48 +02:00
carlopav
125d0ca84d Draft: various cleanup
Mainly added an empty line at the end of each file and changed docstrings.
2020-05-15 14:43:26 +02:00
carlopav
2c4de88132 Draft: moved ConvertDraftText to utils.py 2020-05-15 14:43:26 +02:00
carlopav
95fe3076bd Draft: split DrawingView from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
b1e2574f1c Draft: move get_DXF to utils.py 2020-05-15 14:43:26 +02:00
carlopav
3a44b4e2c0 Draft: moved getrgb to utils.py 2020-05-15 14:43:26 +02:00
carlopav
ccad0fed30 Draft: cleanup of Array properties after splitting 2020-05-15 14:43:26 +02:00
carlopav
79ef4d991a Draft: split Array from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
052fd1750b Draft: cleanup of Draft.py 2020-05-15 14:43:26 +02:00
carlopav
26e8adaee4 Draft: split PointArray from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
dfee68d05a Draft: split Path Array and viewprovider Array from Draft.Py
Draft: fix typo in PathArray
2020-05-15 14:43:26 +02:00
carlopav
1f88ef3a6f Draft: split array function from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
006a1a4036 Draft: Split DraftLink from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
eb59836ae8 Draft: updated ocumentation of Draft Scale function 2020-05-15 14:43:26 +02:00
carlopav
5e8f94d7d6 Draft: split sub_object_move from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
59c0bf1c38 Draft: split sub_object_move from Draft.py 2020-05-15 14:43:26 +02:00
vocx-fc
dd42bfbc92 Draft: migrate individual properties
Since we know how the old class looks like,
we can write code to save the value of the older properties,
and then remove them.

Then we can assign the new class, which will create new properties,
and then we can assign the old values to these.

This can be done for both the proxy object and
for the viewprovider.
2020-05-13 11:37:56 +02:00
vocx-fc
16d8986ff6 Draft: use onDocumentRestored to migrate the Fillet
Identify the previous object as `DraftFillet.Fillet`
and then use the new proxy class `draftobjects.fillet.Fillet`
and new viewprovider `view_fillet.ViewProviderFillet` on it.
2020-05-13 11:37:56 +02:00
vocx-fc
d438aec821 Draft: remove old DraftFillet class, and make it a redirect
Remove the make function that creates the old object,
its corresponding Gui Command, and the old `DraftFillet.Fillet`
proxy class, which now is a redirection to the new `Fillet`
class defined in `draftobjects.fillet`.

Also change the unit test, and the `draft_test_object` script
to run `Draft.make_fillet`.
2020-05-13 11:37:56 +02:00
vocx-fc
68e6d8d164 Draft: activate both Fillet commands to test
In this moment the old fillet tool is `Draft_Fillet`
and the new tool is `Draft_Fillet_new`. They are imported both,
so they can both be tested from the interface.
2020-05-13 11:37:56 +02:00