Commit Graph

8375 Commits

Author SHA1 Message Date
Andrej730 5397b95df5 Fixing collections tests related to 99d9c0f5b
FAILED test/bim/test_feature.py::test_remove_drawing - AssertionError: The collection "IfcGroup/PLAN_VIEW" does not exist
2024-04-15 13:03:00 +02:00
Bruno Postle 489436449c BlenderBIM push Git tags to remote
Shows error message if push fails
2024-04-15 13:03:00 +02:00
Andrej730 a7283ca538 Fixed duplicated objects collections issue after 586707dd2
Duplicated objects were not able to have their own collection after 586707dd2

Also fixed bim test
FAILED test/bim/test_feature.py::test_copy_a_storey - AssertionError: assert 'IfcBuildingStorey/My Storey.001' in ['IfcBuildingStorey/My Storey']
2024-04-15 13:03:00 +02:00
Andrej730 6b0200e1f0 Preserving original name on unlinking
Unlinking was using copied object name for the unlinked object instead of the original one.
So it worked like Cube -> IfcWall/Cube -> Cube.001 and bim test was failing:
FAILED test/bim/test_feature.py::test_unlink_object - AssertionError: The object "Cube" does not exist
2024-04-15 13:03:00 +02:00
Andrej730 f45e3b99ca Fixed couple bugs in test_feature
1) Explicitly set empty ifc project not to load demo library - was still loading because it was using my default scene which caused errors.
2) typo in dimension check assertion message
2024-04-15 13:03:00 +02:00
Andrej730 787f9cd7be Fixing collectors tests after 1f43ec8 2024-04-15 13:03:00 +02:00
Andrej730 ea9457a49f Fixing tool tests 2024-04-15 13:03:00 +02:00
Andrej730 664d0e0fa6 Fixing core tests 2024-04-15 13:03:00 +02:00
Andrej730 f4067abc42 Fixed import error with filtering out IfcGrid's spatial element #3283
Fixed error that was occuring if you try to import .ifc file where spatial element contains only grid and will use advanced mode, filter mode = "IFC Class" and check "Filter Spatial Elements".

Error occured because spatial element was filtered out but then when ifc grid was created and importer to find a spatial element based collection for the grid it couldn't find it.

Traceback:
Error: Python: Traceback (most recent call last):
  File "\blenderbim\bim\module\project\operator.py", line 595, in execute
    ifc_importer.execute()
  File "\blenderbim\bim\import_ifc.py", line 260, in execute
    self.place_objects_in_collections()
  File "\blenderbim\bim\import_ifc.py", line 1494, in place_objects_in_collections
    self.place_object_in_collection(self.file.by_id(ifc_definition_id), obj)
  File "\blenderbim\bim\import_ifc.py", line 1498, in place_object_in_collection
    self.place_object_in_decomposition_collection(element, obj)
  File "\blenderbim\bim\import_ifc.py", line 1517, in place_object_in_decomposition_collection
    return self.place_object_in_spatial_decomposition_collection(element, obj)
  File "\blenderbim\bim\import_ifc.py", line 1545, in place_object_in_spatial_decomposition_collection
    self.collections[container.GlobalId].children.link(grid_collection)
KeyError: '33AiKftFj2aAf2MqQr5Gs7'
2024-04-15 13:03:00 +02:00
Andrej730 ae44957464 Fixed getting filtered spatial elements at import for ifc2x3 #3283
In ifc2x3 IfcProject is not IfcContext because there is no IfcContext in ifc2x3 and it was causing the error below on .ifc import with filtered spatial elements.
Also added small refactor

Traceback:
Error: Python: Traceback (most recent call last):
  File "\blenderbim\bim\module\project\operator.py", line 595, in execute
    ifc_importer.execute()
  File "\blenderbim\bim\import_ifc.py", line 253, in execute
    self.create_spatial_elements()
  File "\blenderbim\bim\import_ifc.py", line 688, in create_spatial_elements
    self.create_generic_elements(self.spatial_elements)
  File "\blenderbim\bim\import_ifc.py", line 698, in create_generic_elements
    products = self.create_products(elements)
  File "\blenderbim\bim\import_ifc.py", line 717, in create_products
    iterator = ifcopenshell.geom.iterator(settings, self.file, multiprocessing.cpu_count(), include=products)
  File "\blenderbim\libs\site\packages\ifcopenshell\geom\main.py", line 99, in __init__
    raise ValueError("include and exclude need to be an aggregate of IfcProduct?")
ValueError: include and exclude need to be an aggregate of IfcProduct?
2024-04-15 13:03:00 +02:00
Thomas Krijnen 29fbbc2a02 Remove dependency on bootstrap 2024-04-15 13:03:00 +02:00
Thomas Krijnen 970b71663e #3120 item_id vector test case 2024-04-15 13:03:00 +02:00
Thomas Krijnen dc81be8a9a item_id vector #3120 2024-04-15 13:02:45 +02:00
Andrej730 17ee5e6f43 Getting shader graph nodes by type rather than name #3316
Because relying on names doesn't work for non english users
2024-04-15 12:04:44 +02:00
Andrej730 e52e9d4ac0 Fixed error on disabling editing window 2024-04-15 12:04:44 +02:00
Andrej730 3e0adb8dfd Added button to update current style #3293
Example - https://i.imgur.com/f4Yi3MR.png
Now changing style type should be a bit more intuitive - previously there were no button and it wasn't possible to change style type for all selected objects / changing style type for the entire scene were hidden in N-panel Miscellaneous section.

