Commit Graph

169 Commits

Author SHA1 Message Date
vocx-fc
ee11678a58 Draft: migrate Layer object and function to the new structure
Move `make_layer` to `draftmake`; `Layer` and `LayerContainer`
to `draftobjects`; `ViewProviderLayer` and `ViewProviderLayerContainer`
to `draftviewproviders`.

The make function and the classes are imported in `Draft.py`
to support the usage of the older `VisGroup`.
2020-07-20 14:21:15 +02:00
vocx-fc
ff4cb41860 Draft: move GuiCommand for Draft Layer to its own module 2020-07-20 14:21:15 +02:00
vocx-fc
314637e945 Draft: move grouping functions to draftutils.groups module
These functions were previously in `draftutils.utils`,
and are related to grouping objects and finding objects
inside groups. These include `get_group_names`, `ungroup`,
`get_windows`, `get_group_contents`, `get_movable_children`.
These are imported in the main `Draft.py` module, so compatibility
is retained.

Modules which use these functions are updated; these include
Gui Commands like `Move`, `Rotate`, `Scale`, `AddToGroup`,
as well as objects like `DrawingView` and `Shape2DView`,
and `ViewProviderClone`.
The code inside the `importDXF` module is also updated.

The Arch Workbench uses many of these functions
but it does so from the `Draft` namespace, so these edits
don't change the situation for these commands.
2020-07-13 14:35:38 +02:00
vocx-fc
3c6fdca582 Draft: move units functions outside DraftGui.py
The functions `getDefaultUnit`, `makeFormatSpec`, `displayExternal`
are used to get the default unit schema for lengths and angles,
and display a string with a particular format.

They aren't used in `DraftGui.py`, but are used by the
viewprovider of the Dimension objects. Therefore, they are moved
into a separate module, so that they can be imported without
using the entire `DraftGui` module.
2020-07-10 12:29:30 +02:00
vocx-fc
93f1e87bc0 Draft: move make_dimension function to its own module
Previously the `make_dimension` and `make_angular_dimension`
functions were in `draftobjects/dimension.py`.
Now they are moved to `draftmake/make_dimension.py`.

The original `makeAngularDimension` function requires angles
in radians which is counterintuitive for most cases. Also
the order is `[big, small]`.

The new function `make_angular_dimension` accepts angles
in degrees, and the order is `[small, big]`. The older
function is retained for compatibility purposes.

Also perform several improvements such as PEP8 cleanup,
writing complete docstrings, type checking the input arguments,
and depreacting the older call.

The `Draft.py` module, Gui Command, unit test, and test script
are updated accordingly.
2020-06-17 12:53:29 +02:00
vocx-fc
fa092ae3df Draft: move make_label function to its own module
Also perform several improvements such as PEP8 cleanup,
writing complete docstrings, type checking the input arguments,
and deprecating the older call.

Update `Draft.py`, the Gui Command, the unit test, and test script
as well.
2020-06-15 10:01:04 +02:00
vocx-fc
286be34765 Draft: move make_text function to its own module
Also perform several improvements such as PEP8 cleanup,
write complete docstring, type checking of the input arguments,
accepting a full placement to modify the position,
and deprecating the older call.

