Commit Graph

36780 Commits

Author SHA1 Message Date
wmayer
dfc74591cc Material: add workbench manipulator
Implement a workbench manipulator to inject Std_Material and Std_Appearance to (context) menu.
2024-04-05 10:08:06 +02:00
wmayer
384902c26c Gui: Fix broken toolbars layout due to MaterialWorkbench
The explicit activation of the MaterialWorkbench breaks the toolbars layout for every start. When fixing it manually it will be broken
again after the next start.

Because the core doesn't depend on the Material module it's a no-go to add an explicit runtime dependency to the corresponding workbench.

Since the Part module depends on the Materials module and the PartGui on MatGui the correct way is to let Part an PartGui load their
dependencies.
2024-04-05 10:08:06 +02:00
wmayer
f254baa65f Material: fixes several issues
* fix warning -Wunused-variable
* fix warning -Wreorder-ctor
* fix warning -Wunused-but-set-variable
* fix uic warning for DlgDisplayProperties.ui
* rename the target MateriaTestLib ALL (note the typo and the already existing MaterialTestLib ALL) to MaterialTest ALL
  drop the hard dependency to the Part module: The document is checked for a property ShapeMaterial of type Materials::PropertyMaterial.
  An alternative could be to cast to GeoFeature and use the methods getMaterialAppearance() and setMaterialAppearance()
2024-04-05 10:08:06 +02:00
FEA-eng
8440586550 MATERIAL: Update cardutils.py 2024-04-04 23:29:12 -05:00
PaddleStroke
27b72398b1 Sketcher: Translate Fixes #13189 horizontal/vertical lost. 2024-04-04 22:46:00 -05:00
CalligaroV
11bed3b8da App/Toponaming: GeoFeature - fixes #13009 - fixes #13248
* Restored previous logic of GeoFeature::getElementName()
 * Added precompiler directive to use the old logic if FC_USE_TNP_FIX isn't defined, otherwise use the new logic
 * Reworked SketchObjectTest::getElementName() as a consequence of the previous points

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-04 22:09:12 -05:00
David Carter
ba20441935 Material: Material appearance
Uses new material system for appearance

Each feature object now has a property called ShapeMaterial that
describes its physical properties. If it has a shape, it has a
material.

The ShapeColor attribute is replaced by a ShapeAppearance attribute.
This is a material list that describes all appearance properties, not
just diffuse color. As a list in can be used for all elements of a
shape, such as edges and faces.

