Commit Graph

17383 Commits

Author SHA1 Message Date
Dion Moult 6596f5bc4b Fix regressions in MEP joins after switching over to numpy from mathutils 2025-03-12 23:05:34 +11:00
Dion Moult acdc40fb41 See #1227. Reimplement extending walls to another wall 2025-03-12 23:05:34 +11:00
Andrej730 9be0a60c0a github issue templates - use comment blocks for instructions
As users sometimes tend not to remove the intsruction messages...
2025-03-12 16:29:13 +05:00
Andrej730 e9a3d06352 Document copy and paste workarounds in docs #6327 bonsai-0.8.2-alpha2503121114 2025-03-12 16:13:53 +05:00
Andrej730 dfd30fbcaa black . 2025-03-12 16:13:52 +05:00
Dion Moult a941eb3f90 Parametric roof geometry is now whitelisted for IfcSlab.ROOF and IfcCovering.ROOFING too. bonsai-0.8.2-alpha2503120748 2025-03-12 18:47:50 +11:00
Dion Moult 226736eb41 Fix #3357. Remove Shift-E for parametric objects (superseded by tab) and you can now extend to anything not just slabs.
This Shift-E still needs more polish as we figure out the best hotkeys
and what's most natural to users when they select different combinations
of objects, so expect the conditionals that govern when Shift-E does
things to still change in the future.
bonsai-0.8.2-alpha2503120741
2025-03-12 18:41:18 +11:00
Dion Moult f5a1c4aae3 See #1227. Reimplement extend walls to slab (or anything with negative Z faces)
There are a few differences to the previous implementation:

 1. It is no longer recalculated on wall regeneration. The new wall
regeneration is strict to the spec on the rules of rel connects path,
and so this being a "userdefined" connection we only calculate it
explicitly when the user invokes the operator.
 2. It uses meshes instead of clipping planes, so you can clip to
strange shapes or gable roofs or whatever. Nice.
bonsai-0.8.2-alpha2503120706
2025-03-12 18:05:57 +11:00
Bruno Perdigão a7a4198fc1 Polyline tool - add "dm" and "cm" to the input validation. bonsai-0.8.2-alpha2503112011 2025-03-11 17:10:52 -03:00
Bruno Perdigão 6e0e19d690 See #6130. Fix issue where aggregate mode where not being disabled.
The issue was caused by deleting an object outside the aggregate while in
aggregate mode. The selection for these objects are now disabled to prevent
this issue
bonsai-0.8.2-alpha2503112000
2025-03-11 16:58:08 -03:00
Bruno Perdigão 72bbf244f2 Fix issue #6221 where crtl+shift+D were not moving the whole copied aggregate. bonsai-0.8.2-alpha2503111935 2025-03-11 16:33:40 -03:00
Bruno Perdigão 41c1c6e8fa Fix #6291.
When changing slab `x_angle` the rotation matrix now takes into account object's world matrix.
bonsai-0.8.2-alpha2503111914
2025-03-11 16:11:47 -03:00
Bruno Perdigão a32735ac6a Small fix after 7af672712f bonsai-0.8.2-alpha2503111705 2025-03-11 14:04:34 -03:00
Bruno Perdigão 031540e982 Add #5496. Objects from linked ifc files can now be snapped. bonsai-0.8.2-alpha2503111539 2025-03-11 12:37:47 -03:00
Bruno Perdigão db1d8d938f Allow dimensions to use custom units from BBIM_Dimension Pset.
- Implementation of @theoryshaw PR #5922.
 - Note: `IfcPropertyEnumeration` allows multiple choices, but this is not
 applicable for this use case. Users must manually deselect other options;
 otherwise, it defaults to the first selected option.
bonsai-0.8.2-alpha2503111456
2025-03-11 11:56:16 -03:00
Bruno Perdigão aa478ab359 Fix area measure tool to display first dimension correctly. 2025-03-11 11:56:16 -03:00
Bruno Perdigão 19c103c627 Fix issue where "C" to close polyline where not updating measurement dimension. 2025-03-11 11:56:16 -03:00
Bruno Perdigão 7af672712f See #6164. Allow measure tool to work without IFC Project. 2025-03-11 11:56:08 -03:00
Andrej730 6bd8636c92 Revert "Bump IOS"
This reverts commit c1bc36ab86.
bonsai-0.8.2-alpha2503111347
2025-03-11 18:46:38 +05:00
Andrej730 a9f7d4ab3b get_applicable_types in ifc2x3 to prioritize IfcBuildingElementProxyType
for occurrence classes without special type.

