Commit Graph

26197 Commits

Author SHA1 Message Date
wmayer
5a49ba8e20 Import: improve new STEP/IGES/glTF export function to support colors per face in headless mode
Fixes #10861
2023-10-02 17:10:34 +02:00
wmayer
2d4bcbba34 Import: fix legacy STEP/IGES/glTF export function to support colors per face
See issue #10861
2023-10-02 17:10:34 +02:00
wandererfan
2d72806e29 [TD]Fix no dimensions from old document (#10880) 2023-10-02 09:39:27 -04:00
Yorik van Havre
3360a85097 Merge pull request #10838 from Roy-043/Draft-Update-the-Plane-class-(step-1)
Draft: Update the Plane class (step 1)
2023-10-02 11:36:38 +02:00
wandererfan
b47e9b6420 [TD]add line spacing property
- requires Arch PR #10816 to see results
2023-10-01 19:54:32 -04:00
Paddle
e87f9ed980 Remove Std_MacroStopRecord command as obsolete. 2023-10-01 17:22:19 -05:00
wmayer
02df23ce95 Import: move OCAFBrowser to its own source files 2023-10-01 22:23:57 +02:00
wmayer
6d7b6b52c2 Import: rename ImportOCAFExt to ImportOCAFGui and move to own source files 2023-10-01 22:23:57 +02:00
wmayer
f7c348a47c Import: move class ExportOCAFGui tp its on source files 2023-10-01 22:23:57 +02:00
wmayer
abda1438ad Import: code-refactoring and clean-up
* Add new method ExportOCAF::exportObjects() to avoid code duplication
* Simplify handling of arguments passed to Python handler
* Fix several lint warnings
* Move ImportOCAFExt to the corresponding source files
2023-10-01 22:23:57 +02:00
wmayer
58cc0f2a0d Import: fix lint warnings
* Make constructors explicit
* Fix a regression from PR 10783
2023-10-01 08:01:41 +02:00
wmayer
75b313be28 Import: move IGES reader & writer to own classes 2023-10-01 00:18:11 +02:00
wmayer
f40dfe7193 Import: move STEP reader & writer to own classes 2023-10-01 00:18:11 +02:00
Roy-043
5dc9c484b9 FEM: Add sWhatsThis for FEM_CompEmConstraints 2023-09-30 18:43:48 +02:00
wmayer
9f42bdb323 Gui: fixes #10807: By default keep the old tabulated layout of ComboView and TaskView 2023-09-30 17:33:33 +02:00
Chris Hennes
6c9be93378 Update translations 2023-09-29 22:57:37 -05:00
Chris Hennes
8bb7523f9b Merge pull request #10863 from wwmayer/material_fixes
Material: fix build failure with Qt6
2023-09-29 22:50:18 -05:00
wmayer
fa3c0418c3 Material: use get_filename_component() instead of cmake_path() to support older CMake versions 2023-09-29 07:32:58 -05:00
Yorik van Havre
7f8589bad2 Merge pull request #10856 from Roy-043/Draft-get_movable_children-prevent-endless-loop
Draft: get_movable_children: prevent endless loop
2023-09-29 11:27:34 +02:00
Yorik van Havre
c1146d9e1d Merge pull request #10845 from Roy-043/Draft-ImportDXF-CURRENTDXFLIB-is-not-obsolete-and-should-be-kept
Draft: ImportDXF: CURRENTDXFLIB is not obsolete and should be kept
2023-09-29 11:24:06 +02:00
wmayer
f4c6504aa1 Material: QMetaType::type(const char*) is deprecatred and shouldn't be used in new code 2023-09-29 11:05:07 +02:00
wmayer
0eb789a1e2 Material: fix build failure with Qt6 2023-09-29 10:09:39 +02:00
wmayer
11e4072fb7 Material: include some more required header files
as otherwise the parser of the clang code model raises a lot of error messages
2023-09-28 15:33:03 -05:00
Jolbas
5d39d7c3e9 Matrix.decompose() fix
Fixes some errors when matrix has zero scale in one or two directions
2023-09-28 15:25:29 -05:00
Jolbas
31637adaa0 Create rotation from any matrix
To help find a matrix components a decompose method is added to Matrix class
2023-09-28 15:25:29 -05:00
Roy-043
4cf613ec31 Draft: get_movable_children: prevent endless loop
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81547
2023-09-28 15:19:25 +02:00
wandererfan
2f069bb94f [TD]fix missing reference geometry 2023-09-28 09:01:39 -04:00
marioalexis
4630bdbcb1 Material: Include needed header file 2023-09-28 14:55:55 +02:00
wmayer
b01a41237a Mat: fix several compiler warnings:
* -Winconsistent-missing-override
* -Wtautological-undefined-compare
2023-09-27 21:38:56 -05:00
Chris Hennes
1dd2baa172 Merge pull request #10690 from davesrocketshop/material_merge
Material: Material handling enhancements
2023-09-27 16:15:06 -05:00
wandererfan
a48490f518 [TD]fix centerline rotation 2023-09-27 12:24:21 -04:00
wandererfan
68f79e06ae [TD]allow centerline deletion with Del 2023-09-27 12:24:21 -04:00
Roy-043
a9e224cdae Draft: ImportDXF: CURRENTDXFLIB is not obsolete and should be kept 2023-09-27 15:41:40 +02:00
wmayer
0fd66ad64c Fem: fixes #10823: Solver CalculiX (new framework) seems to be unnecessary 2023-09-27 13:04:48 +02:00
Roy-043
7a5d8bb3a8 Draft: Update the Plane class (step 1)
After this PR the `Plane` class inherits from the `PlaneBase` class.

Related issue:
#5603.

Previous PR:
#10766

The following functions have been updated:

`__init__`
* `u` argument can be a WP now.
* Input vectors are copied.
* Added the `weak` argument.
* the `doc` attribute was not used and has been removed.

`__repr__`
* Inherited.
* The `position` is now also shown.

`copy`
* Uses `match` from the parent class which uses the local `_get_prop_list` function. Again vectors are copied.

`offsetToPoint`
* I could not find evidence that this function is used anywhere.
* The `direction` argument did not make a lot of sense (only worked in 2D). It is now ignored.
* Removed the overly long docstring.
* The function now uses an external function: `DraftGeomUtils.distance_to_plane`.

`projectPoint`
* The function calls `super().project_point` which in turn calls `DraftGeomUtils.project_point_on_plane`.
* `from sys import float_info` is no longer required.

`projectPointOld`
* Obsolete and removed.

`align*`
* All align* functions now have an `offset` argument.
* All align* functions return `True` or `False`.

`alignToPointAndAxis`
* The function ignored `upvec` if `axis` was parallel to the global X axis. This meant that the "Set WP" button of the Draft_Wire command did not work properly if the WP was aligned with the Right or Left view.
* The function calls `align_to_point_and_axis` which determines the rotation with `FreeCAD.Rotation(Vector(), upvec, axis, "ZYX")`.

`alignToPointAndAxis_SVG`
* The function calls `super().align_to_point_and_axis_svg` which contains the code from the old function.

`alignToCurve`
* Was not implemented.

`alignToEdges`
* Original code required two parallel edges (for example from an axis system), else the `u` and `v` vectors would not be perpendicular.
* The function calls `super().align_to_edges_vertexes` now.

`alignToFace`
* The function now uses an external function: `DraftGeomUtils.placement_from_face`. The rotation algorithm for the `u` and `v` vectors has been moved there.

`alignTo3Points`
* Basically unchanged. `Part` is already imported at the top of the file.

`alignToSelection`
* Basically unchanged. Will be replaced in the `PlaneGui` class.
2023-09-27 11:25:04 +02:00
wmayer
712db967c2 Mesh: C++ core guidelines 2023-09-26 13:10:23 +02:00
Roy-043
2f6b72bf01 Draft: ShapeString: improve ObliqueAngle (#10811)
Calculation of the justification required the use of `optimalBoundingBox` and should happen after applying the oblique angle.
2023-09-26 12:53:53 +02:00
wmayer
a364141c58 Mesh: C++ core guidelines 2023-09-26 11:20:35 +02:00
Roy-043
64c346b7fa Arch: ArchSectionPlane.getSVG add linespacing argument
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81470
2023-09-25 22:09:41 +02:00
sliptonic
f23caf4d5c Merge pull request #10800 from Syres916/Sanity_FollowUp
[Path] Sanity Follow up improvements...
2023-09-25 14:19:50 -05:00
Ajinkya Dahale
8a44cfc970 [Part] Optimize snippet of code in ShapeMerge.py
Some notes:

Earlier, when adding to the list `connected_to`. the numbers are added in order
from `range(len(groups)`, so we are already in order and every `i_group` is unique.
2023-09-25 11:27:55 -05:00
howie-j
12f80320fc [Sketcher] Fix angle constraint expression regression (#10743)
* fix 10742

* moved expression string modifier to helper function

* Tests: Add example tests for SketchObject

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* made expr modifier func static, pass by value and added unit tests

---------

Co-authored-by: Chris Hennes <chennes@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-09-25 10:44:31 -05:00
sliptonic
23965d6cf5 Merge pull request #10789 from haraldhartmann/PathAddEstlcamPP-patch-2
Path: refactor Utils imports in estlcam_post.py
2023-09-25 10:36:18 -05:00
sliptonic
f6ed2c28c0 Merge pull request #10792 from jffmichi/fix_leadinoutdressup
Path: fix LeadInOutDressup throwing an exception due to floating poin…
2023-09-25 10:34:17 -05:00
pre-commit-ci[bot]
6afe304b0c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-25 15:05:50 +00:00
David Carter
37c7169ee4 Material: Material handling enhancements
Rework of the material handling system.

This first part concntrates on a rework of the material cards.
Rather than use a fixed list of possible properties, properties can
be defined separately in their own files and mixed to provide a
complete list of possible properties. Properties can be inherited.

The cards then provide values for the properties. These can also
be inherited allowing for small changes in cards as required.

The new property definitions are more extensive than previously.
2 and 3 dimensional arrays of properties can be defined. Values
are obtained by calling an API instead of reading from a dictionary.

For compatibility, a Python dictionary of values can be obtained
similar to how it was done previously, but this is considered a
deprecated API and won't support the newer advanced features.

The editor is completely reworked. It will be able to edit older format
material cards, but can only save them in the new format.

For testing during the development phase, a system preference can
specifiy wether the old or new material editors are to be used. This
option will be removed before release.
2023-09-25 11:04:15 -04:00
David Carter
902af79514 Material: Material handling enhancements
Rework of the material handling system.

This first part concntrates on a rework of the material cards.
Rather than use a fixed list of possible properties, properties can
be defined separately in their own files and mixed to provide a
complete list of possible properties. Properties can be inherited.

The cards then provide values for the properties. These can also
be inherited allowing for small changes in cards as required.

The new property definitions are more extensive than previously.
2 and 3 dimensional arrays of properties can be defined. Values
are obtained by calling an API instead of reading from a dictionary.

For compatibility, a Python dictionary of values can be obtained
similar to how it was done previously, but this is considered a
deprecated API and won't support the newer advanced features.

The editor is completely reworked. It will be able to edit older format
material cards, but can only save them in the new format.

For testing during the development phase, a system preference can
specifiy wether the old or new material editors are to be used. This
option will be removed before release.
2023-09-25 11:04:01 -04:00
wmayer
6b0c054023 Part: Add method Part.Compound.setFaces() 2023-09-25 15:31:30 +02:00
Syres916
6309aac3e5 [Path] Sanity fixed another bug found in testing 2023-09-25 14:18:38 +01:00
Yorik van Havre
270cc72293 Arch: fixed leftover in OfflineRenderingUtils 2023-09-25 15:00:26 +02:00