Andrej730
e040dc4562
get_elements_by_style to support curve styles used in IfcFillAreaStyleHatching
2024-10-01 15:38:45 +05:00
Andrej730
65f9a745a3
black .
2024-09-23 19:33:27 +05:00
myoualid
193daff617
web-ui: enable assigning parametric quantities from queries #5369
2024-09-23 02:21:15 +01:00
Andrej730
4dbfeefe53
Fix UI errors getting elements using qset in IFC2X3
...
In IFC2X3 IfcQuantitySet didn't existed yet
Mentioned in #5404
2024-09-18 18:44:33 +05:00
Andrej730
b911b68aec
typing
2024-09-13 18:50:54 +05:00
myoualid
67a7e713b2
fix util.get_elements_by_pset to account for quantity sets
2024-09-10 17:17:42 +01:00
Andrej730
e224bfd19f
Fix error showing material/profile psets in bbim after 691815fd41
2024-09-07 11:22:43 +05:00
Andrej730
a867e72fd3
rename get_elements_using_pset -> get_elements_by_pset for consistency
...
To be consistent with other get_elements_by_xxx methods.
2024-09-06 11:04:04 +05:00
Andrej730
cce4e426c3
util.get_pset to support ifc2x3 material props
2024-09-05 17:13:41 +05:00
Andrej730
691815fd41
Tools for handling shared psets #5291
...
In IFC it's possible for a property set to be assigned to multiple elements and which may lead to confusing behaviour when you edit a pset on one element and other element seems to get edited too.
Which makes it worse is that that it is possible that some software is might be doing this unintentionally when exporting IFC (as some sort of optimization as storing 1 is more optimal than n copies of it).
So now there are some tools in Bonsai and in IfcOpenShell to handle the shared psest:
1) Indication that property is shared - https://imgur.com/a/9dd3jST (similar to how Blender indicates ID data-block users). You can click on it to "unshare" the pset - a new copy for the pset will be created and it's going to be linked only to the active object.
2) api pset.unshare_pset method that does the same. And util.element.get_elements_using_pset method that encapsulates schema differences and different approaches for occurrences/types.
3) ifcpatch recipe 'UnsharePsets' that's making all property sets in the IFC file to have just 1 element that's using them. You can limit the affected elements by providing query.
ifcpatch recipe is also available in Bonsai - https://i.imgur.com/aOCx7HI.png
2024-09-04 18:51:06 +05:00
Dion Moult
521b0ab58d
Fix #5271 . Prevent duplicate entries when getting a decomposition.
2024-09-02 17:35:49 +10:00
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