Dion Moult
f1e3fb38ad
See #3334 . Fix some get_pset implementation errors in 64516a1
2024-04-15 13:30:40 +02:00
Dion Moult
ce8a9293bb
See #3334 . Optimise pset getting and add simple "broadphase" filtering for all facets for faster validation.
2024-04-15 13:30:40 +02:00
Dion Moult
9af7ddaf56
See #3334 . Fix bug where get_pset didn't handle property inheritance correctly.
2024-04-15 13:30:40 +02:00
Andrej730
0d74ffd52f
Shape builder - detect AdvancedSweptSolid
...
To avoid validation errors on creating wall mounted railings
#143=IfcShapeRepresentation(#15,'Body','SweptSolid',(#116,#126,#129,#139,#142))
Rule IfcShapeRepresentation.CorrectItemsForType:
IfcShapeRepresentationTypes(self.RepresentationType, self.Items)
Violated by:
False
+ where False = IfcShapeRepresentationTypes('SweptSolid', (#116=IfcSweptDiskSolid(#115,10.,$,$,$), #126=IfcExtrudedAreaSolid(#120,#124,#125,20.), #129=IfcSweptDiskSolid(#128,10.,$,$,$), #139=IfcExtrudedAreaSolid(#133,#137,#138,20.), #142=IfcSweptDiskSolid(#141,25.000000372529,$,$,$)))
+ where 'SweptSolid' = #143=IfcShapeRepresentation(#15,'Body','SweptSolid',(#116,#126,#129,#139,#142)).RepresentationType
+ and (#116=IfcSweptDiskSolid(#115,10.,$,$,$), #126=IfcExtrudedAreaSolid(#120,#124,#125,20.), #129=IfcSweptDiskSolid(#128,10.,$,$,$), #139=IfcExtrudedAreaSolid(#133,#137,#138,20.), #142=IfcSweptDiskSolid(#141,25.000000372529,$,$,$)) = #143=IfcShapeRepresentation(#15,'Body','SweptSolid',(#116,#126,#129,#139,#142)).Items
2024-04-15 13:29:28 +02:00
Andrej730
5c1a96c24c
Shape builder - avoid duplicated indices in polylines
...
For example
IfcLineIndex((1,2,3,4,1))
instead of
IfcLineIndex((1,2,2,3,3,4,4,1))
2024-04-15 13:29:28 +02:00
Andrej730
ced6326bfd
ShapeBuilder to use IfcPolyline of IfcIndexedPolyCurve to support ifc2x3
...
needed it to add suport for window/door modifiers in ifc2x3 in the next commit
2024-04-15 13:29:20 +02:00
Dion Moult
aafb905199
Build testing prototype of an SQLite based file / entity_instance.
2024-04-15 12:04:43 +02:00
Dion Moult
534247daa1
Fix bug for getting psets of materials and profiles in IFC2X3
2024-04-15 12:04:43 +02:00
Dion Moult
13b80af97e
See #3226 . New batched remove_deep2() which uses serialisation for faster removal performance on large graphs.
2024-04-15 10:59:03 +02:00
Andrej730
ad4f00648f
Blender curves to IfcIndexedPolyCurve #3233
...
Now blender curves segments saved in IfcIndexedPolyCurves instead of creating individual polygons.
Also changed ShapeBuilder.polyline - now it will try to store points in IfcLineIndex where it's possible (previously it was storing just 2).
2024-04-15 10:59:03 +02:00
Andrej730
2db82371bd
Display units for more pset/qset props #3235
...
Now current project units displayed for area and volume properties too.
https://i.imgur.com/7dgl1pC.png
Also added support for imperial units symbols.
2024-04-15 10:59:03 +02:00
Dion Moult
bc76c8497e
You can now get decompositions non-recursively in element utilities
2024-04-15 10:59:03 +02:00
Andrej730
58ea6d7de9
same generate_pset_templates.py for ifcopenshell and ifc dev repos
...
same script will be easier to maintain
2024-04-15 10:59:02 +02:00
Andrej730
98cc0336ec
Fixed validation errors in pset templates library
...
- missing project and IfcRelDeclares guids
- missing RelatingContext in IfcRelDeclares
2024-04-15 10:59:02 +02:00
Andrej730
ce8379b8f7
Fixed missing PrimaryMeasureType for P_LISTVALUE in pset templates #3236
...
For some reason there is also was missing PrimaryUnit in IFC2X3. But it's unrelated to the changes from this commit (generating pset templates before this commit already has PrimaryUnit there).
2024-04-15 10:59:02 +02:00
Sigma Dimensions
6e3acd8c4a
BBIM 5D: Various Cost Schedule UI Improvemements
2024-04-15 10:59:02 +02:00
Dion Moult
30bff7e9c5
Fix #3113 . Support regex in selector filter values.
2024-04-15 09:58:26 +02:00
Dion Moult
8bd77b3663
New get_shape_matrix utility.
2024-04-15 09:58:26 +02:00
Andrej730
50e393675a
More descriptive exception for reassign_class #3192
...
Added it because there was no error handling here anyway and later there was another UnboundLocalError:
for attribute in declaration.all_attributes():
UnboundLocalError: local variable 'declaration' referenced before assignment
2024-04-15 09:58:25 +02:00
Sigma Dimensions
f81b8eae87
remove annoying print statement
2024-04-15 09:58:25 +02:00
Gorgious56
078e50423f
Fix typo in get_pset docstring
2024-04-15 09:56:51 +02:00
Dion Moult
dff827db59
Minor improvements to shape utility.
2024-04-15 09:56:51 +02:00
arun
3ea7e28b12
corrected get_extrusions function
2024-04-15 09:56:51 +02:00
Dion Moult
3b66822fe2
Add shape utility to easily get profiles and extrusions
2024-04-15 09:56:38 +02:00
Dion Moult
b8431a8c33
Fix failing tests in preparation for release.
2024-04-15 09:56:38 +02:00
Sigma Dimensions
0b9e7af325
BBIM4D: Enable filtering by active work schedule when retrieve tasks related to objects
2024-04-15 09:56:38 +02:00
Sigma Dimensions
7188d6ea74
BBIM 4D: implement human readable duration to read/edit durations.
...
new IOS Fuzzy Duration Parsing utility
2024-04-15 09:56:37 +02:00
Dion Moult
f6ccfb52b3
See #1676 . Space boundary generation now accounts for voids and fills.
2024-04-15 09:56:37 +02:00
Sigma Dimensions
55250aba6d
BBIM 4D features & fixes:
...
- feature to re-order tasks
- fixes for task sorting
- further workSchedule UI/UX improvements
- forgotten bits and bobs
2024-04-15 09:52:38 +02:00
Andrej730
b5d24334fd
Fixed bug with wrong position of support in wall mounted railing
...
The problem was that that support's disk was not rotated according to the railing path.
2024-04-15 09:52:38 +02:00
Dion Moult
0400b72f3e
Fix #3052 . Deep deletion of large geometries is now thousands of times faster.
2024-04-15 09:52:37 +02:00
Andrej730
1dcf74eb60
WALL_MOUNTED_HANDRAIL type for Railing modifier
...
Added WALL_MOUNTED_HANDRAIL type for railing modifier. It's still a bit work in progress - still need to add support for different railing termination types.
Here's the short demonstration - https://user-images.githubusercontent.com/9417531/234582621-6c6f948b-9cdc-4be6-b380-17ddbf5803bf.mp4
2024-04-15 09:52:37 +02:00
Dion Moult
4722208fa4
Fix #3038 . Fix #3039 . Selector should default to none instead for throwing errors if the query doesn't have a result.
2024-04-15 09:49:52 +02:00
arun
8517f808a8
Nesting added to util.get_decomposition function
2024-04-15 09:37:50 +02:00
Thomas Krijnen
77445f9b22
get_mappeditem_transformation()
2024-04-15 09:37:50 +02:00
Thomas Krijnen
0325c49c3d
Add util.placement.get_cartesiantransformationoperator3d()
2024-04-15 09:37:50 +02:00
Thomas Krijnen
5f334192db
Normalize vectors in a2p()
2024-04-15 09:37:50 +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
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
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