Update the Gui Command as well.
2020-06-05 13:20:35 +02:00
vocx-fc
0e82ae26cd Draft: move functions to draftgeoutils.circles_incomplete 2020-06-05 13:15:31 +02:00
vocx-fc
4dc6b975db Draft: move functions to draftgeoutils.circle_inversion 2020-06-05 13:15:31 +02:00
vocx-fc
1ea5b19ea4 Draft: move functions to draftgeoutils.circles_apollonius 2020-06-05 13:15:31 +02:00
vocx-fc
4c4531a5fd Draft: move functions to draftgeoutils.circles, part 1 2020-06-05 13:15:31 +02:00
vocx-fc
c6bac1e58e Draft: move functions to draftgeoutils.cuboids 2020-06-03 15:22:09 +02:00
vocx-fc
d8f770989c Draft: move functions to draftgeoutils.linear_algebra 2020-05-29 13:31:28 +02:00
vocx-fc
2f41eaaf27 Draft: move functions to draftgeoutils.offsets 2020-05-29 13:31:28 +02:00
vocx-fc
851f6c02df Draft: move functions to draftgeoutils.fillets 2020-05-29 13:31:28 +02:00
vocx-fc
09daf7cfa1 Draft: move functions to draftgeoutils.arcs 2020-05-29 13:31:28 +02:00
vocx-fc
5637c0fc12 Draft: move functions to draftgeoutils.wires 2020-05-29 13:31:28 +02:00
carlopav
cdbc11e2ad Draft: reordered supported edit objects and support for PartCylinder 2020-05-25 13:37:55 +02:00
carlopav
4e8124e415 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
vocx-fc
9e50eb4785 Draft: move functions to draftgeoutils.geometry 2020-05-25 13:35:34 +02:00
vocx-fc
c10b006955 Draft: move functions to draftgeoutils.faces 2020-05-25 13:35:34 +02:00
vocx-fc
e1c371281b Draft: move functions to draftgeoutils.sort_edges 2020-05-25 13:35:34 +02:00
vocx-fc
15324a8e72 Draft: move functions to draftgeoutils.intersections 2020-05-25 13:35:34 +02:00
vocx-fc
d1405c9b11 Draft: move functions to draftgeoutils.edges 2020-05-25 13:35:34 +02:00
vocx-fc
378f1583fe 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
vocx-fc
3172e82dc1 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
carlopav
1733b6dc74 Draft: split DrawingView from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
fe29205e60 Draft: split Array from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
a4b5fb2cd4 Draft: split PointArray from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
ebc84af368 Draft: split Path Array and viewprovider Array from Draft.Py
Draft: fix typo in PathArray
2020-05-15 14:43:26 +02:00
carlopav
d124bfce4a Draft: split array function from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
c53f447f58 Draft: Split DraftLink from Draft.py 2020-05-15 14:43:26 +02:00
vocx-fc
09e47f43a9 Draft: add new Gui Command for Fillet 2020-05-13 11:37:56 +02:00
vocx-fc
785023d898 Draft: split Fillet code into various modules
The original code was in `DraftFillet.py` which is split
into a different modules like the rest of the workbench.

The object code is in `draftobjects`, the viewprovider
is in `draftviewproviders`, and the function to create it
is in `draftmake`.
2020-05-13 11:37:56 +02:00
vocx-fc
d3d52c57b4 Draft: move arc_3points to the make package
Also import it in the `Draft` namespace so that is available
as `Draft.make_arc_3points`.

Use this new function in the unit test `drafttests.test_creation`,
in the GuiCommand `draftguitools.gui_arcs`, and in the
`draft_test_objects` script.
2020-05-12 10:00:41 +02:00
vocx-fc
909452dc9c Draft: add description of draftfunctions package
These modules provide supporting functions for dealing
with the scripted objects and Gui Commands defined
within the workbench.

If the functions do very basic tasks or are too generic,
they are more appropriate inside the `draftutils` package.

These function are imported in the main `Draft.py` module
so they form part of the public programming interface (API)
of the workbench.

Remove trailing spaces in CMakeLists.txt.
2020-05-06 12:46:24 +02:00
vocx-fc
d2c06281e3 Draft: add description of draftmake package
These modules provide the functions that are used to create
the scripted objects defined within the workbench.

The functions import and use the proxy classes
and viewprovider classes in `draftobjects`
and `draftviewproviders`.

These functions are imported in the main `Draft.py` module
so they form part of the public programming interface (API)
of the workbench.
2020-05-06 12:46:24 +02:00
carlopav
f27f038da4 Draft: split extrude from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
40e8eb7b84 Draft: split downgrade from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
f0136fd27d Draft: split cut from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
08448d198e Draft: split upgrade from Draft.py
.
2020-05-04 10:51:08 +02:00
carlopav
c9ce87b5fb Draft: split draftify from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
c567ce10a1 Draft: split fuse from Draft.py
.
2020-05-04 10:51:08 +02:00
carlopav
3c6bc25667 Draft: split heal from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
2d6b7479f0 Draft: split mirror from Draft.py
.
2020-05-04 10:51:08 +02:00
carlopav
9eb59414c1 Draft: split offset from Draft.py
.
2020-05-04 10:51:08 +02:00
carlopav
ff1d0587ff Draft split Split from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
af31394e21 Draft: split scale related functions from Draft.py
.
2020-05-04 10:51:08 +02:00
carlopav
964d8a9851 Draft: split join functions from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
e94be2e542 Draft: split rotate from Draft.py 2020-05-04 10:51:08 +02:00