Thomas Krijnen
5f334192db
Normalize vectors in a2p()
2024-04-15 09:37:50 +02:00
Dion Moult
eea93265f7
Fix #2913 . Bug where properties with multiple inverses were not correctly purged.
2024-04-15 09:37:49 +02:00
Andrej730
d2124e1c8b
Fixed bugs with furniture library toilets and basins #2976
...
Bug was introduced in cf6acd5 when `shape_builder.get_rectangle_coords` started returning coords in counter-clockwise order instead of clockwise.
2024-04-15 09:37:49 +02:00
Thomas Krijnen
f2c25f430a
Fixes to validation of selected simple type / enum
2024-04-15 09:37:49 +02:00
Dion Moult
e3979cadc7
Fix #2974 . Type property sets are now properly copied.
2024-04-15 09:37:48 +02:00
Thomas Krijnen
7a82dbeaf4
Some small fixes for rule compliance in template.py
2024-04-15 09:34:22 +02:00
Thomas Krijnen
fdf0596e42
Property transfer ownership of schema from py to c++ upon register_schema()
2024-04-15 09:25:51 +02:00
Thomas Krijnen
b7ded0eb79
Attempt load schema from cwd (IS THIS DANGEROUS?)
2024-04-15 09:25:50 +02:00
Thomas Krijnen
7981eb473b
Don't fail on unmapped attribute types (IFC4.4)
2024-04-15 09:25:50 +02:00
Dion Moult
fd989733c7
Fix bug where unassigning a document was too aggressive and deleted relationships where it shouldn't.
2024-04-15 09:25:50 +02:00
Thomas Krijnen
788f1154da
#2685 Fix AttributeError
2024-04-15 09:25:50 +02:00
Sigma Dimensions
827b0fe6ac
BBIM 4D Features to:
...
- Display nested task resources/task inputs of the active task
- Show list of tasks related to the current object selection
- Highlight, in the WorkSchedule panel, tasks related to the current object selection
2024-04-15 09:25:50 +02:00
Dion Moult
9707a2b2f6
Fix #2945 . Selector should expand enumerated list properties so that you can match any of them.
2024-04-15 09:25:50 +02:00
Andrej730
6043d35821
Sliding doors - more consistent 2d repr between door types #2919
2024-04-15 09:25:49 +02:00
Andrej730
5d4ecb7177
Sliding doors - moved annotation arrow to Annotation/PLAN_VIEW #2919
2024-04-15 09:25:49 +02:00
Dion Moult
dff33632ae
See #2881 . Allow indices in the selector instead of relying on external evaluations.
2024-04-15 09:25:49 +02:00
Andrej730
be75ef2596
Fixed ifc validation errors for furniture library #2925
...
Fixed bunch of validation errors with furniture library:
- IfcSpaceType PredefinedType wasn't optional
`<attribute PredefinedType: <enumeration IfcSpaceTypeEnum: (EXTERNAL, GFA, INTERNAL, NOTDEFINED, PARKING, SPACE, USERDEFINED)>> Not optional`
- some object had 0.0 depth extrusion
```
Rule IfcPositiveLengthMeasure_WR1:
(self > 0.)
Violated by:
(0.0 > 0.0)
```
- some orphan representations violating:
```
Rule IfcShapeModel_WR11:
((sizeof(self.OfProductRepresentation) == 1) ^ (sizeof(self.RepresentationMap) == 1) ^ (sizeof(ofshapeaspect) == 1))
Violated by:
((0 == 1 ^ 0 == 1) ^ 0 == 1)
+ where 0 = sizeof(())
+ where () = #9091=IfcShapeRepresentation(#15,'Body','SweptSolid',(#9090 )).OfProductRepresentation
+ and 0 = sizeof(())
+ where () = #9091=IfcShapeRepresentation(#15,'Body','SweptSolid',(#9090 )).RepresentationMap
+ and 0 = sizeof(())
```
2024-04-15 09:25:48 +02:00
Andrej730
ec882a1a7d
Fixed validation error for ELEVATION_VIEW curves #2925
...
Error occured because ShapeBuilder was assigning "Curve2D" representation type for elevation view curves when the correct type is "Curve3D".
It use to occur for both doors and windows created with ifc modifier.
```
Validation error text:
2023-04-03:18:21:28,879 ERROR [rule_executor.py:154] On instance:
#135=IfcShapeRepresentation(#21,'Profile','Curve2D',(#134 ))
Rule IfcShapeRepresentation_CorrectItemsForType:
(IfcShapeRepresentationTypes(self.RepresentationType,self.Items))
Violated by:
False
+ where False = IfcShapeRepresentationTypes('Curve2D', (#134=IfcIndexedPolyCurve(#133,(IfcLineIndex((1,2)),IfcLineIndex((2,3)),IfcLineIndex((3,4)),IfcLineIndex((4,1))),$),))
+ where 'Curve2D' = #135=IfcShapeRepresentation(#21,'Profile','Curve2D',(#134 )).RepresentationType
+ and (#134=IfcIndexedPolyCurve(#133,(IfcLineIndex((1,2)),IfcLineIndex((2,3)),IfcLineIndex((3,4)),IfcLineIndex((4,1))),$),) = #135=IfcShapeRepresentation(#21,'Profile','Curve2D',(#134 )).Items
```
2024-04-15 09:25:48 +02:00
Andrej730
3095521e36
Fixed some validation errors for doors and windows #2925
...
Fixed the ones caused by using 3d curves as inner/outer curves in profiles.
2024-04-15 09:25:48 +02:00
Chun
4bdf5475a9
a simplifier workflow and a more consistent coding style
2024-04-15 09:25:48 +02:00
Chun
ab17b85854
Unify variable
2024-04-15 09:25:48 +02:00
Chun
f859f11add
Update functions of get_connected_to and get_connected_from compatible with IFC4 and IFC2X3
2024-04-15 09:25:48 +02:00
Chun
765b4a73d3
Add IFC4 support for functions get_connected_to and get_connected_from in util.system
2024-04-15 09:25:48 +02:00
Chun
9d70b9303b
Add IFC4 support to get_connected_to and get_connected_from functions
2024-04-15 09:25:48 +02:00
Dion Moult
4bd9515bf5
Fix #2924 . IfcElements default to a null predefined type so they can inherit where possible.
2024-04-15 09:25:48 +02:00
Andrej730
e5427583ad
Fixed typo in ifcopenshell.util.type
2024-04-15 09:25:47 +02:00
Andrej730
3429972067
Added arrow to 2d repr of sliding doors ( #2919 )
...
Example - https://i.imgur.com/eJnhDXU.png
2024-04-15 09:25:47 +02:00
Andrej730
7f1bb71c66
IFC Door Modifier - sliding doors
...
Added support for sliding doors in IFC Door Modifier.
The main differences are 2d representation (https://i.imgur.com/VyEH569.png ) and the door panel being placed before the lining, not after
2024-04-15 09:25:22 +02:00
Dion Moult
acf6628f23
Fix #4547 . Handle both null inherited predefined types and disable editing predefined types on occurrences which inherit from a type.
2024-04-15 11:53:37 +10:00
Dion Moult
8a62558575
Fix #4484 . Clarify inheritance rules of predefined types.
2024-04-15 09:27:58 +10:00
Dion Moult
ee1183481f
Fix #4525 . Fix #4546 . Specify dependencies for ifcopenshell and ifcpatch.
...
No longer optional for a better first experience. They aren't huge deps.
2024-04-14 08:52:19 +10:00
Dion Moult
6ddf7dae01
See #4546 . Fix docs link to filtering elements query syntax.
2024-04-14 08:34:49 +10:00
Dion Moult
8232c9fa24
See #4541 . Clarify how to use include args for IfcConvert
2024-04-14 08:33:23 +10:00
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
32d2f1d629
material.assign_material - update owner history
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
59b496d4b5
typing
2024-04-12 17:41:36 +05:00
Dion Moult
a3c99b8362
See #4541 . Add documentation examples on how to use include filters in IfcConvert.
2024-04-12 10:09:52 +10: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
3d243b5eee
system.add_system - fix failing default agrument in ifc2x3
2024-04-11 17:50:31 +05:00
Andrej730
fa0dbac914
new util method ifcopenshell.util.element.get_groups
2024-04-11 17:50:30 +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
e12c05eea0
typing
2024-04-11 17:09:41 +05:00
Andrej730
39433fb5a5
remove unused lines from tests
2024-04-11 17:09:41 +05:00
Vukas Pajic
58b39d3926
fix: address test fails
2024-04-11 13:03:13 +02:00
Vukas Pajic
946c868388
fix: cascade_schedule correctly handles timelag with IfcRatioMeasure
2024-04-11 11:35:34 +02:00
Andrej730
df4943205a
type.assign_type - support batching #4474
2024-04-10 18:58:44 +05:00