Andrej730
1c3cf44122
get_referenced_elements to support IfcExternalInformation
2024-08-26 17:15:44 +05:00
Andrej730
d5613e0e26
typing
2024-06-26 17:06:30 +05:00
Andrej730
f364643d7e
fix assigning material usages / reloading reprs after c4ae9578e #4843
2024-06-25 18:30:52 +05:00
Dion Moult
ac58e6b8b2
Minor fix to new collection organisation for drawings
2024-06-24 18:21:06 +10:00
Andrej730
a834e5b4cd
element.get_type doc note
2024-06-21 17:50:22 +05:00
Andrej730
d443c5e2a6
element.get_type - check schema explicitly for a small optimization
...
Previously if product had no types it would still run through all element.IsDefinedBy and check if they are IfcRelDefinesByType even if it's not IFC2X3.
2024-06-21 17:49:02 +05:00
Andrej730
db98f13982
typing
2024-06-07 17:15:52 +05:00
Dion Moult
60ae4e80ce
New get_contained util.element function
2024-06-05 13:04:50 +10:00
Andrej730
70091aa28b
typing
2024-06-03 17:44:04 +05:00
Dion Moult
0f9ea1e1e7
New utility functions to get parent in spatial hierarchy, filled void, and voided element
2024-06-01 15:09:05 +10:00
Andrej730
45a1655485
typing
2024-05-29 18:00:44 +05:00
Dion Moult
02cae9c7c2
Continue to revise optimisation of remove_deep to fix failing tests after a8729933
2024-05-23 22:54:19 +10:00
Dion Moult
a8729933af
Optimise remove_deep, which can make removing lots of elements 100x faster in scripts.
2024-05-23 20:15:09 +10:00
Dion Moult
69c197c1a4
get_psets utility now defaults to merging duplicate psets instead of overriding
...
This behaviour is more comprehensive for broken data and now consistent for types and materials.
2024-05-22 08:12:38 +10:00
Andrej730
3884403231
typing
2024-05-16 18:14:06 +05:00
Andrej730
bb8e84e5ec
typing
2024-05-15 17:18:33 +05:00
Andrej730
1e630ede08
ifc2x3 tests
2024-05-10 19:18:09 +05:00
Andrej730
cbf04546b8
fix many implicit ifcopenshell.guid imports
...
a bit related to 10d30b0de
2024-05-08 18:18:02 +05:00
Dion Moult
93639e9e50
Even more cleaning of documentation references
2024-05-07 19:08:13 +10:00
Dion Moult
89c4cbeb05
Drop support for Python 2.
2024-05-07 12:17:46 +10:00
Andrej730
8dde98f543
fix #4592 (after 0da3270)
...
Before IFC4 Shape Aspects counldn't be part of IfcRepresentationMap
2024-04-29 15:22:26 +05:00
Andrej730
ff76850a54
ifcopenshell.util.element.get_structure_referenced_elements
2024-04-15 17:24:31 +05:00
Andrej730
75c854da01
ifcopenshell.util.get_referenced_elements
2024-04-15 17:21:10 +05:00
Dion Moult
8a62558575
Fix #4484 . Clarify inheritance rules of predefined types.
2024-04-15 09:27:58 +10:00
Andrej730
fa0dbac914
new util method ifcopenshell.util.element.get_groups
2024-04-11 17:50:30 +05:00
Andrej730
239ab5b587
get_pset() fix bug getting inherited psets with psets_only/qtos_only = True
2024-04-10 18:45:37 +05:00
Andrej730
37a33d62d5
further ifcopenshell.util.element optimization
...
and readibility for props addressed by the index
2024-04-10 18:45:37 +05:00
Andrej730
13c6fdd3c6
maintain verbosity getting complex property subproperties
2024-04-10 18:45:36 +05:00
Andrej730
e69597f72b
typing
2024-04-10 18:45:36 +05:00
Dion Moult
bee1e21f0e
Fix #4490 . Fix fundamental bug where get_pset would return none for inherited props with a boolean False value.
2024-04-10 12:57:52 +10:00
Andrej730
153389fe4a
ifcopenshell.util.element optimization
...
Tried to reduce amount of IFC attributes retrieved by reusing already retrieved values.
E.g. previously get_nest() was retrieving same attribute 3 times on each call, now it does it only once and it's 2 times faster (2.4 ms -> 1.2 ms).
2024-04-09 18:36:55 +05:00
Andrej730
d1bcec7a6a
typing
2024-04-09 18:33:25 +05:00
Dion Moult
ccfe7ab80a
Optimise property / quantity checks for IDS and other purposes
2024-03-27 16:09:13 +11:00
Andrej730
f20fd3357f
typing
2024-03-14 14:50:34 +05:00
Andrej730
4d23706145
more typing
2024-03-11 15:15:17 +05:00
Andrej730
602e18a262
promote get_shape_aspects to util.element method
2024-02-19 18:08:18 +05:00
Andrej730
352321364c
fix couple building docs errors / warnings
2024-01-24 16:38:53 +05:00
Dion Moult
000245c26c
Nesting collections only generate for element nesting, not port nesting
2023-12-14 16:50:56 +11:00
Dion Moult
7c89d072e2
Fix #4086 . Add support for non predefined bSDD pset and qto values.
2023-12-08 15:07:46 +11:00
Dion Moult
1b35ea122e
Implement support for managing nest hosts and components.
2023-12-07 13:19:29 +11:00
Dion Moult
229c7285c2
Add support for loading nested elements and consider nesting for indirect spatial containment.
2023-11-20 16:57:38 +11:00
Dion Moult
7c694e5b3e
Fix #3951 . mats selector now supports IfcMaterialList.
2023-11-01 22:48:31 +11:00
Dion Moult
7f7f353131
Disable batching for removal as it doesn't seem to help mostly from experience. Still testing.
2023-10-31 12:31:05 +11:00
Dion Moult
58be92d3fc
New verbose option in util get_pset(s) which lets you get ID and class for complex processing.
2023-10-15 08:57:37 +11:00
Dion Moult
dd70b09fb1
Representation items panel now shows styles and layers
2023-10-12 22:56:36 +11:00
Andrej730
3faaee80ec
copy_deep to always pass exclude_callback to the recursion
...
It wasn't passing the exclude_callback if attribute of the copied element wasn't a tuple, resulting in duplicated named profiles in case if you'd copy a IfcBooleanClippingResult #3810
For example, how copy_deep of IfcProductDefinitionShape with boolean clipping previously would work:
V IfcShapeRepresentation - copied with exlude_callback (part of .Representations[])
V IfcBooleanClippingResult - copied with exlude_callback (part of .Items[])
X IfcExtrudedAreaSolid - copied without exlude_callback becuase it's part of .FirstOperand (not an array) and we have IfcIShapeProfileDef duplicated
Case without booleanclippings:
V IfcShapeRepresentation - copied with exlude_callback (part of .Representations[])
V IfcExtrudedAreaSolid - copied with exlude_callback, since it's part of .Items[], IfcIShapeProfileDef not duplicated
2023-09-29 09:29:25 +05:00
Dion Moult
256c0baa14
Accommodate invalid Revit models where they have invalid material relationships.
2023-08-25 16:52:00 +10:00
Dion Moult
57173c7740
You can now get specific container types via util.element or util.selector. E.g. if you wanted to know what building an object is in or what storey an object is on.
2023-08-21 23:07:02 +10:00
Dion Moult
ed4abacd1e
Fix #3578 . Support querying surface styles in tools like IfcCSV.
2023-08-14 11:55:15 +10:00
Dion Moult
a1caef5b4f
See #3334 . Fix some get_pset implementation errors in 64516a1
2023-07-05 10:37:13 +10:00