Commit Graph

16646 Commits

Author SHA1 Message Date
Bernd Hahnebach
294b753f51 FEM: add missing cmake entry 2020-06-03 17:59:13 +02:00
Bernd Hahnebach
8b1e2201be FEM: code conventions small updates 2020-06-03 17:58:54 +02:00
vocx-fc
54e9ad9d41 Draft: move functions to draftgeoutils.cuboids 2020-06-03 15:22:09 +02:00
vocx-fc
7791ebe897 Draft: move more functions to draftgeoutils.faces 2020-06-03 15:22:09 +02:00
vocx-fc
f740fde964 Draft: move more functions to draftgeoutils.intersections 2020-06-03 15:22:09 +02:00
vocx-fc
7b3052fd76 Draft: move more functions to draftgeoutils.geometry 2020-06-03 15:22:09 +02:00
vocx-fc
85321f28da Draft: move more functions to draftgeoutils.wires 2020-06-03 15:22:09 +02:00
vocx-fc
66bc105979 Draft: move more functions to draftgeoutils.edges 2020-06-03 15:22:09 +02:00
vocx-fc
b77d477476 Draft: move more functions to draftgeoutils.general 2020-06-03 15:22:09 +02:00
vocx-fc
0a445d9e5b PartDesign: replace unicode characters with simple hyphens 2020-06-03 14:51:01 +02:00
hlg
0759436661 Arch/Draft: minor fixes 2020-06-03 14:50:17 +02:00
vocx-fc
f56c4fa67f Draft: separate the placement functions from the Array class
This way they can be tested individually in the Python console
without needing the `Array` class at all. In the future these
methods could be moved to `DraftGeomUtils` or to `draftfunctions`.
2020-06-03 14:47:44 +02:00
vocx-fc
7df2bb33c2 Draft: hide properties of other array types in Array class
Leave only the corresponding properties by examining
the value of `ArrayType`.
2020-06-03 14:47:44 +02:00
vocx-fc
d6fba74d2f Draft: set the properties of the Array through functions
Since the `Array` class handles three different types, they
have different sets of properties. We add them to specific functions
so that they are clearly identified.
2020-06-03 14:47:44 +02:00
vocx-fc
bde91ccf15 Draft: clean up code, PEP8, and docstrings for Array class
Added author of the `CircularArray` array type, "M. G. Berberich"
(berberic2) or "rynn" in the forum.
2020-06-03 14:47:44 +02:00
vocx-fc
5c273e7593 Draft: clean up code, PEP8, and docstrings for DraftLink
This class was created by realthunder during the `LinkMerge`,
in de66e563e0, to demonstrate how to use the `App::Link`
objects to create Link aware arrays.

It is used by `draftobject.array` (ortho, polar, circular)
and `draftobject.patharray` to create respective Link arrays.

This class is a bit mysterious. We need more documentation
on how the properties are being set, and how the code interacts
with the arrays that use it.
2020-06-03 14:47:44 +02:00
vocx-fc
66959b2688 Draft: clean up CircularArray code
Avoid `Draft.py` in the `make_circular_array` function because
it creates a circular dependency.

Use function to find the object in `make_circular_array`.

Now the make function accepts as input a `"String"` which must be
the `Label` of an object in the document, so it is easier to create
arrays interactively from the Python console.

Clean up the GuiCommand and task panel code, and avoid printing
messages to the terminal, as this is already done
by the make function.
2020-06-03 14:46:15 +02:00
vocx-fc
33d3fb1fa9 Draft: clean up PolarArray code
Avoid `Draft.py` in the `make_polar_array` function because
it creates a circular dependency.

Use function to find the object in `make_polar_rarray`.

Now the make function accepts as input a `"String"` which must be
the `Label` of an object in the document, so it is easier to create
arrays interactively from the Python console.

Clean up the GuiCommand and task panel code, and avoid printing
messages to the terminal, as this is already done
by the make function.
2020-06-03 14:46:15 +02:00
vocx-fc
5dcb4ea104 Draft: clean up OrthoArray code
Avoid `Draft.py` in the `make_ortho_array` function because
it creates a circular dependency.

Use internal functions to abstract the orthogonal arrays.
The `_make_ortho_array` is a simple wrapper over the general
`make_array` function.

The result is four variants:
- `make_ortho_array`
- `make_ortho_array2d`, without the Z component
- `make_rect_array`, strictly rectangular components
- `make_rect_array2d`, strictly rectangular without the Z component

Also use functions to perform checking of the inputs,
whether these are vectors, numbers (integer and floats)
or integers.

Now the make function accepts as input a `"String"` which must be
the `Label` of an object in the document, so it is easier to create
arrays quickly from the Python console.

Clean up the GuiCommand and task panel code, and avoid printing
messages to the terminal, as this is already done
by the make function.
2020-06-03 14:46:15 +02:00
vocx-fc
8573bc01e9 Draft: clean up make_array function 2020-06-03 14:46:15 +02:00
vocx-fc
9919849de5 Draft: migrate PointList property to PointObject in PointArray
Use the `onDocumentRestored` method to check for the old
property.

Also modify the position of the base object in the draft test
script.
2020-06-03 14:44:00 +02:00
vocx-fc
31c8f49467 Draft: add new options to the make_point_array function
It supports a new parameter `extra` that is used
to provide `ExtraPlacement` for the copies of the array.

Adjust the GuiCommand properly.
2020-06-03 14:44:00 +02:00
vocx-fc
1a277967eb Draft: add additional displacement property for PointArray
The displacement is added to the position already defined by
the point, in order to impart an additional shift in the copy.

The rotation is also added to the original shape's rotation
by multiplying the quaternions.

