Andrej730
eb46de9658
material.unassign_material - support batching #4474
2024-04-12 17:41:37 +05:00
Andrej730
59cc9c0a16
material.assign_material - support batching #4474
2024-04-12 17:41:37 +05:00
Andrej730
38a73d6510
ifcpatch - add ifc2x3 tests and test for MergeDuplicateTypes
2024-04-12 17:41:36 +05:00
Andrej730
e66ac3d7db
system.unassign_system - support batching #4474
2024-04-11 17:50:31 +05:00
Andrej730
6b48e8b4b9
system.assign_system - support batching #4474
2024-04-11 17:50:31 +05:00
Andrej730
49e7abb4dc
type.unassign_type - support batching #4474
2024-04-11 17:09:41 +05:00
Andrej730
5098550399
assign_type not to remap if it's type was assigned previously
2024-04-11 17:09:41 +05:00
Andrej730
39433fb5a5
remove unused lines from tests
2024-04-11 17:09:41 +05:00
Andrej730
df4943205a
type.assign_type - support batching #4474
2024-04-10 18:58:44 +05:00
Andrej730
90bb2f0e16
unify tests for ifc4 and ifc2x3
2024-04-10 18:45:37 +05:00
Andrej730
c2840d92c2
fix test files names
2024-04-10 18:45:37 +05:00
Andrej730
81ff9c168e
nest.assign_object to support ifc2x3
2024-04-10 18:45:37 +05:00
Andrej730
e69597f72b
typing
2024-04-10 18:45:36 +05:00
Dion Moult
de744dddda
Fix #4290 . You can now format custom thousands separators and decimal separators in IfcCSV.
2024-04-10 17:32:39 +10:00
Andrej730
06b84cfa24
nest.unassign_object - support batching #4474
2024-04-09 18:33:25 +05:00
Andrej730
97db95085a
nest.assign_object - support batching #4474
2024-04-09 18:33:25 +05:00
Andrej730
d03f9237e2
deprecate spatial.remove_container in favor of spatial.assign_container
...
added temporary support for old version with warnings:
WARNING. `spatial.remove_container` api method is deprecated and should be replaced with spatial.unassign_container
WARNING. `product` argument is deprecated for API method "spatial.remove_container" and should be replaced with `products`.
2024-04-09 16:09:04 +05:00
Andrej730
f14bf8557a
aggregate.unassign_object - support batching #4474
2024-04-08 17:49:48 +05:00
Andrej730
cd11d2de27
aggregate.assign_object - support batching #4474
2024-04-08 17:49:48 +05:00
Andrej730
d764c0af23
temporary support for deprecated api arguments #4531
2024-04-08 17:49:48 +05:00
Andrej730
abe6dbdfc9
layer.unassign_layer - support batching #4474
2024-04-08 16:28:05 +05:00
Andrej730
7ecec973dd
layer.assign_layer - support batching #4474
2024-04-08 14:51:07 +05:00
Andrej730
845e229a9c
group.unassign_group - support batching #4474
2024-04-05 17:31:13 +05:00
Andrej730
cefa088b59
spatial.unassign_container - support batching #4474
2024-04-05 17:31:13 +05:00
Andrej730
109787d869
spatial.assign_container - support batching #4474
2024-04-05 17:28:30 +05:00
Andrej730
78abca16e6
black format
2024-04-05 16:47:14 +05:00
Dion Moult
0bc83fedae
Use indices instead of WorkTimeDatesInterface
...
Checking start/end dates are done very, very often in date calculations (often looping through every day in a date range). So I'd prefer more opaque code but less overhead.
2024-03-31 22:11:17 +11:00
Andrej730
8c28f52e6a
fix duplicated ifcstyleditems using append_asset
...
since we don't use `file.add` to add inverse items and we use `file.create_entity` it was duplicating new elements, added optional parameter that makes it possible to track already added relationships between `append_asset`s.
2024-03-05 14:18:18 +05:00
Andrej730
50648fd350
append_asset - keep preexisting contexts valid #4280
...
issue occurred with ifcpatch ExtractElements - it was adding project from other ifc file (with the contexts) and then adding some elements from it using `append_asset`. During `append_asset` it was considering existing context with the duplicated one and was partially purging it.
2024-03-04 18:04:24 +05:00
Andrej730
931fd9cc9f
reassign_class - cover with tests
2024-02-28 16:54:11 +05:00
Andrej730
8a6b4aa5fb
fix tests after a971860
2024-02-28 16:54:11 +05:00
Andrej730
e3a1c29593
Fix #4365
...
Allowing to add new properties with None values if should_purge is not set to True (and it's False by default)
2024-02-27 17:33:56 +05:00
Andrej730
c1cd228911
Fix #4342
2024-02-22 16:19:19 +05:00
Andrej730
a971860094
style.assign_representation_styles to replace previously assigned styles
...
as probably in the most cases user would want 1 style per 1 representation item
After this it's finally possible in BBIM to assign styles to representation items through the materials: https://imgur.com/a/cgiJ1KV
2024-02-22 13:41:34 +05:00
Andrej730
2e45d4a57e
unassign_material_style to handle constituents
2024-02-21 15:15:03 +05:00
Andrej730
0d8c86a0f6
api.unassign_representation_styles
2024-02-21 15:14:28 +05:00
Andrej730
7f0df72fec
assigning material styles to reuse existing styled item + tests
2024-02-21 15:14:28 +05:00
Andrej730
863a8248af
assign_representation_styles to reuse existing styled item + tests
2024-02-21 12:36:06 +05:00
Andrej730
551f3b0d8d
Fix issues editing work time in ifc4x3 #4295
2024-02-20 12:38:29 +05:00
Andrej730
96a8c1e8ae
style.assign_material_style to assign style to related shape aspects
2024-02-19 18:08:18 +05:00
Andrej730
a2ff63f9ec
Fix issue editing object placement that shares it's axis placement with other placements
...
If multiple object placements were reusing the same IfcAxis2Placement then editing one of them would remove IfcAxis2Placement ignoring it's inverse references making all other object placements invalid.
2024-02-16 18:04:09 +05:00
Andrej730
a33a1700dc
Fix bug in ExtractElements recipe adding a lot unrelated products
...
if you'd add a type product and it had material that were used in bunch of ther products
example - https://community.osarch.org/discussion/1965/error-extracting-ifcslab-or-ifccolumn
2024-02-14 14:23:50 +05:00
Andrej730
5e5de0bbd8
root.remove_product - fix some cases producing invalid ifc #4313
...
always remove IfcRelNests
1) if product is RelatingObject
2) if product is the only RelatedObject
2024-02-12 11:40:25 +05:00
Andrej730
bd64f42a54
remove_representation to consider representation item's layers too
...
and purge layers if they are out of items as they become invalid
2024-01-30 14:36:35 +05:00
Dion Moult
8df40dc4a6
Fix #4203 . Fix bug where removing nested cost items left orphaned relationships.
2024-01-12 18:14:49 +11:00
Andrej730
0fbe4d80c7
Clean up IfcIndexedColourMap removing representation #4138
...
Because we wasn't removing colour map, remove_representation was producing orphaned IfcPolygonalFaceSet that were referred by colour map.
2023-12-26 11:33:20 +05:00
Andrej730
f8af28f12a
style.edit_surface_style to support editing IfcSurfaceStyleLighting
...
It was failing because api method wasn't supporting IfcColourRgb attributes edit in general but only for IfcSurfaceStyleShading.SurfaceColour
2023-12-13 16:53:58 +05:00
Andrej730
c4080626df
style.add_surface_texture to work without blender material provided
2023-12-13 14:07:48 +05:00
Andrej730
0da210b732
edit_object_placement optimization for objects with subchildren #4035
...
1) We were iterating over same subchildren 2 or more times.
2) There is no need to change subchildren position at all since their parent position is already adjusted.
Explained here in detail - https://github.com/IfcOpenShell/IfcOpenShell/issues/4035#issuecomment-1822824352
2023-11-23 13:43:39 +05:00
Andrej730
6ee4edd0a0
Fixed issue reassigning class to type class with userdefined type #4018
...
When PredefinedType is not found in the related enum reassign_class is considering it USERDEFINED and trying to set .ObjectType. The problem was it was doing for type classes also, when it should have set .ElementType instead.
Why it crashed BlenderBIM - in IfcClassData.data["has_entity"] we store currently active IFC entity which is recreated during `ifcopenshell.util.schema.reassign_class` making old entity invalid. Since `root.reassign_class` was failing in the process, related BBIM operator was failing too, IfcClassData wasn't updated and removed entity was accessed from UI leading to crash.
2023-11-21 12:35:35 +05:00