Commit Graph

35606 Commits

Author SHA1 Message Date
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
Damien Miller
b24ec0d4fa regress test for G43 in centroid post
Since the centroid post now support --no-tlo, we can test that
too.
2023-09-29 17:46:28 +10:00
LarryWoestman
d534115c19 Path: Major refactoring of the export_common function.
Minor refactors to parse_a_path.
       Removed "message" command handling.
2023-09-28 15:30:55 -07: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
jffmichi
55921c81a9 Path: fix LeadInOutDressup incorrectly treating missing axis words as being 0 2023-09-28 21:10:21 +02:00
Damien Miller
43fcccf75f Add G43 tool height compensation to centroid post
This adds G43 tool height compensation to the centroid CAM post-processor using
a similar approach to the G43 support in the MACH3 post.

Specifically, G43 is emitted at every tool change by default and a new
`--no-tlo` post argument can restore the old behaviour of no height
compensation being emitted. These both match how the MACH3 post does it.
2023-09-28 23:56:50 +10: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
dyylanhammond
3b44bba8ac Change default file saving preferences (#10781)
* Change default compression level from 3 to 7
* increase default thumbnail size to 256
2023-09-27 16:08:43 -05:00
ppphp
ab8ae5ffdd Merge branch 'master' into remove_redundant_definition 2023-09-28 01:38:38 +08: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
wmayer
455fd3b2e5 Base: use NoArgs in MatrixPy 2023-09-27 17:48:53 +02:00
wmayer
4f8ce85abd Tools: support of METH_NOARGS flag for Python methods 2023-09-27 17:48:53 +02: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
liukaiwen
329904a055 [cmake] some definitions do not matter build now 2023-09-27 18:17:14 +08: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
Yorik van Havre
7ca0b38d70 Merge pull request #10827 from FreeCAD/revert-9446-navigation-animation
Revert "Gui: Refactor navigation animations"
2023-09-27 11:15:43 +02:00
Yorik van Havre
f1fb45960d Revert "Gui: Refactor navigation animations" 2023-09-26 19:44:16 +02:00
wmayer
097b60a612 Gui: fix automatic spinning of DemoMode 2023-09-26 15:41:12 +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
wmayer
dca598f4e5 Gui: do not create the commands StdCmdSelBack and StdCmdSelForward twice 2023-09-26 11:07:51 +02:00
Yorik van Havre
d65dcc255d Merge pull request #10790 from Rexbas/rotation-center-preferences
Gui: Add rotation center indicator color, transparency and size preferences
2023-09-26 11:01:19 +02:00
Yorik van Havre
bd6147ca2e Merge pull request #10816 from Roy-043/Arch-ArchSectionPlane.getSVG-add-linespacing-argument
Arch: ArchSectionPlane.getSVG add linespacing argument
2023-09-26 10:59:14 +02:00
AgCaliva
a4e90b2609 Merge branch 'master' into User/Document/Feature_level_units_selection_#7746 2023-09-25 22:58:23 -03: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
Yorik van Havre
113bfed537 Merge pull request #9446 from Rexbas/navigation-animation
Gui: Refactor navigation animations
2023-09-25 18:15:43 +02:00
andrea
48936dbdd8 update glext.h 2023-09-25 11:00:01 -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
Chris Hennes
f3422cdf5b Merge pull request #10761 from Ondsel-Development/ui_view_toolbar
Toolbar View and Structure cleaning
2023-09-25 10:42:26 -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
Yorik van Havre
ff6e0fee24 Removed the use of SoGui in Arch OfflineRenderingUtils module 2023-09-25 15:00:26 +02:00