Commit Graph

8455 Commits

Author SHA1 Message Date
Andrej730 526dbd9e44 Added IfcZone to systems UI in IFC2X3 #3905
In IFC2X3 IfcZone is a subtype of IfcGroup but not subtype of IfcSystem (it become one after IFC4), therefore IfcZone wasn't presented anywhere in BBIM UI.
It's a bit confusing though to include IfcZone in systems when it's not actually a IfcSystem but having it in IfcGroups would be confusing too.
2024-04-16 11:04:28 +02:00
Andrej730 a43fd7f066 Fixed #3901
It was throwing an error because was failing to write a list to an excel cell, now it's explicitly converting the value to string.

Python: Traceback (most recent call last):
  File "\blenderbim\bim\module\fm\operator.py", line 102, in execute
    writer.write_xlsx(filepath)
  File "\blenderbim\libs\site\packages\ifcfm\__init__.py", line 259, in write_xlsx
    cell = worksheet.cell(row=r, column=c, value=col)
  File "\blenderbim\libs\site\packages\openpyxl\worksheet\worksheet.py", line 247, in cell
    cell.value = value
  File "\blenderbim\libs\site\packages\openpyxl\cell\cell.py", line 218, in value
    self._bind_value(value)
  File "\blenderbim\libs\site\packages\openpyxl\cell\cell.py", line 187, in _bind_value
    raise ValueError("Cannot convert {0!r} to Excel".format(value))
ValueError: Cannot convert ['USE TYPE CATALOG'] to Excel
2024-04-16 11:04:28 +02:00
Andrej730 c8e9acce8c ifcfm symlink to dev environment setup script 2024-04-16 11:04:28 +02:00
Andrej730 ea2120aa00 bim.switch_representation to switch to exact representation
previously it was switching to the first representation that matches the context, so it wasn't possible to switch to the second one if you had more than 1 representation in the same context

using always both element and representation in `geometry.import_representation` so it will import the exact representation and not the first one found by `ifcopenshell.geom.create_shape`
2024-04-16 11:04:28 +02:00
Andrej730 915a892479 activate_drawing to prioritize already active representation
If there are multiple representations in the same subcontext, when it was searching for the representation for some specific subcontext, it would previously always switch to the first representation from the list, now it's going to prioritize the one that's already active.
2024-04-16 11:04:28 +02:00
Andrej730 b83732a92e bim.create_all_shapes info message 2024-04-16 11:04:28 +02:00
Andrej730 0a309e191d Bump build version to fix #3889 2024-04-16 11:04:28 +02:00
Andrej730 1c142a34bc Some UI to mark booleans as manual #3709
Currently it allows only to either set all object's booleans to be marked as manual or all of them marked as automatic, can't change some specific boolean.

Short demo - https://imgur.com/a/bczv35N
2024-04-16 11:04:28 +02:00
Andrej730 6a7f8f65c7 move to tools methods for working with manual booleans #3709
Also fixed a bug adding boolean when pset is already added and representation type in add_boolean

```
  File "\addons\blenderbim\tool\ifc.py", line 201, in execute
    IfcStore.execute_ifc_operator(self, context)
  File "\addons\blenderbim\bim\ifc.py", line 336, in execute_ifc_operator
    result = getattr(operator, "_execute")(context)
  File "\addons\blenderbim\bim\module\model\opening.py", line 534, in _execute
    data = json.loads(pset["Data"])
  File "\addons\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 248, in __getitem__
    if key < 0 or key >= len(self):
TypeError: '<' not supported between instances of 'str' and 'int'
```
2024-04-16 11:04:28 +02:00
Andrej730 3c49dd15f7 localize mathutils dependency in tests #3895
replaced shapebuilder with general ifcopenshell code in `test_add_boolean` (the only place besides `test_shape_builder` where it was used), that way mathutils dependency in tests is localized only to `test_shape_builder.py`.

added test-safe option to makefile, so github workflow would ignore `test_shape_builder` tests for now and it wouldn't interrupt the entire workflow
2024-04-16 11:04:28 +02:00
Andrej730 df745345d5 refresh_aggregate to show time it took
since this can get very time consuming on large projects
2024-04-16 11:04:28 +02:00
Andrej730 cef9ba6001 Fix poll error after 3de9915
The error was
Traceback (most recent call last):
  File "\blenderbim\bim\module\model\covering.py", line 64, in poll
    return element.is_a("IfcCovering")
