* Make some context menu actions translatable
* [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>
Found via `codespell -q 3 -L aci,addmin,ake,aline,alle,alledges,alocation,als,ang,anid,anormal,aply,apoints,ba,beginn,behaviour,bloaded,bottome,brushin,bu,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childrens,childs,colour,colours,commen,connexion,currenty,documentin,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,findn,fle,freez,graphin,hist,iff,incrementin,indexin,indicies,initialisation,initialise,initialised,initialises,initialisiert,inout,ist,itsel,kilometre,leadin,localy,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oce,oder,ontop,orgin,orginx,orginy,ot,pard,parm,parms,pres,programm,que,rady,recurrance,renderin,rin,ro,rougly,sectionin,seperator,serie,shs,sinc,siz,som,strack,substraction,te,technic,thist,thru,tread,tru,ue,uint,unter,uptodate,vas,vertexes,vew,wallthickness,whitespaces -S "./.git,*.po,*.ts,*.pdf,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./src/Base/StackWalker.cpp,./build/doc/SourceDoc,./tools/build/WindowsInstaller/lang,./src/Mod/TechDraw/Templates/locale"`
* BIM: Add test for space from single wall boundaries
* BIM: Arch_Space, enable creation of spaces from single objects with
boundaries
* BIM: update and expand docstring
* BIM: make ifcopenshell version detection and comparison more robust
* Add reference to FreeCAD bug
* Use create_pip_call for compatibility with different platforms/packages
* Demote workaround logging category for quieter output
* Correct ifcopenshell's actual version in the workaround as well
* Allow upgrading packages
* Provide more verbose output if there is an error with the pip call
* Really print the exception message
* Fix catch-all exception syntax
* Remove ifcopenshell version workaround
Weekly build 40444 containing the fix (https://github.com/FreeCAD/FreeCAD/pull/19861) has been released at https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds
* [ArchWindow] Improve SubVolume() HoleDepth deduction algorithm
https://github.com/FreeCAD/FreeCAD/issues/19559https://forum.freecad.org/viewtopic.php?t=92360https://forum.freecad.org/viewtopic.php?p=812844#p812844
Current HoldeDepth deduction algorithm is too 'agressive' and may punch holes in adjacent wall segment.
With improved algorithm, ArchComponent pass the Window's host information to ArchWindow getSubVolume() to deduce HoleDepth taking into account of Wall's Width /getWidths for Wall Base is ArchSkech
TODO: For future development - More robust approach
With ArchSketch, on which wall segment an ArchObject is attached to is declared by user and saved.
The extrusion of each wall segment could be done per segment, and punch hole in the exact wall segment before fusing them all. No need to care about each wall segement thickness.
* [ArchWindow] Typo Lint reported
* [ArchWindow] Fix getSubFace(self) raise NotImplementedError
Github comment - https://github.com/FreeCAD/FreeCAD/pull/19774#discussion_r1972052310
* [BIM] Use relative imports
Also fix other issues with imports.
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
* [BIM] Avoid two bare except
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
* [BIM] Replace not ... in with ... not in
Also fix whitespace between functions.
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
* [BIM] Fix error with missing IFC2X3.IfcProject.Declares
Fix `entity instance of type 'IFC2X3.IfcProject' has no attribute 'Declares'`.
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
---------
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
Co-authored-by: Gaël Écorchard <gael@km-robotics.cz>
Fixes#19577
Apparently the ViewObject can be updated before the Shape of the objects has been changed. To catch this the number of edges is checked in the `onChanged` method of the ViewObject.
There was an additional index error if the Limit property was not zero.
Fixes#16333.
Follow-up of #19487.
* The functions have been made nesting-aware. New objects are put in the same container (Group, Part) as the original objects. As a consequence for some operations the original objects must be in the same container as well.
* New objects receive the visual properties of the original objects. This is not always perfect. For example when upgrading to multiple wires there is currently no check to see which edge came from which orginal object. The fact that the `format_object` function is called from the Draft `make*` functions is problematic here. If construction mode is active `make_wire` puts new objects in the construction group and we don't always want that. This has been solved with a workaround (see 'cludge' in the code).
* The 'de-parametrize' downgrade option has also been enabled for features of PartDesign Bodies that have the `Profile` property.
* Before deleting objects there is a check to see if they are in use elsewhere (`InList` check). Base objects of arrays are not deleted if they are visible. If a PartDesign Body, or an object inside a Body is selected, the whole Body is deleted.
* The force options did not work for functions that take a single object.
* The `getShapeFromMesh` function in ArchCommands.py could return a solid that was not closed. A check for that has been added.