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
Dion Moult
c0402687b5
See #3334 . Optimise pset getting and add simple "broadphase" filtering for all facets for faster validation.
2023-07-04 15:50:44 +10:00
Dion Moult
64516a173a
See #3334 . Fix bug where get_pset didn't handle property inheritance correctly.
2023-07-04 15:50:44 +10:00
Dion Moult
bac683e105
Fix bug for getting psets of materials and profiles in IFC2X3
2023-06-16 13:32:33 +10:00
Dion Moult
64b9d2e5e3
See #3226 . New batched remove_deep2() which uses serialisation for faster removal performance on large graphs.
2023-06-06 17:40:31 +10:00
Dion Moult
3ee6bdf207
You can now get decompositions non-recursively in element utilities
2023-06-05 15:11:55 +10:00
Gorgious56
2b99cc1e58
Fix typo in get_pset docstring
2023-05-10 16:41:19 +02:00
Dion Moult
bac0dd37fa
Fix #3052 . Deep deletion of large geometries is now thousands of times faster.
2023-04-27 20:15:17 +10:00
arun
1a7843a6b5
Nesting added to util.get_decomposition function
2023-04-19 15:46:51 +10:00
Dion Moult
088354a96b
Fix critical bug where copied representations would be inefficiently or incorrectly replicated.
2023-03-19 22:03:45 +11:00
Dion Moult
93b44b43a5
You can now get all materials including materials in sets via the util module.
2023-03-09 17:48:10 +11:00
Dion Moult
82b201a14e
Fix #2352 . Text styling is now possible with custom classes.
2023-02-12 15:01:47 +11:00
Dion Moult
88bddb9531
See #2520 . You can now duplicate drawings.
2023-02-08 12:29:49 +11:00
Dion Moult
6a2307308c
Fix bug where copying objects with profiles should only share profiles if the profile is named.
2023-01-28 21:51:00 +11:00
Dion Moult
ba7741fef5
Fix #2285 . You can now get all the elements in a presentation layer.
2023-01-12 12:28:09 +11:00
Dion Moult
c8ba96cde8
Make syntax highlighting explicit in docs
2023-01-10 10:16:28 +11:00
Vukas Pajic
f0b9c9ad7b
#2602 get_properties no longer throws error when EnumerationValues = None
2022-11-18 14:35:57 +01:00
Dion Moult
adc59de2bf
Minor fix to accommodate null descriptions and parents with no attributes
...
# Conflicts:
# src/ifcopenshell-python/ifcopenshell/util/doc.py
2022-11-03 17:13:56 +11:00
Boris Brangeon
b2c5153c1c
Add IsGroupedBy in function get_decomposition ( #2513 )
...
* Add IsGroupedBy in function get_decomposition
selector example : "@ .IfcZone & .IfcSpace"
* Update element.py
* Change name function get_group
get_group to get_grouped_by
2022-10-19 18:48:55 +11:00
Dion Moult
232252f61d
Copy deep can now exclude things, useful for copying representation graphs where you don't want to duplicate the context
2022-10-09 17:15:39 +11:00
Dion Moult
4110b81270
Decomposition mode now selects all children (not parenting) to move a host and all children easily
2022-10-08 23:42:03 +11:00
Dion Moult
171db4b241
Add support for connecting/disconnecting paths in API
2022-09-15 10:32:01 +10:00
Dion Moult
91fac6d4bd
Add IfcTester support and test cases for bounded, table, and reference props
2022-09-12 22:35:05 +10:00
Dion Moult
c7c59d9496
IfcTester now supports list and enumerated properties
2022-09-12 21:34:06 +10:00
Dion Moult
451512ddff
#1812 Add batching support for remove_deep2 for faster removals
2022-08-30 20:08:03 +10:00
Dion Moult
f50e790b11
Minor fix
2022-08-22 17:02:05 +10:00
Dion Moult
520e7653e4
#1375 #2317 add API support for referencing in spatial structures
2022-08-19 18:43:39 +10:00
Sigma Dimensions
d3795c9836
Documentation for ifcopenshell.util.element
2022-08-15 19:40:51 +01:00
Vukas Pajic
5b77001568
updated according to comments
2022-06-29 17:23:27 +10:00
Vukas Pajic
1f4022a41b
fix error from util/element.py
2022-06-29 17:23:27 +10:00