Commit Graph

34415 Commits

Author SHA1 Message Date
David Carter
442bca834e 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
6624fa3775 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
563dc0b0cc Part: Add method Part.Compound.setFaces() 2023-09-25 15:31:30 +02:00
Yorik van Havre
cdbc778513 Arch: fixed leftover in OfflineRenderingUtils 2023-09-25 15:00:26 +02:00
Yorik van Havre
afdbd4c094 Removed the use of SoGui in Arch OfflineRenderingUtils module 2023-09-25 15:00:26 +02:00
wmayer
836c237d3c Fem: Apply clang-format 2023-09-25 14:50:43 +02:00
wmayer
b8b94c249e Fem: Apply clang-format 2023-09-25 14:50:43 +02:00
wmayer
59c7653584 Fem: Apply clang-format 2023-09-25 14:50:43 +02:00
wmayer
91a40b2007 Fem: Apply clang-format 2023-09-25 14:50:43 +02:00
wmayer
800006a505 Fem: Add to pre-commit hooks 2023-09-25 14:50:43 +02:00
wmayer
58adf212d9 App: still support __getstate__/__setstate__ for add-ons for < Py3.11 2023-09-25 14:48:54 +02:00
wmayer
c1d1a4fd1f Test: add unit tests for PropertyPythonObject 2023-09-25 14:48:54 +02:00
wmayer
37e477d3e7 Import: fixes #8666: Enable support to read glTF files 2023-09-25 13:02:59 +02:00
wmayer
0aa9ea99b4 Import: move glTF writer to its own source files 2023-09-25 13:02:59 +02:00
FEA-eng
9260cd9502 FEM naming fix part 2 2023-09-25 12:17:43 +02:00
Yorik van Havre
93cb1b3158 Merge pull request #10778 from Roy-043/Start-use-Gui-FileChooser-Directory-where-applicable
Start: use Gui::FileChooser::Directory where applicable
2023-09-25 10:58:20 +02:00
Yorik van Havre
951aafde60 Merge pull request #10555 from Syres916/Font_8514oem_exclude
[Preferences] Exclude 8514oem from Monospace fonts
2023-09-25 10:57:26 +02:00
Yorik van Havre
be84810aa9 Merge pull request #10783 from Roy-043/Draft-ShapeString-add-ObliqueAngle-property
Draft: ShapeString: add ObliqueAngle property
2023-09-25 10:54:53 +02:00
Yorik van Havre
f883a77ca0 Merge pull request #10766 from Roy-043/Draft-Introduction-of-the-PlaneBase-class
Draft: Introduction of the PlaneBase class
2023-09-25 10:09:48 +02:00
wmayer
9728e60753 Gui: fixes #10782: Unable to cancel Select module Open obj messagebox 2023-09-24 16:08:02 -05:00
Roy-043
432ba3adde Draft: ShapeString: add ObliqueAngle property (improvement) 2023-09-24 19:04:32 +02:00
wmayer
83d4080fe8 App: fixes #10460: App::PropertyPythonObject is not saving data
Since Py3.11 the methods names __setstate__ and __getstate__ conflict with the method names added to the object class.
Thus rename them to 'loads' and 'dumps'
2023-09-24 10:56:35 -05:00
Rexbas
97d84ec184 Add Rexbas to contributors 2023-09-24 12:17:40 +02:00
Chris Hennes
d95b26dfb5 Merge pull request #10788 from wwmayer/format_no_sorting
clang-format: disable sorting of includes
2023-09-23 23:59:43 -05:00
wmayer
b65ae56f1f clang-format: disable sorting of includes
Sorting the included headers regularly leads to build failures. Especially when PCH is enabled the PreCompiled.h must be the very first include
2023-09-23 19:17:33 +02:00
wmayer
5a81fcd7a5 MSVC: fix warnings and build failure 2023-09-23 19:10:32 +02:00
wmayer
15b11bc360 Mesh: Apply clang-format 2023-09-23 14:03:11 +02:00
wmayer
4e328682d9 Mesh: Apply clang-format 2023-09-23 14:03:11 +02:00
wmayer
14cbc5f1e5 Mesh: Add to pre-commit hooks 2023-09-23 14:03:11 +02:00
Roy-043
4ef4819872 Draft: ShapeString add ObliqueAngle property
Fixes #5656.
2023-09-23 11:39:27 +02:00
Chris Hennes
c3b33f6b96 Merge pull request #10767 from qewer33/assembly-jcs
Assembly: Improve JCS appearance and implement autoscale
2023-09-22 20:44:49 -05:00
Roy-043
1893ff0065 OpenSCAD: use Gui::FileChooser::Directory where applicable 2023-09-22 15:06:15 -05:00
Roy-043
26418c07e7 Draft: ShapeString: add font file filter (#10777)
Forum topic:
https://forum.freecad.org/viewtopic.php?t=81280
2023-09-22 21:23:56 +02:00
Roy-043
ca7b329c43 Draft: use Gui::FileChooser::Directory where applicable (#10780) 2023-09-22 21:23:23 +02:00
Roy-043
2257f3291c Start: use Gui::FileChooser::Directory where applicable 2023-09-22 20:14:57 +02:00
qewer33
62722aa8c0 Assembly: Make JCS axis colors use parameters 2023-09-22 19:46:58 +03:00
qewer33
49a9f5b0ad Assembly: Improve JCS appearance and implement autoscale
Closes #10745, closes #10746
2023-09-22 17:42:39 +03:00
Yorik van Havre
79211f7efe Arch: Added missing ArchSketchObject to cmake file (#10774) 2023-09-22 16:42:34 +02:00
luzpaz
274b05cf2d Part: remove leftover comment markup
Closes #10731
2023-09-22 15:56:22 +02:00
wmayer
fdc44d50ef Gui: fixes #10724: TaskView gets truncated 2023-09-21 19:11:45 -05:00
wmayer
5743ce4681 Gui: fix possible memory leak if inappropriate view provider is created
Example code:
doc = App.newDocument()
doc.addObject(type = "Part::Feature", viewType = "MeshGui::ViewProviderMesh")
2023-09-21 19:11:29 -05:00
Roy-043
6528eef858 Draft: Introduction of the PlaneBase class
This PR introduces the new PlaneBase class.

Most of its functions are rewritten versions of the functions in the original Plane class, with the exception of align_to_point_and_axis_svg.

Note that after this PR the original Plane class does not yet inherit from PlaneBase. This will be done in several following PRs. I will then also explain the reasons behind some of the revised functions in PlaneBase.

The introduction of the PlaneGui class will follow after that.

Issue: #5603.
2023-09-21 15:20:48 +02:00
Yorik van Havre
864026d32b Merge pull request #10741 from Roy-043/Arch-avoid-intersecting-solids-in-windows-and-doors-with-openings
Arch: avoid intersecting solids in windows and doors with openings
2023-09-21 13:51:11 +02:00
Yorik van Havre
e0b814ed59 Merge pull request #10735 from Roy-043/Draft-Add-distance_to_plane-and-project_point_on_plane-to-geometry.py
Draft: Add distance_to_plane and project_point_on_plane to geometry.py
2023-09-21 11:11:44 +02:00
Chris Hennes
e36e16de59 Merge pull request #10667 from chennes/toponamingHasherToDocument
App/Toponaming: Add StringHasher to Document
2023-09-20 13:31:02 -05:00
wandererfan
0b191c477b [TD]initial implementation of cosmetic cicle command 2023-09-20 13:42:11 -04:00
Chris Hennes
3a0582b507 Merge pull request #10738 from qewer33/transform-fixes
Gui: Transform dragger fixes for PR #10706
2023-09-20 09:43:33 -05:00
Pieter Hijma
1fc5dea14c TechDraw: Expose two functions for SVG export 2023-09-20 09:27:17 -04:00
André Caldas
695a314229 TechDraw: creates closure for concurrent thread context.
We use a lambda function with a copy of variables
that might be destructed in the original calling thread,
possibly producing dangling references.

See: https://forum.freecad.org/viewtopic.php?t=81260
2023-09-20 09:26:15 -04:00
Rexbas
c2bf9efc7d Gui: Improve accuracy for navigation cube's rotate to nearest feature 2023-09-20 07:37:02 -05:00