Commit Graph

16634 Commits

Author SHA1 Message Date
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
wandererfan
4a3bd23877 [Part]use BSpline for makeWireString instead of Bezier curves.
- the bezier curves from the font definitions cause checkGeometry
  errors when extruded.  bsplines do not have this problem.
2020-05-31 11:26:22 -04:00
Gabriel Wicke
2af8e8b8a4 Merge branch 'master' into flake8_config 2020-05-31 08:24:32 -07:00
sliptonic
58b86ad9f8 Merge pull request #3496 from gwicke/transition_fixes
Path: Fix step transition optimizations
2020-05-31 09:47:52 -05:00
Russell Johnson
b77991018b Path: Add new Face Region boundary option.
New option allows access to previously inaccessible faces.
Corrected property label names in UI panel, and added `Face Region` option to boundary shape list.
2020-05-30 20:56:00 -05:00
Russell Johnson
4cd5191073 Path: Extend ClearEdges to Perimeter boundary usage. 2020-05-30 20:56:00 -05:00
Russell Johnson
024d23bf31 Path: Code cleanup
Fix `If ... is True:` clauses.
Remove unnecessary doc variables.
2020-05-30 20:56:00 -05:00
Russell Johnson
3b5d2d2e7f Path: Add missing Setup() properties; Visual organization 2020-05-30 20:56:00 -05:00
donovaly
6cfc208db8 [TD] TaskDetail: omit problematic slot issue 2020-05-31 02:14:20 +02:00
donovaly
92bd5b56b1 Merge branch 'master' of github.com:FreeCAD/FreeCAD into TD-DetailWork 2020-05-31 00:24:29 +02:00
vocx-fc
2330eef823 FEM: fix failing unit test in Elmer meshing (SecondOrderLinear) 2020-05-30 23:30:10 +02:00
Gabriel Wicke
834acec924 Merge branch 'master' into flake8_config 2020-05-30 09:35:43 -07:00
wmayer
2cb9b147f1 Import: handle OCC versions 7.4.1 and earlier 2020-05-30 11:56:14 +02:00