* 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
Fixes#19614
Instead of using the whole object, the hovered subelement should be used for the boundary.
With this PR the handling of the boundary is also 'nesting-aware'. This is however still not the case for the object being extended/trimmed. That object has to be in the global space.
- Remove currently present magic numbers
- Hard type enums, so magic numbers can no longer be introduced. We don't want people to introduce magic numbers.
- Remove currently present magic numbers
- Hard type enums, so magic numbers can no longer be introduced. We don't want people to introduce magic numbers.
- Remove currently present magic numbers
- Hard type enums, so magic numbers can no longer be introduced. We don't want people to introduce magic numbers.
- Remove currently present magic numbers
- Hard type enums, so magic numbers can no longer be introduced. We don't want people to introduce magic numbers.
- Remove currently present magic numbers
- Hard type enums, so magic numbers can no longer be introduced. We don't want people to introduce magic numbers.
* * Move pyopen with encoding to utils.
and modify all importing library to use pyopen with encoding.
with this change, DXF OCA AirfoilDAT with multibyte sequence always read as utf-8.
* Fix SVG transform attribute is not handler collectly.
#19568 adds the SolidWorks navigation style. In the Gui the new style appeared at the bottom of the list below 'Touchpad'. This PR restores the A-Z order of the list.
* [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.