AttributeError: 'NoneType' object has no attribute 'is_a'
2024-04-16 11:04:28 +02:00
Dion Moult 2cd7df4cbc Minor fix 2024-04-16 11:04:28 +02:00
Thomas Krijnen f504053b27 Fixes after gltf ECEF merge 2024-04-16 11:04:21 +02:00
Andrej730 dcc600805c small fix f38952dc5 #3898 😬 2024-04-16 11:03:55 +02:00
Andrej730 3804b4912e small refactor 2024-04-16 11:03:55 +02:00
Andrej730 f8a2946355 Support other voiding IfcFeatureElementSubtraction elements #3889
Support other voiding IfcFeatureElementSubtraction besides IfcOpeningElement.
2024-04-16 11:03:55 +02:00
Andrej730 4cf6d65e1a Fixed issue after 19345ff
It wasn't considering that EnumerationReference could be None
2024-04-16 11:03:55 +02:00
Thomas Krijnen 64454a001f Apply handling of openings on IfcFeatureElementSubtraction generically #3889 2024-04-16 11:03:26 +02:00
Andrej730 ede7776a28 black formatting 2024-04-16 10:56:22 +02:00
Andrej730 e1b64fba00 Keep placement axes recalculating profiles #3879 2024-04-16 10:56:22 +02:00
Andrej730 e2077c27dd small fix add_profile_representation - use of undefined variables 2024-04-16 10:56:22 +02:00
Ryan Schultz 3ae42a074f Add a preference for particular app to open sheet layout 2024-04-16 10:56:22 +02:00
Bruno Postle 4375a39726 BlenderBIM minor fix after 7107a91 2024-04-16 10:56:22 +02:00
Dion Moult 12000c5aa5 Fix #3870. Bug where element filtering wasn't initialised properly when loading a camera for the first time.
Raster_x/y would only be set after the handler triggers. This is no longer necessary with the new explicit width / height properties.
2024-04-16 10:56:22 +02:00
Dion Moult 6f42c71e88 New verbose option in util get_pset(s) which lets you get ID and class for complex processing. 2024-04-16 10:56:22 +02:00
Bruno Postle 8d25bfca18 BlenderBIM keep camera position on git switch
New 'zoom extents' behaviour on IFC load is unwanted when switching
between git revisions
2024-04-16 10:56:22 +02:00
isma3lMB 34a56cc914 Adding support for non ascii characters when reporting 2024-04-16 10:56:22 +02:00
Massimo Fabbro 21078a80dd Fix bug in covering/space tool with matrix global and local 2024-04-16 10:56:22 +02:00
Dion Moult e4adfb863b See #3884. Rewrite native geometry handling with a much more robust approach fixing a number of invalid coordinates and simplifying things. 2024-04-16 10:56:22 +02:00
Dion Moult 2c80342676 Fix bug where native meshes had normal smoothing enabled by default 2024-04-16 10:56:22 +02:00
Dion Moult 587c9858a7 Minor fixes to placement utilities for getting mapped item matrixes 2024-04-16 10:56:22 +02:00
Dion Moult a3acc0540a First draft of style manager panel 2024-04-16 10:55:58 +02:00
Dion Moult 30850e79b0 Material manager panel now moved to geometry tab 2024-04-16 10:55:58 +02:00
Dion Moult 648d6dfdb9 Representation items panel now shows styles and layers 2024-04-16 10:55:58 +02:00
Dion Moult 89339f807f Accommodate bug in Revit where mapped representations were missing... well, a representation map. 2024-04-16 10:55:58 +02:00
Dion Moult 1237d82d13 Minor bug fixes with error message when selecting objects in layers without objects 2024-04-16 10:55:58 +02:00
Dion Moult 30f425af17 Modernize zone and type table mappings for COBie 2.4 with Emma Hooper 2024-04-16 10:55:58 +02:00
Thomas Krijnen 3d13b6468d Use schema_identifier for schema and express rule validation. See #3126 2024-04-16 10:55:58 +02:00
Massimo Fabbro 7863585cce better UI for covering tool 2024-04-16 10:55:58 +02:00
Massimo Fabbro 15233c4a21 fix generate space and covering where objects weren't created in the right location 2024-04-16 10:55:58 +02:00
Dion Moult f14df7f523 Begin drafting out a new representation items panel for managing styles and layers properly 2024-04-16 10:55:58 +02:00
Vukas Pajic e962c67c80 add missing attributes in ids.parse 2024-04-16 10:55:58 +02:00
Massimo Fabbro dd9be46212 Add generate flooring from cursor and regen (#3874) 2024-04-16 10:55:58 +02:00
Dion Moult f8439ed728 Fix #3873. Regression due to new importing logic. 2024-04-16 10:55:58 +02:00
Dion Moult c4fc00ab50 See #1619. Fix issue where copying non-templated properties didn't work. 2024-04-16 10:55:58 +02:00
Ryan Schultz 48f57c6999 Further clarify the bim.link_ifc command 2024-04-16 10:55:57 +02:00
Dion Moult b75dc6a056 Minor fix 2024-04-16 10:55:57 +02:00
Dion Moult 00239234ff Manual booleans are now tracked via a Pset instead of arbitrary class conventions which should fix a bunch of issues. 2024-04-16 10:55:57 +02:00
Dion Moult 49e27788da Write documentation for placement utility 2024-04-16 10:55:57 +02:00