Andrej730
e87faa167c
typing
...
also small optimization in MaterialCreator.create to address ifc a couple times less
2024-09-09 17:28:24 +05:00
Andrej730
27b9709b78
style.assign_representation_styles to support topology reprensentations #4038
2024-09-09 17:28:23 +05:00
Andrej730
33001e6c6d
profile.copy_profile
...
Fixes issue duplicated profile missing it's psets.
2024-09-07 11:22:43 +05:00
Andrej730
e224bfd19f
Fix error showing material/profile psets in bbim after 691815fd41
2024-09-07 11:22:43 +05:00
Andrej730
871cd45f53
selector.set_element_value to support 'predefined_type' keyword
...
See more details in https://community.osarch.org/discussion/comment/22134/#Comment_22134
2024-09-06 18:11:24 +05:00
Andrej730
6ebec7e0e5
pset.unshare_pset - fix bug where it would leaving an orphaned pset
...
It was leaving an orphaned pset if 'products' was a list of all elements pset is assigned to. Then it would create a new pset for each element leaving original pset orphaned.
2024-09-06 11:04:05 +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
88319bfa57
Fix missing ifc2x3 tests for pset.edit_pset
2024-09-05 17:13:41 +05:00
Andrej730
ea6df7f617
Use latest syntax for setting geometry settings #5299
...
Also fixed:
- old include_curves use
- missing use of 'include_curves' in ifcopenshell.draw
2024-09-05 15:08:35 +05:00
Andrej730
0ab70827e5
pset.assign_pset, pset.unassign_pset
2024-09-04 18:51:07 +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
Thomas Krijnen
eb7411b310
ifcopenshell.file.assign_header_from() to copy header
2024-09-03 18:49:05 +02:00
Andrej730
bea837299e
root.reassign_class to handle switching occurrence class <-> type class #5260
...
Kind of experimental. The idea is that it will reassign class e.g. from IfcWindow to IfcWindowType (or vice versa) and will keep the IFC representations and property sets.
Example - https://imgur.com/a/X7MHR0s
2024-09-03 18:53:25 +05:00
Andrej730
92525db14f
profile.remove_profile - tests
2024-09-03 18:38:21 +05:00
Andrej730
d2bc6f9509
pset.add_pset - support ifc2x3 material/profile psets
...
1) For psets there was an issue - it was instantiating abstract IfcProfileProperties
2) For materials it was only able to instantiate IfcExtendedMaterialProperties though there are other pset types too in ifc2x3.
2024-09-03 18:38:21 +05:00
Andrej730
5f5ab10b35
ifcopenshell.validate to validate ifc header #4119
2024-09-02 17:04:54 +05:00
Andrej730
afd5a5b23e
Fix get_info_2 #5248 after d80bcd1
2024-08-29 18:57:47 +05:00
Andrej730
1c3cf44122
get_referenced_elements to support IfcExternalInformation
2024-08-26 17:15:44 +05:00
Thomas Krijnen
d80bcd1a94
Unify variant storage ( #5118 )
2024-08-23 20:29:07 +02:00
Andrej730
7597b1b29c
bonsai, ifcopenshell - append IfcSurfaceStyles from other projects
...
And other IfcPresentationStyles, though they are not currently supported by bonsai.
Example - https://imgur.com/a/AHlvowp
2024-08-15 18:18:05 +05:00
Andrej730
3860884db3
bonsai other ifcopenshell packages #5178
2024-08-14 16:49:34 +05:00
Andrej730
644f32d11c
Fix errors appending assets when projects are using georeferencing #5110
2024-08-08 18:11:00 +05:00
Andrej730
6e1e653ceb
fix tests to use release version of ifc4x3 (ci was failing)
2024-07-26 16:29:46 +05:00
Dion Moult
a6286293d8
Run black on IOS-Python
2024-07-26 12:00:57 +10:00
Dion Moult
04365053a8
Fix deep purge of unit when converting units and fix bug where unit was removed if map unit was the same as the project unit
2024-07-12 22:48:23 +10:00
Dion Moult
c79e490d6d
Add test for fix in f56bae14
2024-07-12 21:57:29 +10:00
Dion Moult
e28b4d40ab
Converting project length units now intelligently preserves map unit and coordinate operation scale.
2024-07-11 23:10:24 +10:00
Dion Moult
a6940d2cba
Fix bug where schema instead of schema_identifer was used to get the schema_by_name. Fix tests to use IFC4X3_ADD2 so that you only need the official version compiled
2024-07-11 22:26:19 +10:00
Andrej730
deb0b3482b
IfcHeaderExtractor tests
2024-07-01 18:26:03 +05:00
Dion Moult
0d401c9272
Fix bug where migrating length units didn't change properties. Unit utility for checking attribute types now considers select types too
...
Changing properties is very critical for IFC2X3 georeferencing which is stored in a pset.
2024-06-29 17:04:27 +10:00
Dion Moult
07060fc769
Replace all ifcopenshell.api.run with ifcopenshell.api static functions.
2024-06-28 12:36:31 +10:00
Andrej730
eb67ffcbec
Use ifc4 for enum entities in select attributes validation test #4927
2024-06-27 18:26:49 +05:00
Andrej730
56d3b2ca36
Use release ifc4x3 version for validation tests
2024-06-27 18:26:49 +05:00
Andrej730
dd06b1a6c4
small addition to 14dbe121f
2024-06-27 18:26:49 +05:00
Andrej730
14dbe121f6
update serializer settings literals #4912
2024-06-27 10:59:35 +05:00
Andrej730
24e16d97f3
deprecate non-batching api #4474
2024-06-26 18:11:07 +05:00
Andrej730
13d61f0135
rename sequence.assign_workplan for consistency
2024-06-26 17:17:34 +05:00
Dion Moult
7a36c05c30
Implement WCS consideration in XYZ <-> ENH conversions.
2024-06-24 18:21:06 +10:00
Dion Moult
e295d596fe
Split true north in API and Blender UI to be editable independent of georeferencing
...
They are two separate concepts, after all.
2024-06-23 23:19:27 +10:00
Dion Moult
013b138e5c
Default to adding EPSG:3857 when adding georeferencing and let users choose an EPSG when adding.
2024-06-23 23:17:44 +10:00
Dion Moult
95d2d0af83
You can now see and edit WCS in the Blender UI (new API for it too)
2024-06-23 22:23:48 +10:00
Dion Moult
03ee826e67
Add tests for xaxis and yaxis angle conversions
...
This tricked me today, the "XAxis" and "YAxis" vectors are from different perspectives (yikes!). XAxis is from the perspective of grid north, and YAxis is from the perspective of project north. I'm following this convention because that's what buildingSMART docs do but just FYI they serve two different purposes!
2024-06-23 22:23:48 +10:00
Dion Moult
4ef237e0f7
Implement purge map unit when removing georeferencing and removing 2X3 and 4X3 georeferencing in API
2024-06-22 22:13:20 +10:00
Dion Moult
3c48cfbc19
Add support for IfcRigidOperation and IfcMapConversionScaled in API
2024-06-22 21:59:09 +10:00
Dion Moult
a6c3ae8446
Typing and update geolocation conversion utils to follow IFC4X3 rules about unit scaling
2024-06-22 15:52:00 +10:00
Dion Moult
d0373da0ad
Update XYZ <-> ENH geolocation conversion after the clarifications made on how to handle scale in IFC4X3
2024-06-22 14:47:42 +10:00
Dion Moult
bce6485b91
Support adding / editing georeferencing for IFC2X3 fallback psets
2024-06-21 11:21:41 +10:00
Andrej730
f54f45a051
geom.settings - add a tooltip for available settings #4832
...
example - https://i.imgur.com/eTdqv5J.png
added a test so we won't miss if some setting will be added/removed
2024-06-11 18:26:18 +05:00
Andrej730
6552463ed9
sequence.remove_task to remove IfcRecurrencePattern
2024-06-10 16:55:21 +05:00
Andrej730
6cab7d964e
sequence.remove_work_time to remove IfcRecurrencePattern
...
Previously it was leaving them orphaned.
2024-06-10 16:55:21 +05:00