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
krande
9335c8a0c8
add test and update ci
2023-12-17 18:09:28 +01: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
Igor.Sokolov
b3a6b8e07f
bf: IfcBSplineCurve is an isntance of abstract entity
2023-11-04 15:41:38 +01:00
Igor.Sokolov
52700452d9
bf: pass-valid-selected-enumeration.ifc
2023-11-04 15:41:38 +01:00
Igor.Sokolov
aab011f7bf
bf: pass-group-1-rels-IFC2X3.ifc failed
2023-11-04 15:41:38 +01:00
Igor.Sokolov
5f129e2357
bf: pass-attr-count-ok.ifc failed
2023-11-04 15:41:38 +01: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
Thomas Krijnen
db06cff997
Update test file for case insensitivity. Thanks Igor.
2023-10-29 14:35:14 +01: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
Dion Moult
58be92d3fc
New verbose option in util get_pset(s) which lets you get ID and class for complex processing.
2023-10-15 08:57:37 +11:00
Dion Moult
05f6f4efab
Manual booleans are now tracked via a Pset instead of arbitrary class conventions which should fix a bunch of issues.
2023-10-10 17:33:00 +11: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
Dion Moult
62bf8c2287
Fix crash where IFCTester read directly from IFC in the UI
2023-09-19 18:17:24 +10: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
de27554043
New substr formatting function.
2023-09-07 13:02:45 +10:00
Dion Moult
306ee3dfa4
You can now choose both input and output units for imperial formatting
2023-09-07 12:18:43 +10:00
Dion Moult
ba4610155f
Fix #3705 . Fix ambiguity in using commas in unquoted strings in facet selector.
2023-09-06 16:34:39 +10:00
Dion Moult
7baed872c6
Minor fixes, and IfcCSV now uses pandas to import ODS/XLSX for more robust importing.
2023-08-26 18:24:48 +10:00
Dion Moult
e9c24a2656
Fix #3587 . IfcCSV now supports custom formatting functions.
2023-08-26 15:15:34 +10:00
Dion Moult
66decc604e
Fix failing tests and optimise brick tests.
2023-08-25 16:52:00 +10:00
Dion Moult
b708100c03
See #3581 . Fix failing IOS tests.
2023-08-24 22:12:44 +10:00
Andrej730
1a142ad5eb
fixed bug in mep transitions
...
it wasn't taking into account that offset can be too big to sustain the angle
2023-08-23 18:42:06 +05:00
Andrej730
2bc22e150c
added tests for shape builder transition length calculator
2023-08-23 18:42:06 +05: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
Dion Moult
f523870b57
Fix #3584 . Support matching enumerated properties in new facet selector.
2023-08-15 09:59:50 +10:00
Andrej730
793b28e43b
Remove empty IfcDocumentInformationRelationship #3581
2023-08-14 11:09:26 +05:00
Dion Moult
ed4abacd1e
Fix #3578 . Support querying surface styles in tools like IfcCSV.
2023-08-14 11:55:15 +10:00
Andrej730
f8ffc97bf5
remove_product to also remove psets for types
2023-08-09 16:37:47 +05:00
Dion Moult
945836f578
Initial implementation of scale dependent map conversion for IFC4X3
2023-08-04 14:42:43 +10: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
a14ef1ebc2
Fixed TestGetApplicableTypes after 0e69f484f
2023-08-01 18:24:11 +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
2cc9ea0539
tests for system.get_connected_to / get_connected_from
2023-08-01 13:40:06 +05:00
Dion Moult
1b71f4f569
Implement guid facet in facet selector
2023-07-20 19:42:34 +10:00
Dion Moult
452089596e
New facet based selector syntax. Proposed to supersede existing selector syntax.
2023-07-20 19:22:15 +10: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