* [mod] clean
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This refactors DressUp VP a bit so it does no longer store original copy
of original faces colors to properly support selection, but uses
highlight methods provided by the base class. It simplfies code a bit
and ensures coherent behavior.
Because a PropertyMaterialList property is used now it makes no sense any more to pass a list of view providers to the dialog
as it's impossible to set the material at a certain index.
Therefore the dialog has been simplified and setting the material property must be done by the calling instance.
It results in an attachment similar to ObjectXY but with the XY plane translated to pass through a selected vertex.
It is most useful to place sketches: pick a plane (XY, XZ, YZ) or another sketch then select a vertex to automatically translate the sketch in the Z-direction. In contrast to the Translate mode it does not change the origin.
* [AddonManager] Fix Error on Existing Python Additional Packages Folder
...this is more likely to occur since the BIM workbench integration and new users installing ifcOpenShell by pip before running AddonManager.
* [AddonManager] Correct boolean
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
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.
There are two unnecessary Layer warnings:
1. A 'might break' warning when deleting an object nested in a layer.
2. An 'out of scope' warning for objects also nested in f.e. a Std_Part.
To avoid them the Group property type was changed to `App::PropertyLinkListHidden`.
Update the BIM WP commands to use the new Draft code. This ensures correct GUI behavior.
This also fixes the BIM_SetWPSide command which would align to the left side instead of the right side. The right side matches the behavior of Draft_SelectPlane and also the icon of the command.
To avoid confusion, attributes e.g. Align, Width, Offset, Override (Align/ Width/ Offset)
would be disabled, if Base object is ArchSketch which provided the above information
FC Forum Discussion : https://forum.freecad.org/viewtopic.php?t=87721&start=30#p763761