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
Andrej730
6750dd927c
minor fixes
...
- error in settings poll message for bim.assign_selected_as_product
- test that drawing.assign_product won't create new assignments for the same product
2023-11-17 12:30:34 +05:00
Andrej730
c26988b292
root.remove_product to remove IfcRelFlowControlElements
2023-11-10 12:10:22 +05:00
Andrej730
9a80dc14e9
api for assigning/unassigning flow controls #3981
2023-11-09 17:34:26 +05:00
Andrej730
6bda066e1b
Fixed typo in control.assign_control, added tests
2023-11-09 15:33:31 +05:00
Dion Moult
0de0422c2e
Minor fix
2023-11-03 22:45:42 +11:00
Dion Moult
20b7ee009d
Fix #3957 . Fix bug where shared properties were not edited independently.
2023-11-01 15:18:57 +11:00
Andrej730
9e9412bec0
Forgot to fix test after 35d66f5
2023-10-19 18:10:31 +05:00
Andrej730
3f018a4195
localize mathutils dependency in tests #3895
...
replaced shapebuilder with general ifcopenshell code in `test_add_boolean` (the only place besides `test_shape_builder` where it was used), that way mathutils dependency in tests is localized only to `test_shape_builder.py`.
added test-safe option to makefile, so github workflow would ignore `test_shape_builder` tests for now and it wouldn't interrupt the entire workflow
2023-10-17 15:53:26 +05:00
Andrej730
24eb149221
Support other voiding IfcFeatureElementSubtraction elements #3889
...
Support other voiding IfcFeatureElementSubtraction besides IfcOpeningElement.
2023-10-16 15:31:53 +05:00
Andrej730
68a1da9190
test for model.get_manual_booleans() #3709
...
added test that model.get_manual_booleans will ignore IfcBooleanClippings until we find some other solution to distinguish automatic and manual clippings. And some refactor along the way.
2023-10-05 18:38:46 +05:00
Andrej730
19345ff538
Remove orphaned IfcPropertyEnumeration
...
Noticed a couple hundreds of orphaned IfcPropertyEnumeration in my .ifc like below 😁
IFCPROPERTYENUMERATION('Status',(IFCLABEL('NEW'),IFCLABEL('EXISTING'),IFCLABEL('DEMOLISH'),IFCLABEL('TEMPORARY'),IFCLABEL('OTHER'),IFCLABEL('NOTKNOWN'),IFCLABEL('UNSET')),$);
2023-09-18 12:08:16 +05:00
Dion Moult
b708100c03
See #3581 . Fix failing IOS tests.
2023-08-24 22:12:44 +10:00
Andrej730
5481237480
geometry.edit_object_placement was producing orphaned placements
...
It was producing orphaned IfcLocalPlacement if placement was parent to some other one. During edit_object_placement we were replacing all parent references with the new placement but wasn't removing the old one.
2023-08-17 13:18:27 +05:00
Andrej730
fafcd5dfca
root.copy_class to remove connections from previously connected ports
2023-08-15 10:35:36 +05:00
Andrej730
793b28e43b
Remove empty IfcDocumentInformationRelationship #3581
2023-08-14 11:09:26 +05:00
Andrej730
f8ffc97bf5
remove_product to also remove psets for types
2023-08-09 16:37:47 +05:00
Andrej730
2446479d82
remove_product to remove object placement too
...
previously it wasn't deleting object placement when you removed the objects (and related elements like IfcDirections etc) and working on project long enough you might had a bunch of orphaned data in it
2023-08-03 15:54:47 +05:00
Andrej730
cbf8b7f3a2
root.remove_product to remove IfcRelConnectsPorts too
...
previously if you deleted some flow segment that was connected to another the connection would stay resulting in invalid ifc and other bugs
2023-08-01 17:45:17 +05:00
Andrej730
572a8c812e
root.remove_product fix
2023-07-14 18:22:31 +05:00
Andrej730
af4b5e1fe6
oops, forgot to clean up the test name
2023-07-14 18:02:51 +05:00
Andrej730
846dbc341d
root.copy_class to support copying ports in ifc2x3
2023-07-14 15:48:41 +05:00
Andrej730
6810bbff2f
remove_product to remove IfcRelConnectsElements
2023-07-14 14:46:58 +05:00
Thomas Krijnen
1278f98df6
Add test
2023-06-16 14:08:48 +02:00
Dion Moult
60a9d96ac8
See #1676 . You can now duplicate space boundaries.
2023-05-03 20:38:09 +10:00
Dion Moult
04e5f5036c
See #1676 . Deleting space boundaries now also removes connection geometry.
2023-05-02 22:20:34 +10:00
Dion Moult
7df80af30b
Fix #2913 . Bug where properties with multiple inverses were not correctly purged.
2023-04-18 18:08:24 +10:00
Dion Moult
f63091ce05
Fix #2974 . Type property sets are now properly copied.
2023-04-13 14:08:02 +10:00
Dion Moult
92221e19c3
Fix bug where unassigning a document was too aggressive and deleted relationships where it shouldn't.
2023-04-10 22:30:33 +10:00
Dion Moult
f291345111
Fix #2924 . IfcElements default to a null predefined type so they can inherit where possible.
2023-04-03 13:54:25 +10:00
Dion Moult
fab76bbcde
Fixed bug where enumeration values in psets could be empty lists.
2023-03-27 23:08:47 +11:00
Dion Moult
e9a3630595
Fix #2898 . You can now copy materials from the materials tab.
2023-03-26 19:04:32 +11:00
Dion Moult
346071185f
Fix bug where appending a product from a library which had relationships to types caused a bunch of types to be pulled in unintentionally
2023-03-24 20:53:55 +11:00
Dion Moult
00fc71dcbe
Fix #2837 . Shared subelements mistakenly caused the subelement append loop to break early. The solution is to traverse one level at a time.
2023-03-24 17:36:46 +11:00
Dion Moult
b6aa5c57c0
Fix bug where copying types with parametric materials could lead to invalidly reused material set items.
2023-03-20 20:40:11 +11:00
Carlos Villagrasa
d89a8520a9
Added a test for pset custom IfcUnits
2023-03-19 22:23:36 +01:00
Dion Moult
cfd857233c
Fix #2864 . Fix bug where element containment was invalidly prioritised over voids and fills in relative placement.
2023-03-19 18:46:34 +11:00
Dion Moult
3da718a6d1
Fix bug where removing objects could leave orphaned annotation relationships
2023-03-19 15:17:26 +11:00