Andrej730
f23ac034c7
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
2023-06-30 14:19:07 +05:00
Andrej730
f5031035c7
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))
2023-06-30 13:27:00 +05:00
Andrej730
bba118ed19
ShapeBuilder to use IfcPolyline of IfcIndexedPolyCurve to support ifc2x3
...
needed it to add suport for window/door modifiers in ifc2x3 in the next commit
2023-06-29 18:38:06 +05:00
Dion Moult
704e27ecca
Build testing prototype of an SQLite based file / entity_instance.
2023-06-16 16:16:22 +10:00
Dion Moult
bac683e105
Fix bug for getting psets of materials and profiles in IFC2X3
2023-06-16 13:32:33 +10:00
Dion Moult
64b9d2e5e3
See #3226 . New batched remove_deep2() which uses serialisation for faster removal performance on large graphs.
2023-06-06 17:40:31 +10:00
Andrej730
a3859385c4
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).
2023-06-05 17:21:27 +05:00
Andrej730
c7394faf51
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.
2023-06-05 14:54:41 +05:00
Dion Moult
3ee6bdf207
You can now get decompositions non-recursively in element utilities
2023-06-05 15:11:55 +10:00
Andrej730
5805653431
same generate_pset_templates.py for ifcopenshell and ifc dev repos
...
same script will be easier to maintain
2023-06-03 12:57:48 +05:00
Andrej730
186da73135
Fixed validation errors in pset templates library
...
- missing project and IfcRelDeclares guids
- missing RelatingContext in IfcRelDeclares
2023-06-03 11:00:29 +05:00
Andrej730
528481e774
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).
2023-06-03 10:34:13 +05:00
Sigma Dimensions
f297739836
BBIM 5D: Various Cost Schedule UI Improvemements
2023-06-02 00:30:49 +01:00
Dion Moult
f2c757b1bb
Fix #3113 . Support regex in selector filter values.
2023-05-31 13:23:51 +10:00
Dion Moult
d3251c5ca1
New get_shape_matrix utility.
2023-05-26 19:31:01 +10:00
Andrej730
4768ea23e4
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
2023-05-24 16:45:07 +05:00
Sigma Dimensions
27a4976b9d
remove annoying print statement
2023-05-21 12:45:28 +01:00
Gorgious56
2b99cc1e58
Fix typo in get_pset docstring
2023-05-10 16:41:19 +02:00
Dion Moult
0793a4602d
Minor improvements to shape utility.
2023-05-09 20:51:08 +10:00
arun
4cb6fc05d6
corrected get_extrusions function
2023-05-08 20:18:57 +02:00
Dion Moult
260eb31a69
Add shape utility to easily get profiles and extrusions
2023-05-07 17:32:46 +10:00
Dion Moult
1fb6dac6fb
Fix failing tests in preparation for release.
2023-05-06 11:05:13 +10:00
Sigma Dimensions
0a7ef80ca7
BBIM4D: Enable filtering by active work schedule when retrieve tasks related to objects
2023-05-05 18:26:32 +01:00
Sigma Dimensions
ba04df4ce3
BBIM 4D: implement human readable duration to read/edit durations.
...
new IOS Fuzzy Duration Parsing utility
2023-05-03 16:09:27 +01:00
Dion Moult
4f6c95b119
See #1676 . Space boundary generation now accounts for voids and fills.
2023-05-04 00:31:24 +10:00
Sigma Dimensions
0f874dad51
BBIM 4D features & fixes:
...
- feature to re-order tasks
- fixes for task sorting
- further workSchedule UI/UX improvements
- forgotten bits and bobs
2023-04-30 15:44:13 +01:00
Andrej730
11601d6532
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.
2023-04-28 11:43:15 +05:00
Dion Moult
bac0dd37fa
Fix #3052 . Deep deletion of large geometries is now thousands of times faster.
2023-04-27 20:15:17 +10:00
Andrej730
ee2f18349f
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
2023-04-26 18:04:39 +05:00
Dion Moult
3d441b4ad3
Fix #3038 . Fix #3039 . Selector should default to none instead for throwing errors if the query doesn't have a result.
2023-04-20 17:41:52 +10:00
arun
1a7843a6b5
Nesting added to util.get_decomposition function
2023-04-19 15:46:51 +10:00
Thomas Krijnen
8f8862d23d
get_mappeditem_transformation()
2023-04-18 13:17:20 +02:00
Thomas Krijnen
836f36fd8e
Add util.placement.get_cartesiantransformationoperator3d()
2023-04-18 13:15:13 +02:00
Thomas Krijnen
a1326cb5ed
Normalize vectors in a2p()
2023-04-18 13:13:29 +02:00
Andrej730
2e973a4591
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.
2023-04-14 19:07:38 +05:00
Sigma Dimensions
de3dfcdc43
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
2023-04-07 04:33:56 +02:00
Dion Moult
6c5acfc8bb
Fix #2945 . Selector should expand enumerated list properties so that you can match any of them.
2023-04-06 19:21:22 +10:00
Andrej730
f6623db0e6
Sliding doors - moved annotation arrow to Annotation/PLAN_VIEW #2919
2023-04-04 18:38:44 +05:00
Dion Moult
a1acdc0977
See #2881 . Allow indices in the selector instead of relying on external evaluations.
2023-04-04 09:58:23 +10:00
Andrej730
fc45f5b48f
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(())
```
2023-04-03 19:53:43 +05:00
Andrej730
c7105a22e6
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
```
2023-04-03 19:53:43 +05:00
Andrej730
afeeaeb984
Fixed some validation errors for doors and windows #2925
...
Fixed the ones caused by using 3d curves as inner/outer curves in profiles.
2023-04-03 19:53:42 +05:00
Chun
5732921fb6
a simplifier workflow and a more consistent coding style
2023-04-03 19:50:53 +10:00
Chun
b86c11e1dc
Unify variable
2023-04-03 19:50:53 +10:00
Chun
1bae4b219a
Update functions of get_connected_to and get_connected_from compatible with IFC4 and IFC2X3
2023-04-03 19:50:53 +10:00
Chun
70ff73f805
Add IFC4 support for functions get_connected_to and get_connected_from in util.system
2023-04-03 19:50:53 +10:00
Chun
a9636c5038
Add IFC4 support to get_connected_to and get_connected_from functions
2023-04-03 19:50:53 +10:00
Andrej730
eb14db4deb
Fixed typo in ifcopenshell.util.type
2023-03-30 16:42:25 +05:00
Sigma Dimensions
5b8b68457f
ios utility to transform a human readable date or duration from string into objects
2023-03-29 00:47:05 +00:00
Sigma Dimensions
1170448cd0
New ifcopenshell cost utilities
2023-03-28 23:11:07 +00:00