Commit Graph

1981 Commits

Author SHA1 Message Date
bdieterm
cd89e937e9 Core: fix import of FreeCAD in a Python 3.12 interpreter
Importing FreeCAD as a module in a normal Python interpreter (e.g. /usr/bin/python3) stopped working with Python 3.12 (but works normally with Python 3.11). When executing "import FreeCAD as App", the interpreter crashes with "Fatal Python error: PyImport_AppendInittab: PyImport_AppendInittab() may not be called after Py_Initialize()".
The check that causes the error message and abortion was introduced in Python 3.12 via
7f3a4b967c
(and a typo in the error message fixed via)
35dd55005e
2024-06-07 12:19:45 -05:00
Jonas Bähr
1ec0802fb0 App: add readline-based tab-completion
When executing FreeCAD in interactive console-mode, the init-script tries
to load readline for a better input experience and enables tab-completion.
This code is neither executed when running in GUI mode, nor when the
console is not itneractive, e.g. when reading a script from stdin.

Note that readline is not available on Windows, so we ignore import errors
for now. With pyreadline3 there may be an alternative for Windows, but I
cannot verify this on my setup.
2024-06-06 21:56:18 -05:00
bgbsww
fb25a4f32e Toponaming: defend against uninitialized elementMap in getElementHistory 2024-06-03 20:59:36 -05:00
Chris Hennes
6404de9c21 Update translations 2024-06-03 11:04:42 -05:00
wmayer
effbe1e873 App: Prepare for clang-format 2024-06-03 12:52:30 +02:00
bgbsww
82db79b699 Toponaming: remove unused method with compile warnings 2024-06-02 18:55:13 -05:00
wmayer
87a7bc1d81 Fix compiler warnings 2024-06-02 14:59:45 +02:00
David Carter
5feb963f9d Material: Appearance Updates 2
Improves the use of the ShapeAppearance property for the Part workbench.

    removes DiffuseColor property
        adds Python compatibility using custom attributes
        transitions DiffuseColor to ShapeAppearance on open
    Improved UI elements for setting object appearance, and appearance per face
    Lays the foundation for future texture support
2024-06-01 19:57:16 -05:00
wmayer
40b6b847eb Fixes #14349: GeoFeature::getElementTypes causes undefined behaviour 2024-05-31 11:42:01 +02:00
wmayer
560cab6f31 clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
Chris Hennes
063499a9d4 Merge pull request #14202 from bgbsww/bgbsww-toponamingFixSubShapeBinder
Toponaming fix sub shape binder and restore multishape tests
2024-05-27 11:19:31 -05:00
Chris Hennes
65f3965717 Merge pull request #14082 from Ondsel-Development/issue_13522_fix_read_lock
Core: Add read lock to fix for possible race conditions reading/writing config files
2024-05-27 10:41:23 -05:00
Chris Hennes
73ae4102e6 Update translations
Arch->BIM is a WIP
2024-05-25 19:11:51 -05:00
Zheng, Lei
3c112b466d Toponaming: Missing code for shapebinder 2024-05-23 09:47:25 -04:00
Chris Hennes
0e0fce5678 Merge pull request #13906 from Rexbas/align-camera
Align camera to faces and edges
2024-05-20 11:28:24 -05:00
FEA-eng
14a7ca99cd Base: Add moment unit 2024-05-16 12:51:37 -05:00
Bas Ruigrok
4c45f38574 App: Add getCameraAlignmentDirection() to GeoFeature 2024-05-13 19:01:38 +02:00
PaddleStroke
5f4dd814ea Core: Add getRootObjectsIgnoreLinks and fix bugs in tree.cpp and AssemblyObject.cpp, CommandInsertLink.py, UtilsAssembly.py 2024-05-13 17:58:34 +02:00
Chris Hennes
bd7abe5521 Merge pull request #13907 from wwmayer/issue_13898
Fix memory leaks with PySequence_GetItem
2024-05-13 10:53:00 -05:00
Chris Hennes
0e3042a4e9 Merge pull request #13963 from bgbsww/bgbsww-toponamingMissingPartDesignTests2
Toponaming: missing code bits in App
2024-05-12 19:30:04 -05:00
Chris Hennes
9fead3682d Update translations 2024-05-12 17:06:56 -05:00
bgbsww
53ad95b382 Toponaming: bring in missing code fragments in App 2024-05-12 17:21:49 -04:00
Ronny Standtke
afb9ce29c6 include translations of the FreeCAD App 2024-05-09 21:21:16 +02:00
wmayer
58988a7482 Core: Fix memory leaks with PySequence_GetItem 2024-05-08 23:40:27 +02:00
wmayer
9934eb3b37 Measure: Fix memory leaks 2024-05-08 20:01:54 +02:00
bgbsww
9fc744fbe3 Fix tests, slip in TNP defense 2024-05-07 13:42:21 -04:00
bgbsww
3ee0530ac2 Toponaming/Part: Fix fillet/pad bug, add tests 2024-05-07 09:40:48 -04:00
Chris Hennes
a5d8aaa21c Update translations
Also removes Web from translation scripts.
2024-05-06 18:17:53 +02:00
wmayer
65dbd776fb Core: Fix crash when loading a file with v0.21 that was created with v0.22
In v0.22 a version number -1 is added to the material files to distinguish between old and new project file.
But v0.21 doesn't know about this version number and interprets it as number of elements instead.
Because this value is assigned to an unsigned type the value becomes 2**32 - 1. Now trying to create a container of this size requires > 280 GB
of RAM. On most systems FreeCAD new handler will jump in and raises a memory exception to stop the allocation. But an other systems with
plenty of RAM it's tried to allocate the memory and then may crash at some point.