A new widget is provided to allow the user to select materials in a
consistent fashion. It can also launch the material editor with its
more advanced capabilities.
2024-04-04 07:39:58 -05:00
bgbsww
37c38acd19 Add an initial test to show TNP (#13233)
* Add an initial test to show TNP

* Add documentation, make review tweaks

* Quiet Lint
2024-04-03 16:53:58 -05:00
FEA-eng
c3f3e47d59 TECHDRAW: Update DimensionValidators.h 2024-04-03 22:42:59 +02:00
FEA-eng
523ad14309 TECHDRAW: Update DimensionValidators.cpp 2024-04-03 22:42:59 +02:00
FEA-eng
437c125bab ARCH: Update importIFCHelper.py 2024-04-03 18:48:45 +02:00
FEA-eng
d459a9cb40 FEM: Update constraint_contact_solid_solid.py 2024-04-03 18:48:45 +02:00
FEA-eng
5d394ba2e8 FEM: Update exportNastranMesh.py 2024-04-03 18:48:45 +02:00
FEA-eng
7cdfb95a6b FEM: Update ccxtools.py 2024-04-03 18:48:45 +02:00
FEA-eng
09e9bc4168 FEM: Update ccx_cantilever_beam_rect.py 2024-04-03 18:48:45 +02:00
FEA-eng
f28bab977b SPREADSHEET: Update importXLSX.py 2024-04-03 18:47:23 +02:00
wmayer
64e7ae60e8 RE: Add function to approximate B-Spline from points 2024-04-03 18:06:00 +02:00
wmayer
7a7c0081c3 Part: Add overloaded methods of GeomBSplineCurve::approximate 2024-04-03 18:06:00 +02:00
wandererfan
e64af14325 [TD]fix fail on corrupt dimension reference 2024-04-03 08:48:39 -04:00
wmayer
c96fd71e4f Fix several compiler warnings
* fix -Winconsistent-missing-override
* fix -Wunused-but-set-variable
* fix -Wunused-parameter
* fix -Wunused-lambda-capture
* fix -Wunused-private-field
* fix -Wpessimizing-move
2024-04-03 10:04:56 +02:00
wmayer
4263ab1937 C++: replace deprecated vsprintf and sprintf
With future C++ compilers the methods vsprintf and sprintf are declared as deprecated due to security issues.
They are replaced with the secure counterpart of the fmt library

Fixes the compiler warnings -Wdeprecated-declarations
2024-04-03 10:04:56 +02:00
Chris Hennes
8f82109248 Fix Material resource location 2024-04-02 22:52:52 -05:00
CalligaroV
a995efbe76 Part/Toponaming: WireJoiner - use std::hash with OCC_VERSION_HEX >= 0x070800
* Added precompiler directive to use std::hash instead of HashCode(INT_MAX) if OCC_VERSION_HEX >= 0x070800

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-02 17:23:56 -05:00
wmayer
50a54516e3 Mat: Material editor can't be opened from FEM_MaterialSolid and FEM_MaterialFluid
This fixes #12949.

* The file materials-editor.ui must be installed with a separate INSTALL command because it goes to another directory than the other resource files.
* Material_rc.py isn't copied to the build directory any more. So, then don't install it either.
2024-04-02 17:44:28 +02:00
wmayer
c9ac09a528 Material: add MatGuiImages to MatGui target 2024-04-02 17:44:28 +02:00
wmayer
8a3aa77b9e Robot: do not install testprog.* files 2024-04-02 17:44:28 +02:00
wmayer
30341ee8d7 FEM: do not copy __init__.py from z88 into its sub-directories with INSTALL target 2024-04-02 17:44:28 +02:00
wmayer
4b583018a0 Ext: copy Python modules to Ext to be consistent with INSTALL target 2024-04-02 17:44:28 +02:00
Ladislav Michl
4054520f08 Gui: WorkbenchSelector: Fix build with Qt6
indexOf is returning qsizetype in Qt6, so use type explicitely.
2024-04-02 16:19:27 +02:00
Ladislav Michl
ec3b89a567 Gui: WorkbenchSelector: Fix whitespaces 2024-04-02 16:19:27 +02:00
Yorik van Havre
00b6b6ba3b Setter for Modified attribute 2024-04-02 15:28:57 +02:00
FEA-eng
5bab520175 FEM: Update importToolsFem.py 2024-04-02 15:27:13 +02:00
paullee
4d97115909 [ArchRoof] Generate subVolume from base if solid
For roof created from Base object as solids:
Not only the solid of the base object itself be subtracted from a Wall, but all portion of the wall above the roof solid would be subtracted as well.

FC forum discussion : Sketch based Arch_Roof and wall substraction
- https://forum.freecad.org/viewtopic.php?t=84389
2024-04-02 15:25:38 +02:00
sliptonic
91f05ebe74 Merge pull request #13254 from jamwaffles/drill-g85-feed-retract
CAM/Drilling: Add feed retract option to drilling op settings for reaming/boring heads
2024-04-02 07:57:55 -05:00
sliptonic
9dca7bbf09 Merge pull request #13273 from Ondsel-Development/cam-prefs
Cam prefs
2024-04-02 07:35:52 -05:00
Roy-043
8cb9aa4338 Arch: Arch_Pipe did not process Subtractions and Additions
Forum topic:
https://forum.freecad.org/viewtopic.php?t=86556
2024-04-02 12:06:19 +02:00
paul
f29131bbae [ArchWall] getExtrusionData() fix normal problem by adding get_shape_normal() (#12603)
* [ArchWall] getExtrusionData() fix normal problem by adding get_shape_normal()

In geometry.py
- added get_shape_normal()
- fixed is_straight_line()
DraftGeomUtils.py
- added get_shape_normal()

FC Discussion - https://forum.freecad.org/viewtopic.php?p=726101#p726101

* [ArchWall] getExtrusionData() fix normal problem

Follow-up following discussion at https://github.com/FreeCAD/FreeCAD/pull/12603

- delete trailing whitespaces
- put Part.makePolygon() in try statement
- study and findings at https://github.com/FreeCAD/FreeCAD/pull/12603#issuecomment-1969277743

In geometry.py
- added get_shape_normal()
- fixed is_straight_line()
DraftGeomUtils.py
- added get_shape_normal()

FC Discussion - https://forum.freecad.org/viewtopic.php?p=726101#p726101

* Update geometry.py

* Update geometry.py

* Update geometry.py

---------

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2024-04-02 11:54:27 +02:00
James Waples
9dbaf37251 Add tests for drill feed retract option 2024-04-02 09:45:34 +01:00
James Waples
88370e2889 Add some extra docs and combinatorial checks 2024-04-02 09:45:34 +01:00
James Waples
700fcb061e Add tooltip 2024-04-02 09:45:34 +01:00
James Waples
dc1db06b10 CAM/Drilling: Add feed retract option to drilling op settings
Adds a checkbox to output a G85 cycle used for reaming or boring. The
cycle is like a normal drilling op, but feeds back out of the hole
instead of performing a rapid move.

G85 does not support peck or dwell, so those other options are disabled
when the "Feed retract" option is enabled in the UI.
2024-04-02 09:45:34 +01:00
PaddleStroke
4ef99a1f4a Sketcher: Fixes #13181 2024-04-02 09:48:44 +02:00
wmayer
392d0ce150 Gui: Fix Std_LinkActions
Currently the active button of the Std_LinkActions command is toggable that is confusing behaviour.
This PR makes the action group non-checkable
2024-04-02 08:19:38 +02:00
wmayer
96b054aa84 PD: Fixes 12673: Transforming of sub-shape binder fails
The problem is caused by conflicting values of the anonymous enum of ViewProviderSubShapeBinder. The solution is to set a higher value than the highest value of EditMode
2024-04-02 08:18:46 +02:00
wmayer
b711c586c8 PD: replace static_cast with dynamic_cast
The use of static_cast here could cause undefined behaviour because at this point it's not guaranteed that findBodyOf()
really returns a PartDesign::Body
2024-04-02 08:17:45 +02:00
sliptonic
6f3cd260ae fixes #13206 2024-04-01 18:20:27 -05:00
sliptonic
202473b287 fixes #13207 2024-04-01 18:20:27 -05:00
bgbsww
b710444271 Rewrite PropertyTopoShape::getShape to fix dangling reference 2024-04-01 16:54:59 -05:00
ppphp
53ff51b10e fix for yaml version 2024-04-01 16:46:57 -05:00
wmayer
b1a0a3edc8 Gui: fix compiler warning 2024-04-01 19:42:08 +02:00