Commit Graph

484 Commits

Author SHA1 Message Date
Roy-043
989ea2257a BIM: BimBox: improve length, width and height inputs
PR to make the handling of the mentioned inputs consistent with that of the X, Y and Z inputs: check for in-command shortcuts. and select only the numerical portion of the text on focus change.
2025-07-21 15:41:37 +02:00
Ilya Baidakov
702e16a353 Add custom template path support for WebGL export (#21695)
* Add custom template path support for WebGL export
- Extract hardcoded template into separate file and store in Mod/BIM/Resources/templates
- Remove hardcoded template from code
- Add new section to Import-Export Preference page ("WebGL"). This introduces two new parameters
- Make export() return bool to indicate success or failure for controlled headless export
- Add new unit tests for WebGL export to ensure functionality
- Update CMakeLists.txt to include the new template resource

* Apply suggestions from code review

Changes to literals, suggested after DWG review

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>

* Removed unused import

* Removed unused import

---------

Co-authored-by: Max Wilfinger <6246609+maxwxyz@users.noreply.github.com>
Co-authored-by: Yorik van Havre <yorik.vanhavre@gmail.com>
2025-07-14 22:25:57 +00:00
paul
401d9ae4e3 [ArchWindow] subVolume Support Multi-Material (bug fix) (#22279)
* [ArchWindow]  subVolume Support Multi-Material (bug fix)

Fix #21640

BIM: Automatic hole depth for windows issue (new window depth algorithm cannot determine the width of the wall when using multimaterial)

* [ArchWindow] subVolume Support Multi-Material (bug fix) / Further fix

(Fix problem found by Github CodeQL - Local variable 'totalThk' may be used before it is initialized)

Fix #21640

BIM: Automatic hole depth for windows issue (new window depth algorithm cannot determine the width of the wall when using multimaterial)
2025-07-14 17:23:14 +02:00
Roy-043
e6b6007940 BIM: fix Height and Width inversion for rectangular pipes 2025-07-14 15:40:18 +02:00
Paul Lee
f0d4bf896e [ArchWindowPresets] Further Fix Sill Change
Further to Bug-fix Changing Sill _&_ SketchArch Support Sill Property
- https://github.com/FreeCAD/FreeCAD/pull/21726 ,
minor fix to make ensure tracking of sill works upon window creation.
2025-07-14 15:36:40 +02:00
Roy-043
2fe79e95cc BIM: store Classification prefix setting 2025-07-12 13:25:23 +02:00
Roy-043
ff9cbf2052 BIM: fix autojoin behavior (#22303)
* BIM: fix autojoin behavior

* Use new deletebase argument of joinWalls

* Remove colon from task bar title
2025-07-08 15:19:19 +02:00
tetektoza
3b73888b43 BIM: Add an option to preload IFC types during document opening (#21450)
* BIM: Add an option to preload IFC types during document opening

Currently, IFC types are only possible to be loaded if user double
clicks an IFC object, and this has be done for optimization reasons.

But user can also want to preload IFC types, so this patch adds an
option to the dialog and Properties dialog to do just that.

* BIM: Remove cyclic import

---------

Co-authored-by: Yorik van Havre <yorik@uncreated.net>
2025-07-07 16:06:43 +02:00
Zbyněk Winkler
7fcfef5972 Copy subvolume before changing its Placement
Placement property of a cached object was modified each time
component is recalculated.

Fixes #22162.
2025-07-07 15:35:26 +02:00
Roy-043
9156ac3e27 BIM: check OutListRecursive in addComponents 2025-07-07 14:57:19 +02:00
Roy-043
360241c8bf BIM: improve Arch_MergeWalls (#22262)
* BIM: improve Arch_MergeWalls

* Improve delete behavior

Keep hosted objects*, additions and subtractions if delete is False. 

* For hosted objects with a Host property this is not possible.

* Make deletion of base objects optional
2025-07-07 14:51:27 +02:00
Roy-043
7b6f97f4fc BIM: fix visibility handling of objects hosted by additions 2025-07-07 14:46:29 +02:00
Roy-043
50f07be55b BIM: fix handling of Project coin nodes (#22244)
* Update ArchProject.py

* Update ArchSite.py
2025-07-07 14:45:07 +02:00
Syres916
2c1a6b777b [BIM] Stop combobox sizeAdjustPolicy warning 2025-07-07 14:42:58 +02:00
Roy-043
12f4d1da2e BIM: fix profile selection (#22223)
* Update params.py

* Update ArchStructure.py

* Update BimProfile.py
2025-07-07 14:39:55 +02:00
Roy-043
b0dabc2237 BIM: fix Arch_SectionPlane 'Toggle Cutview' issue 2025-07-07 14:28:06 +02:00
Roy-043
af71c26687 BIM: fix default radius for rectangular pipe connector
Fixes #22364.

The default radius of a connector between rectangular pipes should depend on the Height or Width of the pipe (the max. of the two is used), not on the hidden (and unused) Diameter property.
2025-07-07 13:46:38 +02:00
Luz Paz
059619cc28 Fix various typos
Found via codespell
2025-07-04 21:24:09 +02:00
Roy-043
90a6bb7ea4 BIM: fix setting of self.Type
Fixes #21364.

`self.Type` should be set in `__init__` and `loads`, and not in `onDocumentRestored`.

Additionally:
fixed mistake in `loads` in ifc_objects.py.
2025-06-30 11:05:41 -05:00
Chris Hennes
082f4449c0 Merge pull request #22083 from galou/improve_dae
Improve dae
2025-06-30 10:54:08 -05:00
Syres916
b0c63c5537 [BIM][Draft] QCheckBox fix regressions introduced by PR #21939 (#22199)
* [BIM][Draft] QCheckBox fix regressions introduced by PR #21939

* [BIM] Remove unwanted index values - CodeQL feedback
2025-06-27 11:25:36 +02:00
Gaël Écorchard
681be5b49c BIM: satisfy github-advanced-security
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
2025-06-25 07:40:09 +02:00
Gaël Écorchard
1c13623a06 BIM: fix geometry under node tags
I took the file
[link_3.dae](514790a553/kuka_kr210_support/meshes/kr210l150/visual/link_3.dae)
as test.
Before this commit, no geometry is loaded because the childer of `node`
are `Node` instances not geometry.
To access all the geometries, `col.scene.objects("geometry")` is used,
cf. https://pycollada.readthedocs.io/en/latest/structure.html.

Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
2025-06-24 12:14:52 +02:00
Gaël Écorchard
6ea5891de6 BIM: remove unused variable DEBUG 2025-06-24 12:14:52 +02:00
Gaël Écorchard
b13ac833c5 BIM: improve style of importDAE.py 2025-06-24 12:14:52 +02:00
Gaël Écorchard
7da60d20f1 BIM: Use labels in DAE export
Signed-off-by: Gaël Écorchard <gael@km-robotics.cz>
2025-06-24 12:14:51 +02:00
Roy-043
0e55ce8d9f Update ArchComponent.py 2025-06-23 14:26:05 +02:00
Roy-043
bacc9c7616 Update BimTDPage.py 2025-06-23 14:24:03 +02:00
Roy-043
a62dddde07 Update ArchSchedule.py 2025-06-23 14:23:09 +02:00
Roy-043
dc948671bd Update ArchAxis.py 2025-06-23 14:21:02 +02:00
Roy-043
6adb97d79d BIM: fix filtering out level issue (#22059)
* Update ifc_status.py

* Update ifc_tools.py
2025-06-23 14:14:51 +02:00
Roy-043
c6f89f646c Update BimProjectManager.py 2025-06-23 14:13:19 +02:00
Roy-043
c4a0c9f37c Update ArchMaterial.py 2025-06-23 14:12:12 +02:00
Roy-043
8d46d437f8 BIM: fix index error in ifc_viewproviders.py
Fixes #21912
2025-06-23 14:10:26 +02:00
Roy-043
faf9669327 BIM: fix ArchProfile update issues
Fixes 21001
Fixes 21187
2025-06-23 14:09:36 +02:00
Roy-043
1800ccd12c BIM: fix display of help menu items after WB reactivation (improved)
Fixes #22044

Previous PR (#21874) did not work properly if the BIM WB was the start up WB. A scenario that I forgot to test.
2025-06-23 14:08:26 +02:00
Paul Lee
57c3aab2e8 [ArchCurtainWall] Fix Vert-Horiz Mullion Mix-up & Support Swap (Variables name)
(Variables name improvement only)
2025-06-23 14:03:40 +02:00
Paul Lee
1a86f56051 [ArchCurtainWall] Fix Vert-Horiz Mullion Mix-up & Support Swap
Fix #21845
Curtain wall vertical/horizontal mullion mix-up
- https://github.com/FreeCAD/FreeCAD/issues/21845

Support/Feature #21866
Swap Horizontal Vertical does not work #21866
https://github.com/FreeCAD/FreeCAD/issues/21866
2025-06-23 14:03:40 +02:00
Paul Lee
32976f5500 [ArchRoof] Improve subVolume generation
Fix #21633 : Holes in roof are causing troubles

FreeCAD Forum : Sketch based Arch_Roof and wall substraction
- https://forum.freecad.org/viewtopic.php?t=84389

Improved algorithm:
1. Extrusion of bottom faces in +Z.
2. The roof itself.
3. Extrusion of the top faces in +Z.

TODO:
Find better way to test and maybe to split suface point up and down and extrude separately
2025-06-23 14:00:41 +02:00
Syres916
5f0c93758e [BIM] Fix Runtime Error when creating Wall (#21862)
* [BIM] Fix Runtime Error when creating Wall

* [BIM] Fix continueMode functionality for Wall, Panel and Structure
2025-06-23 13:59:13 +02:00
Syres916
8844319d33 [BIM][Draft][CAM] preparation for deprecation of QCheckBox… (#21939)
* [BIM][Draft]{CAM] preparation for deprecation of QCheckBox stateChanged -> checkStateChanged
2025-06-18 11:24:21 +02:00
tetektoza
24851dbae9 BIM: Allow user to skip dialog during type conversion
As the title says - this adds a new option to the dialog to `never ask
again` as well user can customize both settings through preferences.
2025-06-17 09:35:38 +02:00
tetektoza
ea006aba10 BIM: Fix IFC type assignment not being saved to file
As the title says, this is simple fix - basically right now anytime user
changed Link property to point to proper IFC type, we weren't writing to
the IFC file buffer to finally write it to the file if user would save
it.

So this patch makes sure we write to this buffer by calling appropriate
function, and making ifc object have proper pointer to IFC type.
2025-06-17 09:33:57 +02:00
tetektoza
acac7ac51b BIM: Fix Arch_SectionPlane having incorrect display style upon init
Regressed from previous behavior - there was Arch's refactor and the
base element that `SectionPlane` was inheriting from was
`App::FeaturePython`, not `Part::FeaturePython`. This changes a lot, since
`Part::FeaturePython` has predefined color (black in this case), which
later on - during property set of `SectionPlane` in properties caused
skipping of preferred setup of color.
2025-06-16 18:15:53 +02:00
Chris Hennes
a5cc926bf5 Merge pull request #21921 from furgo16/add-prefcheckablegroupbox
Gui, Draft, BIM: Add PrefCheckableGroupBox, use it in IFC exporter preferences page
2025-06-16 11:06:30 -05:00
Roy-043
c749270a25 BIM: fix display of help menu items after reactivation
Fixes #21873.
2025-06-16 17:54:43 +02:00
Furgo
c9a3397bc7 BIM: fix ArchPipe's view provider initialization 2025-06-16 17:37:28 +02:00
Furgo
f1aa692b71 BIM: Use PrefCheckableGroupBox in IFC exporter preferences page 2025-06-11 02:44:52 +02:00
Syres916
0967b3b3f4 [BIM] Fix Attribute Error when user moves and then deletes the BimViewArea dock widget (#21830)
* [BIM] Fix attribute error when user deletes the BimViewArea dock widget

* [BIM] Fix Attribute Error for both Qt5 and Qt6

* Update src/Mod/BIM/bimcommands/BimViews.py

---------

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2025-06-09 17:36:04 +00:00
Ralf Habacker
d63b837326 BIM: Add top level group when importing obj file into active document
When importing an obj file into an existing document,
the imported objects are now stored below a new group
object in order to improve the structure and avoid
flooding the top level with imported objects.

Fixup for #21349
2025-06-09 17:36:45 +02:00