Implement `onDocumentRestore` to add the new property
to older objects.
2020-06-03 14:44:00 +02:00
vocx-fc
4b65440112 Draft: clean up code, PEP8, and docstrings for PointArray
Test the inputs to the `make_point_array` function
and return `None` if there is a problem.

Now the make function accepts as input a `"String"` which must be
the `Label` of an object in the document, so it is easier to create
arrays quickly from the Python console.

Add a message deprecating the older call `makePointArray`.

Adjust the GuiCommand accordingly. Now it uses the commit
mechanism of the parent `Modifier` class so that the executed
functions are recorded in the Python console.

Clean up the `PointArray` class as well.
2020-06-03 14:44:00 +02:00
Bernd Hahnebach
b7e27f5af9 FEM: ccx writer, add comment 2020-06-03 13:17:18 +02:00
WandererFan
8817131c10 Merge pull request #3551 from WandererFan/PAAngle
[Draft]Path Array tangent rotation direction
2020-06-03 07:14:11 -04:00
Bernd Hahnebach
ab0965872e FEM: ccx writer, fix output number formating 2020-06-03 13:13:34 +02:00
Russell Johnson
f50dc12939 Path: Fix reference to label in UI panel 2020-06-02 19:59:27 -05:00
sliptonic
6b0b237441 Merge pull request #3537 from Russ4262/Reuse_Base_Geometry
Path: New feature - import base geometry from existing operations in Job
2020-06-02 18:28:19 -05:00
wandererfan
25d419e1c0 [Draft]Path Array tangent rotation direction 2020-06-02 13:55:44 -04:00
Abdullah Tahiri
c7b963d991 Sketcher: Avoid PointOnObject Autoconstraint on BSpline
=======================================================

fixes #4295

PointOnObject autoconstraint for BSplines is currently not supported, this
commit prevents malformed autoconstraint creation.
2020-06-02 19:08:06 +02:00
mwganson
11f9c249e7 [Part Design] fix refine feature in Hole feature 2020-06-02 17:44:20 +02:00
Yorik van Havre
369f860998 Draft: Added Area and Offset properties to Facebinder 2020-06-02 14:00:25 +02:00
Yorik van Havre
811327620f Draft: Fixed translation regression 2020-06-02 13:44:46 +02:00
Yorik van Havre
0553e440b7 Arch: Movig utils functions from importIFC to importIFCHelper 2020-06-02 13:39:22 +02:00
vocx-fc
c5193ec6f7 Draft: add use_instead function to warn users about old functions
This can be used to deprecate older definitions
and suggest users to try a different function. This will be used
in the make functions in `draftmake`.
2020-06-02 12:29:50 +02:00
vocx-fc
78d7616ddc Draft: add find_object function to find objects by label in a document
Also add `find_doc` to be able to test the existence of an
active document before searching for the object.

These can be used in the make functions of most modifier commands.
2020-06-02 12:29:50 +02:00
vocx-fc
fea82942d3 Draft: clean up the utils module a bit, PEP8, style 2020-06-02 12:29:50 +02:00
Harald Geyer
6665799aac Arch: IFC import, implementation of IfcIndexedPolyCurve
ArchiCAD uses this entity for footprint annotations even if there are no
arc segments. Thus I need this, but couldn't test the arc part of the
patch.
2020-06-02 12:26:25 +02:00
WandererFan
7773443508 Merge pull request #3365 from donovaly/TD-DetailWork
[TD] some Detail View fixes
2020-06-01 20:43:01 -04:00
Abdullah Tahiri
f086580013 Sketcher: Make setposition text unpickable
==========================================

fixes #4272

The setposition text string was being picked interfering with preselection of autoconstraints.

Merit for the solution goes to Werner:
https://forum.freecadweb.org/viewtopic.php?f=10&t=47092&p=404519#p404519
2020-06-01 19:56:01 +02:00
Russell Johnson
254c03c29f Path: New feature - import base geometry from existing operations in Job
This feature allows the user to import base geometry from an existing operation in the same Job.  The imported geometry is still passed through the shape type filter as if it were manually selected in the viewport.
Path: Post-test updates
2020-06-01 11:18:22 -05:00
donovaly
98d2bb64a2 Merge branch 'master' of github.com:FreeCAD/FreeCAD into TD-DetailWork 2020-06-01 14:06:56 +02:00
Abdullah Tahiri
28222fe066 Sketcher: Fix undo on moving geometry
=====================================

fixes #3842
2020-05-31 20:53:07 +02:00
sliptonic
396de0868d Merge pull request #3534 from Russ4262/MillFace_Improvement
Path: MillFace - Add `Face Region` method to boundary shape options
2020-05-31 12:48:28 -05:00
sliptonic
bd58309cc3 Merge pull request #3512 from Russ4262/Waterline_coolant
Path: Waterline - Add missing `CoolantMode` input to GUI
2020-05-31 12:47:30 -05:00
sliptonic
6f76db0eb9 Merge pull request #3506 from gwicke/path_newlines
Path: Opt into automatic git newline normalization
2020-05-31 12:44:47 -05:00
sliptonic
673c394b25 Merge pull request #3518 from gwicke/flake8_config
Path: Add .flake8 config for path module
2020-05-31 12:28:41 -05:00
Gabriel Wicke
cc84287515 Path: Opt into automatic git newline normalization
Avoid spurious diffs from inadvertent newline changes by letting git
normalize newlines in the path module as well, just as a list of other
modules including Draft already do.

This effectively standardizes all checked-in code to Unix newlines, but
checkouts might use CRLF if that is the user preference.
2020-05-31 08:33:29 -07:00
wandererfan
c405349e86 [TD]export Svg hatch as bitmap (PDF) 2020-05-31 11:26:56 -04:00