Commit Graph

36799 Commits

Author SHA1 Message Date
lyphrowny
f2c8bb79d6 FEM: migrate calculix tests to ccxtools tests 2024-04-08 18:02:33 +02:00
wmayer
b64e3e750f Sketch: add command to context-menu to change value of constraint
The edit datum dialog is opened by double-clicking on a dimensional constraint in a sketch. However, the double-clicking event doesn't work realiably on
some systems. As a workaround this PR adds the command to the context-menu.

For more details see the forum thread: https://forum.freecad.org/viewtopic.php?t=71137
2024-04-08 18:01:44 +02:00
Jiří Mácha
4b5d079e6b Assembly: fix segfault when Part property of Joint Connector is missing
FreeCAD is crashing during 'Solve Assembly' call if the Part property
(Assembly/Joints/Fixed/Joint Connector 1/Part1 or Assembly/Joints/Fixed/Joint
Connector 2/Part2) of fixed Joint is unset.

Steps to reproduce:

 - make simple Assembly e.g. of two cubes with Fixed joint
 - Select Fixed joint in the tree and go-to property 'Data' tab
 - Select Part1 or Part2 of 'Joint Connector 1' or 'Joint Connector 2'
   and remove this reference
 - call 'Solve Assembly' now

The FreeCAD will crash here because the call
App::DocumentObject* part = getLinkObjFromProp(joint, propPartName);
will return NULL pointer.

The property Part1 or Part2 can get empty (unset) during usual
construction operations - during changing construction history
and it can be very hard to find the cause of FreeCAD crash on a big
model.

This patch tries to fix the crash in such situation.
2024-04-08 18:00:40 +02:00
Max Wilfinger
33abd923b3 Update Sketcher context menu.
Refine poposed constraints on point selection.
Add symmetry constraint to context menu.
Rearrange commands to be consistent with the toolbar.
2024-04-08 17:58:28 +02:00
PaddleStroke
0fcaf5ccae Sketcher: Rectangle DSH Fixes #12297 2024-04-08 17:52:18 +02:00
PaddleStroke
c42b1f1654 Sketcher: Make coincident points the same color as constraints. 2024-04-08 17:49:46 +02:00
PaddleStroke
f5da655429 Sketcher: Points color reflect their construction state. Remove Vertex color. 2024-04-08 17:49:46 +02:00
PaddleStroke
81fcfa1dbe Sketcher: Point DSH: take construction mode into account. 2024-04-08 17:49:46 +02:00
Florian Foinant-Willig
17af20aa20 FEM: allow to Suppress the constraints (#12359)
* FEM: Introduce suppressible constraints

* fix public inheritance
2024-04-08 10:43:54 -05:00
wandererfan
ee39814f0c [TD]fix templated autofill for sheet 2024-04-07 14:32:02 -04:00
mosfet80
ff2bca2505 Update sub_lint.yml
update c++ version from 11 to 17
2024-04-07 08:40:28 +02:00
wandererfan
e39f6f69e7 [TD]create BrokenView from base view 2024-04-06 15:25:23 -04:00
wandererfan
adb1c75a98 [TD]add guards for null shape 2024-04-06 15:25:23 -04:00
wandererfan
239d0423ec [TD]adjust breakline position 2024-04-06 15:25:23 -04:00
wandererfan
33a3c84d92 [TD]implement BrokenView 2024-04-06 15:25:23 -04:00
Chris Hennes
d1930fc7e6 Merge pull request #13304 from chennes/updateBlack
Precommit: Update black
2024-04-05 08:51:58 -05:00
wmayer
14ed89f903 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
b09289471d 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
d5cfdb1f1e 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
7a44179529 MATERIAL: Update cardutils.py 2024-04-04 23:29:12 -05:00
Chris Hennes
d9cb5fdfc7 Formatting: Update git blame ignore revs 2024-04-04 23:26:17 -05:00
Chris Hennes
b93c02e07d Precommit: formatting fixes after Black update 2024-04-04 23:24:37 -05:00
mosfet80
9510029234 Precommit: Fix black CVE-2024-21503 vulnerability 2024-04-04 23:17:13 -05:00
PaddleStroke
5efc44d56a Sketcher: Translate Fixes #13189 horizontal/vertical lost. 2024-04-04 22:46:00 -05:00
CalligaroV
6779c912bf 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
495a96a0f5 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
252707a803 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
4a10991596 TECHDRAW: Update DimensionValidators.h 2024-04-03 22:42:59 +02:00
FEA-eng
2f7b5a1cf5 TECHDRAW: Update DimensionValidators.cpp 2024-04-03 22:42:59 +02:00
FEA-eng
b9c7a41517 ARCH: Update importIFCHelper.py 2024-04-03 18:48:45 +02:00
FEA-eng
9cab98e824 FEM: Update constraint_contact_solid_solid.py 2024-04-03 18:48:45 +02:00
FEA-eng
207c325d0e FEM: Update exportNastranMesh.py 2024-04-03 18:48:45 +02:00
FEA-eng
e424befb09 FEM: Update ccxtools.py 2024-04-03 18:48:45 +02:00
FEA-eng
b31e6d0ebe FEM: Update ccx_cantilever_beam_rect.py 2024-04-03 18:48:45 +02:00
FEA-eng
dd8eb390f1 SPREADSHEET: Update importXLSX.py 2024-04-03 18:47:23 +02:00
wmayer
b47d72f8de RE: Add function to approximate B-Spline from points 2024-04-03 18:06:00 +02:00
wmayer
ba27d6d92d Part: Add overloaded methods of GeomBSplineCurve::approximate 2024-04-03 18:06:00 +02:00
wandererfan
94c2d4fff1 [TD]fix fail on corrupt dimension reference 2024-04-03 08:48:39 -04:00
wmayer
d92267c6a7 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
0b08ea3368 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
d8a194a70b Fix Material resource location 2024-04-02 22:52:52 -05:00
CalligaroV
66912a6810 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
648bf95112 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
d1532cae5c Material: add MatGuiImages to MatGui target 2024-04-02 17:44:28 +02:00
wmayer
20a05400fa Robot: do not install testprog.* files 2024-04-02 17:44:28 +02:00
wmayer
21a842cc32 FEM: do not copy __init__.py from z88 into its sub-directories with INSTALL target 2024-04-02 17:44:28 +02:00
wmayer
68417edbce Ext: copy Python modules to Ext to be consistent with INSTALL target 2024-04-02 17:44:28 +02:00
Ladislav Michl
5a9ba5f4db 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
870334cfcd Gui: WorkbenchSelector: Fix whitespaces 2024-04-02 16:19:27 +02:00
Yorik van Havre
988e86731e Setter for Modified attribute 2024-04-02 15:28:57 +02:00