Commit Graph

789 Commits

Author SHA1 Message Date
Dion Moult c4157673f5 Fix #4696. Null properties are now purged by default to prevent cruft build up. Add support for purging empty enum props. 2024-05-20 16:04:27 +10:00
Andrej730 25c1a14e64 set_element_value - pass attr value to the next part of the query #4495
E.g. previously set_element_value with query "material.item.Material.Name" would fail with error "Material property is expecting an IFC entity and not a string".

But now it will detect that "Material" property is not a last key in the query and will pass `.Material` value forward and try to set it's `.Name` attribute with value.

The main goal is to make sure get_element_value and set_element_value would have a same result for same queries.
2024-05-17 17:31:01 +05:00
Andrej730 a2ee920a5f fix group.update_group_products to work with multiple rels 2024-05-15 17:18:34 +05:00
Andrej730 fdbe74a432 maintain snake in api calls
there were only two methods using camel case for arguments
2024-05-15 17:18:34 +05:00
Andrej730 335e2b7a78 ifc2x3 tests 2024-05-15 17:18:34 +05:00
Andrej730 bb8e84e5ec typing 2024-05-15 17:18:33 +05:00
Andrej730 a9cba30da6 ifc2x3 tests
removed part of test_append_two_type_products_sharing_the_same_material_indirectly_via_a_material_set for ifc2x3 compatibility and removed part is already tested in test_append_two_type_products_sharing_the_same_material_with_properties
2024-05-13 18:01:18 +05:00
Andrej730 2f554db54b owner.remove_person to remove IfcInventory in ifc2x3 2024-05-13 18:01:17 +05:00
Andrej730 76e6c63a01 ifc2x3 tests - prevent using removed user/application
When some test was creating an element and then removing it, it would also remove user and application as they wasn't used anywhere else.
`ifcopenshell.util.element.remove_deep2(file, history)` we use in every api for element deletion can possibly remove user and application which can be unsafe if `get_user` is returning some specific entity that then will become invalid.

Also fixed tests breaking due ifcownerhistory and user/application appearing in ifc2x3.
2024-05-13 18:01:16 +05:00
Dion Moult 811a908cc3 More segfault fixes in test suite (maybe order matters only on Linux?) 2024-05-11 19:01:57 +10:00
Dion Moult cd2570cdbb Fix #4649. Bug where editing property set template enumerations didn't clean up properly. 2024-05-11 15:18:18 +10:00
Dion Moult 8e6c372a4f Fix ability to run tests and segfaulting test 2024-05-11 15:00:30 +10:00
Andrej730 d2a708fcc4 fix bug in ifc2x3 tests bootstrap
it was creating new applications and users every time `ifcopenshell.api.owner.settings.get_user` or `ifcopenshell.api.owner.settings.get_application` was called
2024-05-10 19:18:09 +05:00
Andrej730 1e630ede08 ifc2x3 tests 2024-05-10 19:18:09 +05:00
Andrej730 8ffb77551f more tests for ifc2x3 2024-05-09 18:15:49 +05:00
Andrej730 359dab573b document.remove_information to support ifc2x3 #4636 2024-05-09 14:02:10 +05:00
Andrej730 c5a7a8680e fix removing references in ifc2x3 #4636 2024-05-08 18:18:03 +05:00
Andrej730 cbf04546b8 fix many implicit ifcopenshell.guid imports
a bit related to 10d30b0de
2024-05-08 18:18:02 +05:00
Andrej730 ac29e152bb project.unassign_declaration - support batching #4474 2024-05-03 16:28:10 +05:00
Andrej730 de690a385c project.assign_declaration - support batching #4474 2024-05-03 16:28:10 +05:00
Andrej730 716a33f347 convert_file_length_units - fix issue converting to imperial units
ifcpatch ConvertLengthUnit - change used units from plural to singular names, to make it consistent across the api