E.g. previously:
you select IfcSlab and change it to IfcRoof - since there is not IfcRoofType in IFC2X3 it would figure the matching product type is IfcBeamType and change this slab's type element to IfcBeamType. IfcBuildingElementProxyType seems more generic and fitting.
2025-03-11 18:37:24 +05:00
Andrej730 977d814d39 bim.reassign_class - fix issue in ifc2x3 when selected product class would be ignored
E.g. you select IfcSlab and change it to IfcRoof - since there is not IfcRoofType in IFC2X3 it would figure the matching product type is IfcBeamType (which is confusing too but that's another subject) and change this slab's type object to IfcBeamType which consequently change IfcSlab to IfcBeam instead of IfcRoof that was selected originally.

Noticed investigating #5918
2025-03-11 18:37:23 +05:00
Andrej730 5b95bb37e6 Systems UI - cache active system data 2025-03-11 18:37:23 +05:00
Andrej730 85b9906e20 Zones UI - add buttons for unassigning zone from the active objects 2025-03-11 18:37:23 +05:00
Andrej730 64f51d733e Fixed version of f3f7939c8b + get_element_zones 2025-03-11 18:37:23 +05:00
Andrej730 ed0b1c5009 typing 2025-03-11 18:37:22 +05:00
Dion Moult c1bc36ab86 Bump IOS 2025-03-11 21:59:53 +11:00
Dion Moult 9cfcaeb587 Fix bug and add boolean tests where if you added a boolean that fully clipped something you couldn't edit it due to lack of item ids. bonsai-0.8.2-alpha2503111014 2025-03-11 21:14:11 +11:00
Dion Moult d9e48467cd Fix bug where removing a boolean didn't unmark it as a manual boolean. 2025-03-11 21:13:04 +11:00
Dion Moult f08dba6483 Improve debug logs when running BDD tests
I've been spoilt by tools like Behat and so this make it much nicer
because it tells you exactly the feature/scenario/step where it failed.
bonsai-0.8.2-alpha2503110740 bonsai-0.8.2-alpha2503110741 bonsai-0.8.2-alpha2503110739 bonsai-0.8.2-alpha2503110738
2025-03-11 18:40:00 +11:00
Dion Moult 1e97d2c5fa See #6307. Prevent user from manually changing the ifc file path.
You can still hover over and copy paste if you want.
2025-03-11 18:38:45 +11:00
Dion Moult bf54132805 Fix #6307. Warning: critical bug where saving a file broke undo state.
Previously, changing props.ifc_file had an update hook to reload
information about the IFC model. But this isn't always correct because
there are two situations:

 1. The ifc_file path changed because you saved the file for the first
time or saved as, and this is merely recording a new saved path of the
existing file object.
 2. The ifc_file path changed because the user manually changed it or
selected a new file. This could reference an entirely new file object.
This is dangerous because we can't trust anything anymore, including our
undo history.

So the new default situation is that there is no magic hook. If you
change props.ifc_file, that's all it changes ... just a path stored in
Blender with not much significance.

If the user runs select_ifc_file to explicitly relink the file, it now
explicitly purges in that situation and clears the undo history.

Basically now behaviour is explicit, not using magic hooks.
2025-03-11 18:37:53 +11:00
Dion Moult 570513b60b Revert "util.get_element_systems to consider all kinds of ifcsystems"
This reverts commit f3f7939c8b.
bonsai-0.8.2-alpha2503102214
2025-03-11 09:13:48 +11:00
Bruno Postle e1ba98c5f8 fix loading ifc2x3 project libraries bonsai-0.8.2-alpha2503102112 2025-03-10 21:07:18 +00:00
Andrej730 8ed9c32404 Rename systems and zones from UIList
example - https://imgur.com/a/8yTzmy3
bonsai-0.8.2-alpha2503101353
2025-03-10 18:52:39 +05:00
Andrej730 5b9ef23bdd bim.assign_system/unassign_system - add info messages
Also check whether element is assignable prior to running system.assign_system to avoid scary exceptions.
2025-03-10 18:52:39 +05:00
Andrej730 f3f7939c8b util.get_element_systems to consider all kinds of ifcsystems 2025-03-10 18:52:39 +05:00
Andrej730 469b4f3502 Systems UI - move buttons to the header to unclutter UI 2025-03-10 18:52:39 +05:00
Andrej730 c4b57eb903 typing 2025-03-10 18:52:39 +05:00
Andrej730 3886c79a2c black . 2025-03-10 18:52:39 +05:00
Massimo Fabbro 566fe32ab2 Fix wrong wall legth qto calculation bonsai-0.8.2-alpha2503101219 2025-03-10 23:19:12 +11:00
Dion Moult 7fb6adc025 Fix #6296. See #1227. More normal fixes in layer set slicing. bonsai-0.8.2-alpha2503101215 2025-03-10 23:15:24 +11:00
Dion Moult c03cf4ce58 Fix #6303. I messed up the commit in 1259607a bonsai-0.8.2-alpha2503101206 2025-03-10 23:06:16 +11:00
Dion Moult 41188e26e1 See #1227. Don't touch manual booleans when regenerating wall body. bonsai-0.8.2-alpha2503101155 2025-03-10 22:54:42 +11:00
Dion Moult 823f27cd6a Add tests for new element add feature 2025-03-10 22:53:55 +11:00
Massimo Fabbro 4260313a99 Fix #6271
Fix the wrong length calculation for beams and columns
bonsai-0.8.2-alpha2503100909
2025-03-10 20:09:10 +11:00
Dion Moult 1259607a9f See #1227. Fix slicing normal calculation for AXIS3 elements. bonsai-0.8.2-alpha2503100710 2025-03-10 18:10:05 +11:00
Dion Moult 9f1ffe6381 Minor fix where you shouldn't be able to add an element without an IFC project 2025-03-10 18:08:43 +11:00
Dion Moult ba1b6b5b10 Fix regression where type thumbnails don't refresh properly from ae76d3253
The fix in ae76d3253 removed the refresh_ui_data call, so we need to
handle it a bit better. I also heavily simplified the thumbnail loading.
2025-03-10 18:08:30 +11:00
Dion Moult 2318132ea2 Minor refactor add_constr_type_instance is now add_occurrence bonsai-0.8.2-alpha2503092124 2025-03-10 08:23:56 +11:00
Massimo Fabbro b6b553e726 Fix #6271
Fix a bug about wrong net values qto calculation with IfcOpenshell
bonsai-0.8.2-alpha2503091148
2025-03-09 22:48:08 +11:00