Andrej730
b7c390585b
ios - fix error removing other IfcPresentationStyles
...
besides IfcSurfaceStyle
2024-10-01 15:38:45 +05:00
Dion Moult
4261fdbed6
Rewrite coordinate offset to use np.array not Vector() for precision
2024-09-27 23:09:00 +10:00
Andrej730
9953ce1b39
typing
2024-09-20 22:03:19 +05:00
Andrej730
8061e22480
geometry.unassign_representation to remove shape aspects
...
previously it was leaving unused shape aspects unconnected to any other elements, now it will purge them
2024-09-13 18:50:54 +05:00
Andrej730
b911b68aec
typing
2024-09-13 18:50:54 +05:00
Andrej730
aa97ff7f16
typing
2024-09-12 18:40:20 +05:00
myoualid
97393eb173
prevent spatial elements selection from being assigned to cost control
2024-09-11 18:48:59 +01:00
Andrej730
ddf92ab8fb
typing
2024-09-10 18:28:02 +05:00
Andrej730
5616367a03
don't deep copy psets for optimization
...
Related to #5291
pset.edit_pset should cover it since it does support unsharing shared properties
2024-09-10 14:21:14 +05:00
Takayuki Kato
1da47d9271
Add support for editing IfcPhysicalComplexQuantity in edit_qto ( #5335 ) ( #5356 )
...
* Add support for editing IfcPhysicalComplexQuantity in edit_qto (#5335 )
* Fix lint-formatting issues
2024-09-10 14:13:57 +10:00
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
Dion Moult
8b1d3a0c5d
Fix #4769 . Bug where editing grids didn't work with non-SI units.
...
I really don't know how this mistake lasted this long.
2024-09-07 13:48:42 +10:00
Andrej730
39fd9ce462
attribute.edit_attributes - small optimizations
...
remove settings dictionary and remove some ifc calls
2024-09-06 18:11:24 +05:00
Andrej730
a1e51757b1
attribute.edit_attributes - document behaviour for PredefinedType
2024-09-06 15:18:15 +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
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
Ryan Schultz
290c08d6d5
updated links in docs
2024-09-03 13:18:55 -05: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
acbdc0ed4c
typing
2024-09-03 18:53:25 +05:00
Andrej730
01d965fe25
profile.remove_profile - clean up removing profile psets
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
90e9c21320
material.add_profile note
2024-09-02 18:40:12 +05:00
Andrej730
9f00e8aef0
Use Point RepresentationType for point clouds in ifc4x3
...
PointCloud representation type marked as deprecated in ifc4x3, see https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcShapeRepresentation.htm
2024-08-23 17:25:10 +05: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
2a1d1d6e10
bonsaibim urls #5178
2024-08-14 16:49:34 +05:00
Andrej730
eca1d47d06
typing
2024-08-08 18:12:45 +05:00
Andrej730
644f32d11c
Fix errors appending assets when projects are using georeferencing #5110
2024-08-08 18:11:00 +05:00
Andrej730
c8466e0606
typing
2024-08-01 18:01:58 +05:00
Andrej730
46b3bfecd1
fix issues assigning material sets and material lists
2024-07-29 18:53:12 +05:00
Kurt Battisti
dfd505a794
Fix. Docs Georeferencing URL ( #5096 )
...
use users/advanced/georeferencing.html
2024-07-28 00:14:50 +10:00
Dion Moult
a6286293d8
Run black on IOS-Python
2024-07-26 12:00:57 +10:00
Andrej730
8b29e50f11
add_classification - remove dead and deprecated code
2024-07-24 18:24:22 +05:00
Andrej730
b45a995bb3
typing
2024-07-08 17:43:55 +05:00
Dion Moult
b616cafa49
Minor typing hint and disable linear position elements from loading
2024-06-28 13:01:15 +10:00
Dion Moult
07060fc769
Replace all ifcopenshell.api.run with ifcopenshell.api static functions.
2024-06-28 12:36:31 +10:00
Andrej730
4ec8345716
typing
2024-06-27 18:26:49 +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
Andrej730
f364643d7e
fix assigning material usages / reloading reprs after c4ae9578e #4843
2024-06-25 18:30:52 +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
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