This PR fixes this regression. It puts the version number to the MaterialList XML element as an optional attribute.
With this change FreeCAD v0.22 is still able to load projects that have been created prior to this change.
Additionally FreeCAD v0.21 can again load project files without crashing.

For more details see: https://forum.freecad.org/viewtopic.php?t=87268
2024-05-06 17:56:25 +02:00
wmayer
281230c520 Core: Fix possible race conditions when reading or writing config file 2024-05-06 13:24:17 +02:00
bgbsww
920032c5a0 Lint corrections 2024-05-03 12:07:02 -04:00
bgbsww
b80d628c69 Merge branch 'main' into bgbsww-toponamingMissingAppMethods 2024-05-02 22:43:36 -04:00
bgbsww
4a0df0ea6d Test for changed Sketches avoiding TNP 2024-05-01 20:29:26 -04:00
Zheng, Lei
56e32b9c98 Methods to support Toponaming element maps 2024-05-01 18:02:04 -04:00
wmayer
2ea6bc17b6 Fix various compiler warnings:
* fix -Wunused-parameter
* fix -Wunused-function
* fix -Wunused-private-field
* fix -Wunused-variable
* fix -Winconsistent-missing-override
2024-04-30 16:59:31 +02:00
liukaiwen
8e5213efd8 fix precompile on lastest unified measurement 2024-04-29 13:42:40 -05:00
CalligaroV
767b2bd5e4 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Fixed a mistake made in getSubObjectListFlatten()
 * Applied modifications according to review comments

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV
3109301e52 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Formatted and refactored code imported for the DocumentObject class
 * Formatted and refactored code imported for the SubObjectT class

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
CalligaroV
2721918d10 App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Added test for SubObjectT::hasSubObject()
 * Added test for SubObjectT::hasSubElement()
 * Added test for SubObjectT::normalize()
 * Added test for SubObjectT::normalized()

Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
2024-04-29 11:42:18 -05:00
Zheng, Lei
b6ae0912fe App/Toponaming: import SubObjectT dependencies for SubShapeBinder
* Added SubObjectT methods normalize(), normalized(), hasSubObject() and hasSubElement()
 * Updated DocumentObject::getSubObjectList()
 * Applied modifications to make the code compile
2024-04-29 11:42:18 -05:00
WandererFan
dd09bd2b53 Merge pull request #9750 from hlorus/gsoc2023_measure
GSoC 2023: Unified Measurement Facility
2024-04-29 12:41:54 -04:00
WandererFan
d4270d2275 Merge pull request #13644 from wwmayer/default_material
Gui: expose ViewProviderGeometryObject::getUserDefinedMaterial() to Python
2024-04-29 12:28:25 -04:00
Chris Hennes
f07a4fe074 Merge pull request #13665 from wwmayer/fix_memory_leak2
Core: fix possible memory leaks when using parser
2024-04-29 11:14:11 -05:00
hlorus
e5fee7be14 [App] Add registration functions for unified measurement facility 2024-04-29 09:27:22 -04:00
wmayer
88893f7524 Core: fix possible memory leaks when using parser 2024-04-26 21:42:34 +02:00
wmayer
d86390cbc3 App: Change default constructor of Material class to use DEFAULT instead of STEEL 2024-04-26 15:06:30 +02:00
wmayer
ecc0da8036 App: Create PropertyMaterialList with a single material element 2024-04-25 17:04:36 +02:00
wmayer
29017e869a App: Add class CleanupProcess to allow to free resources when closing the application 2024-04-25 15:44:22 +02:00
Chris Hennes
ead426c6eb Update translations
Note: Web and Start omitted
2024-04-24 13:58:21 -05:00
Zheng, Lei
903d72b96e App: fix linked copy on change group out of scope problem
Fixes FreeCAD/FreeCAD#13481
2024-04-24 08:09:53 -05:00