Now it also able to change style type for all blender materials, even the ones that don't have any objects using them (wasn't possible before 7c0c934b4)
2024-04-15 12:04:44 +02:00
Bruno Postle d15f7cf88e BlenderBIM Git merge asymmetry heuristic (#3096)
`ifcmerge` is asymmetrical. When both branches have new entities, either
local or remote step Ids need to be renumbered to resolve the merge
conflict.

If the remote branch is 'origin/main' or 'main' we preserve remote Ids,
otherwise we preserve local Ids.

This should support a workflow where a local 'main' branch is kept
pristine, but other local branches are treated as disposable; it should
also support a workflow where multiple authors access a shared 'origin'.
2024-04-15 12:04:44 +02:00
Thomas Krijnen 88823943f0 Further defer sql.py imports for ifcopenbot to succeed 2024-04-15 12:04:44 +02:00
Thomas Krijnen 4f387e723b Comment out import mysql.connector 2024-04-15 12:04:44 +02:00
Thomas Krijnen 5a601f16fd Correct if-clause 2024-04-15 12:04:44 +02:00
Thomas Krijnen a7b10a2880 Add test 2024-04-15 12:04:44 +02:00
Totally a booplicate aced364a08 smol fix 2024-04-15 12:04:44 +02:00
Totally a booplicate 0b2cfc7560 fix missing else clause 2024-04-15 12:04:44 +02:00
Totally a booplicate dc5a0d4568 raise TypeError on invalid pset 2024-04-15 12:04:44 +02:00
Totally a booplicate 79983e5097 rework unpack_unit_value
handle the `None` case, simplify logic
2024-04-15 12:04:44 +02:00
Totally a booplicate e31047e8c6 improve naming of the new method 2024-04-15 12:04:44 +02:00
Totally a booplicate 182aa3ed01 improve update_existing_properties
explicit class check
error out on a not supported type
better methods names
2024-04-15 12:04:44 +02:00
Totally a booplicate 0632c9bf1b implement _try_purge
per review comment about repeating code
2024-04-15 12:04:44 +02:00
Totally a booplicate cd5baefb55 restructure if/elif/else chain 2024-04-15 12:04:44 +02:00
Totally a booplicate 53dd817d97 support tuples 2024-04-15 12:04:43 +02:00
Totally a booplicate 0ce987f788 move prop check 2024-04-15 12:04:43 +02:00
Totally a booplicate f4c618701c per review
change exception message
remove TODO
pass `Unit`
raise `NotImplementedError` when no template was found
2024-04-15 12:04:43 +02:00
Totally a booplicate c186e7120c resolve TODO
This is being fixed, we should always have a class to use
2024-04-15 12:04:43 +02:00
Totally a booplicate 1f89fea569 attempt to improve pset support
1. Adds support to directly passed in property entities
2. Adds support for tuples
3. Adds support for P_LISTVALUE
2024-04-15 12:04:43 +02:00
Balázs Dukai 2b71b33c82 Don't use importlib for version 2024-04-15 12:04:43 +02:00
Balázs Dukai 435090e7f1 Get package version from pyproject.toml 2024-04-15 12:04:43 +02:00
Balázs Dukai 4a4186e3ce Include GenericCityObject extension 2024-04-15 12:04:43 +02:00
Balázs Dukai fb3c553249 Add parameters 2024-04-15 12:04:43 +02:00
Balázs Dukai bc3cc94500 Init package 2024-04-15 12:04:43 +02:00
Vasile-Corjan ffebfca277 Update README.md 2024-04-15 12:04:43 +02:00
Vasile-Corjan eb67a809ce Update README.md
I have added the parameters "minOccurs" and "maxOccurs"
2024-04-15 12:04:43 +02:00
Dion Moult e7bb823f15 Run black on existing entity_instance 2024-04-15 12:04:43 +02:00
Dion Moult aafb905199 Build testing prototype of an SQLite based file / entity_instance. 2024-04-15 12:04:43 +02:00
Dion Moult 35a346e412 Document two answers to frequently reported bugs: missing numpy and blend / ifc out of sync. 2024-04-15 12:04:43 +02:00
Dion Moult 297ac5af3a Minor geometry processing documentation fix 2024-04-15 12:04:43 +02:00
Dion Moult ef98bd5120 Convert Ifc2Sql script to IfcPatch recipe and add geometry support 2024-04-15 12:04:43 +02:00
Dion Moult 816efc8810 Fetch pset and qto names via pset data instead of real time to prevent UI lag on larger models. 2024-04-15 12:04:43 +02:00
Dion Moult 0e02c97fc6 Lazily check for BBIM_Railing psets to prevent unnecessarily fetching psets for every element when loading models. 2024-04-15 12:04:43 +02:00
Dion Moult a572bcfcb9 IfcPatch can now support patches that write to arbitrary files or have no output. 2024-04-15 12:04:43 +02:00
Dion Moult 534247daa1 Fix bug for getting psets of materials and profiles in IFC2X3 2024-04-15 12:04:43 +02:00