Commit Graph

290 Commits

Author SHA1 Message Date
Furgo
e045b59dbb Fix one last instance of NativeIFC 2025-02-18 13:22:23 +01:00
Furgo
0ea1bba8f8 Use correct case 2025-02-18 13:22:23 +01:00
Furgo
45f3f8de64 Improve legibility of NativeIFC in preferences 2025-02-18 13:22:23 +01:00
JULIEN MASNADA
056c83711a [BIM] SH3DImporter: miscellaneous improvments (#19335)
* Fix duplicated groups

* Fixed windows spaning several floors

* Fixing doorOrWindow positioning. Allowing to DEBUG_GEOMETRY

* Fixed default color for floor and ground

* Fixed some windows positioning issue

* Fixed invalid modification of wall array. Changed default window type to allow opening

* fixed some import failures. Added some new windows

* Fixed some more edge cases

* Use doc transaction. Fixed import of room based on self-intersecting polygon.

* Added default furniture color. Fixed wall reference face to fix slab creation

* Replace Debug setting by DebugGeometry

* Fixed corner cases when importing Door & Furniitures

* Fix emissive color and shininess

* Remove external package dependency

* Fixed furniture placement and transformation

* Make sure lights are properly imported

* Fixed duplicated camera and ground when merging
2025-02-18 11:45:40 +01:00
paul
5582cc87d4 [ArchSketchObject / Window] Links of Window to support Individual Hosts (#19378)
* [ArchSketchObject / Window]  Links of Window to support Individual Hosts

Currently, Links of Window's Hosts property (and in generall all properties other than e.g. Placement) is shared with its Linked Window object, i.e. all Windows Links instances can only has a common Host(s) which is not flexible for the purpose of Links.

AND, at the same time, Links in linked document suffer from the 'scope' of the original Linked Window, which is in the external Document.

This commit adds feature to support:
  1/ each Links instance of Windows has their own individual setting of Hosts, and
  2/ it see the 'scope' of the Links in its document (rather than the Linked Window in the external document)

FreeCAD Forum:
- https://forum.freecad.org/viewtopic.php?p=808569#p808569

FreeCAD GitHub:
- https://github.com/FreeCAD/FreeCAD/issues/19361

* [ArchSketchObject]  Fix indentation
2025-02-14 13:46:44 +01:00
Furgo
f81c15ee4e BIM: fix ability to cancel file dialog on BIM_TDPage command (#19518)
* BIM: use tuple return value from QFileDialog.getOpenFileName

Fixes: https://github.com/FreeCAD/FreeCAD/issues/19466

* BIM: remove filename assignment from tuple
2025-02-13 17:45:27 +01:00
Syres916
96b3f830d4 [BIM] fix name 'self' is not defined error 2025-02-12 14:23:31 +01:00
Syres916
087928d1de [BIM] Fix translate error 2025-02-12 14:23:31 +01:00
Furgo
7135525346 BIM: fix error on double-clicking on non-IFC objects 2025-02-10 14:32:20 +01:00
Roy-043
c423a3a892 BIM: Panel does not require a Base
https://forum.freecad.org/viewtopic.php?t=94657
2025-02-10 14:28:26 +01:00
Roy-043
2b62e91460 BIM: ifc_viewproviders.py make context menus translatable 2025-02-10 14:28:26 +01:00
Yorik van Havre
7829cab969 Bim project manager upgrade (#17909)
* BIM: NativeIFC 2D support - basic import/export + linework annotations

* BIM: NativeIFC 2D support - texts

* BIM: NativeIFC 2D support - dimensions

* BIM: NativeIFC 2D support - optimized export of FreeCAD dimensions

* BIM: NativeIFC 2D support - section planes

* BIM: NativeIFC 2D support - misc fixes cf comment #2383181661

* BIM: NativeIFC 2D support - axes

* BIM: Project manager upgrade

* BIM: Fixed rebase leftover
2025-02-10 10:40:46 +01:00
Roy-043
46eb356d76 Rebase... 2025-02-07 14:43:17 +01:00
Chris Hennes
d4d74a4464 Merge pull request #19433 from tritao/gui-general-code-cleanups
Gui: General code cleanups
2025-02-06 11:33:44 -06:00
tritao
4260bd6fa4 Gui: Minor cleanups. 2025-02-05 22:13:07 +00:00
Furgo
b8071caa90 BIM: add support for array elements in BIM Schedule (#19219)
* BIM: add support for array elements in BIM Schedule

* BIM: reintroduce Arch.pruneIncluded

* BIM: support expanded arrays in BIM schedule

* BIM: support elements belonging to multiple arrays
2025-02-05 10:16:47 +01:00
Furgo
931db3dd59 BIM: fix unassigned variable reference 2025-02-05 09:40:41 +01:00
tritao
929a6a46fc BIM: Improve checking of IfcOpenShell imports in ifc_tools.py . 2025-02-05 09:23:08 +01:00
james
6a2e956481 fix non compressed read 2025-02-04 15:57:26 +01:00
james
80a55a8997 Add option to hide shape also hidden on double click 2025-02-04 15:57:26 +01:00
james
c0e8b1c505 upgrade threejs and encoding fix 2025-02-04 15:57:26 +01:00
Furgo
99db16c6c0 BIM: Connect "only visible" checkbox signal to corresponding slot (#19201)
* BIM: Classification dialog => connect only visible checkbox to signal, save its state

* BIM: rename classification dialog, do not use default name

* BIM: add icons to classification dropdown box
2025-02-04 14:52:26 +01:00
luzpaz
2acc5ffbea Remove superflous whitespace + trailing newlines 2025-01-29 07:59:05 -06:00
luzpaz
d982743b70 Fix typos
Found via codespell
2025-01-29 08:31:01 +01:00
marcuspollio
d72124f86a TechDraw: rename user-facing strings Arch to BIM 2025-01-27 17:58:45 +01:00
Paul Lee
27732fdf50 [ArchWall] Fix Regression Single-edge Wall w/ Multi-Material
Forum Discussion
- https://forum.freecad.org/viewtopic.php?t=93610&start=10#p806296

Github Issues
- https://github.com/FreeCAD/FreeCAD/issues/19147#issuecomment-2607946858
2025-01-27 14:29:04 +01:00
Julien Masnada
33816bd82b Improve decoration of walls, floors and ceilings. Improve creation of floor's slab 2025-01-27 14:25:51 +01:00
Roy-043
322b354fe8 Added is not None checks
Also added two local variables in BimLayers.py.
2025-01-22 10:41:11 +01:00
Roy-043
713db4bc5e Draft and BIM: Layer manager minor code improvements
The code should not add the LinePrintColor property. That should be done elsewhere.
2025-01-22 10:41:11 +01:00
JULIEN MASNADA
fd34f14fc3 SH3DImporter: Miscellaneous improvements (#19178)
* Fixed documentation and confusing variable name

* Prepare for joined wall fix

* Fixed invalid Part::Sweep on certain joined walls

* Calculate the Length in case of a curved segment

* Adding Arch::Space for each room, and group furnitures in these spaces

* Fixed baseboard import

* Add baseboard to Space and wall to Space.Boundaries

* Fixed space attribution when importing furniture as Arch::Equipment

* Adding site properties

* Allow creation of reference ground mesh

* Make sure get_space takes level into account

* Added sh3dCreateGroundMesh preferences

* Sensible ordering for import preferences

* Move furniture at least up to the floor upper facewq

* Avoid gap between floors. Adjusted wall height and furniture placement

* Preparing to allow model_rotation attribute in furniture

* Fixed tipo in model_rotation

* Make space upper face does exists

* Use Facebinder to paint walls. do not offset by floor thickness.

* Use Draft.make_facebinder()

* Workaround for issue #19172. Refreshing the list of Faces and removing the extra '?' character
2025-01-22 10:08:46 +01:00
Roy-043
7241f01c36 BIM: Fix BIM Schedule
Fixes #18934.
2025-01-22 10:07:35 +01:00
Yorik van Havre
518c3b4926 BIM: Make sure we have a default context when exporting to IFC 2025-01-19 14:32:03 -05:00
Roy-043
225241e673 Clean up
The recompute and the `try` structure are no longer required.
2025-01-16 11:53:55 +01:00
Roy-043
88a6eecdbb BIM: ArchWall use moveGeometry to move sketch point
The movePoint function is no longer available in V1.1.
2025-01-16 11:53:55 +01:00
Yorik van Havre
42f3af4d6a BIM: Fixed late global declaration - fixes #19049 2025-01-14 13:32:23 +01:00
tritao
e1d4743a5b BIM: Only import TechDraw when its actually needed.
Allows FreeCAD BIM module to load without TechDraw module compiled.
2025-01-14 11:14:16 +01:00
Yorik van Havre
0213b4fc6c Translations (#18923)
* Updated ts files

* Merged crowdin translations

* [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>
2025-01-13 21:30:30 -06:00
Tobias Frost
460da406f8 spelling fixes (#18688)
* Fixes spelling of "Allow to" to "Allow one to"

and those variants:
Allows to -> Allows one to
allow to -> allow one to
allows to -> allows one to

* Fix "Let's -> Lets"

(and lower case variant.)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update src/3rdParty/salomesmesh/inc/MED_Wrapper.hxx

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Update src/Base/PyObjectBase.cpp
Update src/App/ExtensionContainer.h
Update src/App/PropertyContainer.h

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Use gerund in user-facing texts.

* Use gerund for two more user-facing strings.

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Update src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Update src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

* Update src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>

---------

Co-authored-by: Tobias Frost <tobi@debian.org>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-01-13 11:22:20 -06:00
Roy-043
a66a4a518c BIM: improve roof getSubVolume function
Fixes #19013.

* Check direction of plane axis with a tolerance.
* Check the produced solids. Notably check for a min. volume. Required for solids created from non-planar faces.
* Apply placement to created compound.
2025-01-13 10:07:13 +01:00
Roy-043
96326f9e60 Draft and BIM: Layer manager did not accept zero transparency 2025-01-10 22:29:03 +01:00
Paul Lee
238bd30cf1 [ArchSpace] Improve Space Creation and ensureBase
Refer to discussion at -
https://github.com/FreeCAD/FreeCAD/issues/18917

Like Wall and Stairs, Space should do without Base. Base validity tested in execute() prevented the desired and documented behaviour.

EnsureBase() is remarked out in execute() and to be run in getShape(). With this improvement, if there is no Base, or Base is not valid, Space would be created if it could be defined by obj.Boundaries.
2025-01-10 10:44:48 +01:00
Gaël Écorchard
9f2390ac65 BIM: Colors in DAE import + code improvements (#18965)
* BIM: Fix color support for DAE import

There was some mention of color in the original code but it was not
working on my system.

Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>

* BIM: Use `BIM` rather than `Arch` for translation context

* BIM: remove Python 2 compatibility

* BIM: improve style of importDAE.py

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>
2025-01-10 09:15:43 +01:00
je-cook
a48688286d BIM: Speedup and refactor WebGL exporting (#18843)
* Stylistic changes and slight refactor

* speed up compression algorithm
2025-01-07 10:43:50 +01:00
Yorik van Havre
6e7a45f192 BIM: Added classifications support to nativeifc (#18444)
* BIM: Added classifications support to nativeifc

* BIM: Fixed lint warnings
2025-01-07 10:35:37 +01:00
JULIEN MASNADA
92bd91ea43 SH3DImporter: Fix walls Length attribute (#18854)
* Make IFC project optional

* make sure wall.Length is properly set

---------

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2025-01-07 10:03:02 +01:00
Yorik van Havre
f7a39fc313 BIM: Quantities support for nativeIFC objects (#18689)
* BIM: Quantities support for nativeIFC objects

* BIM: Added nativeIFC support for schedules
2025-01-06 11:55:50 -05:00
Yorik van Havre
df2869b0a5 BIM: Fixed nativeIFC license - issue #18622 2025-01-06 14:36:34 +01:00
Paul Lee
5e99383934 [ArchWall] Fix Regression - EnsureBase prevent creation without Base
Refer to discussion at -
https://github.com/FreeCAD/FreeCAD/pull/18651
https://github.com/FreeCAD/FreeCAD/issues/16409

Wall should do without Base. Base validity tested in execute() prevented the desired and documented behaviour.

EnsureBase() is remarked out in execute() and to be run in getExtrusionData().  With this fix, if there is no Base, or Base is not valid, Wall would be created as declared.
2025-01-06 11:49:50 +01:00
Paul Lee
9e42d21618 [ArchStairs] Improve Stairs Creation and ensureBase
Refer to discussion at -
https://github.com/FreeCAD/FreeCAD/pull/18864
https://github.com/FreeCAD/FreeCAD/pull/18651
https://github.com/FreeCAD/FreeCAD/issues/16409

Like Wall, Stairs should do without Base. Base validity tested in execute() prevented the desired and documented behaviour.

With this improvement, EnsureBase() is now only to be run when there is Base. If there is no Base, or Base is not valid, Stairs would be created as declared.
2025-01-06 11:46:10 +01:00
SurajDadral
d26f5cac4b BIM: fixes stirrups placement in ifc export
Fixes: https://github.com/amrit3701/FreeCAD-Reinforcement/issues/223
2025-01-06 10:32:23 +01:00