more test coverage - test converting to more units and back from them
2024-04-24 15:15:30 +05:00
Andrej730 1c729a74d1 util.unit to support converting aggregate of aggregates 2024-04-24 14:12:13 +05:00
Thomas Krijnen 0793ae539e Merge remote-tracking branch 'origin/v0.7.0' into v08attempt1 2024-04-21 11:26:06 +02:00
Andrej730 9da4215bac ifcopenshell.util.selector.filter_elements - inherited predefined types
mentioned by @theoryshaw on osarch - https://community.osarch.org/discussion/comment/20126/#Comment_20126
2024-04-19 16:05:33 +05:00
Thomas Krijnen d24d781674 Merge remote-tracking branch 'origin/v0.7.0' into v08attempt1 2024-04-18 21:39:33 +02:00
Andrej730 657ff30883 material.unassign_material - support batching #4474 2024-04-18 10:48:25 +02:00
Andrej730 cd25a50e96 material.assign_material - support batching #4474 2024-04-18 10:48:25 +02:00
Andrej730 9e310318d4 ifcpatch - add ifc2x3 tests and test for MergeDuplicateTypes 2024-04-18 10:48:25 +02:00
Andrej730 3478db67b9 system.unassign_system - support batching #4474 2024-04-18 10:48:25 +02:00
Andrej730 9ee5cb7180 system.assign_system - support batching #4474 2024-04-18 10:48:25 +02:00
Andrej730 6e1688905f new util method ifcopenshell.util.element.get_groups 2024-04-18 10:48:25 +02:00
Andrej730 2460729e43 type.unassign_type - support batching #4474 2024-04-18 10:48:25 +02:00
Andrej730 d6fb508517 assign_type not to remap if it's type was assigned previously 2024-04-18 10:48:25 +02:00
Andrej730 fed23533a4 remove unused lines from tests 2024-04-18 10:48:25 +02:00
Andrej730 74224676cd type.assign_type - support batching #4474 2024-04-18 10:48:24 +02:00
Andrej730 fa2009418c unify tests for ifc4 and ifc2x3 2024-04-18 10:48:24 +02:00
Andrej730 7af1632c1a fix test files names 2024-04-18 10:48:24 +02:00
Andrej730 48e5d14817 nest.assign_object to support ifc2x3 2024-04-18 10:48:24 +02:00
Andrej730 ee7cf918ea get_pset() fix bug getting inherited psets with psets_only/qtos_only = True 2024-04-18 10:48:24 +02:00
Andrej730 bea8b2cddc typing 2024-04-18 10:48:24 +02:00
Dion Moult df4478a90a Fix #4290. You can now format custom thousands separators and decimal separators in IfcCSV. 2024-04-18 10:48:24 +02:00
Dion Moult 97eb34ca0d Fix #4490. Fix fundamental bug where get_pset would return none for inherited props with a boolean False value. 2024-04-18 10:48:24 +02:00
Andrej730 ede278db8f ifcopenshell.util.element.get_nest test 2024-04-18 10:48:24 +02:00
Andrej730 3db33a1071 nest.unassign_object - support batching #4474 2024-04-18 10:48:24 +02:00
Andrej730 d270a4fef8 nest.assign_object - support batching #4474 2024-04-18 10:48:24 +02:00
Andrej730 da838a2c7c deprecate spatial.remove_container in favor of spatial.assign_container
added temporary support for old version with warnings:

WARNING. `spatial.remove_container` api method is deprecated and should be replaced with spatial.unassign_container
WARNING. `product` argument is deprecated for API method "spatial.remove_container" and should be replaced with `products`.
2024-04-18 10:48:24 +02:00
Andrej730 163f5f2611 aggregate.unassign_object - support batching #4474 2024-04-18 10:48:23 +02:00
Andrej730 833f67cf45 aggregate.assign_object - support batching #4474 2024-04-18 10:48:23 +02:00
Andrej730 b106d6a4d1 temporary support for deprecated api arguments #4531 2024-04-18 10:48:23 +02:00
Andrej730 65d419d5c7 fix test after 7dd0d7601 2024-04-18 10:48:23 +02:00