Commit Graph

1219 Commits

Author SHA1 Message Date
Andrej730 e3b77613d3 Corrected L shapes in window lining after e89a9cd #3271
From this - https://i.imgur.com/hQuCcR3.png
To this - https://i.imgur.com/qZ2Lyfo.png

It's a bit hacky since we still use really small offsets to keep "The outer curve shall enclose all inner curves." rule for IfcArbitraryProfileDefWithVoids valid.
2024-04-15 13:25:51 +02:00
Dion Moult bde5b52495 You can now exclude classes from streaming in ifcopenshell.stream 2024-04-15 13:25:50 +02:00
Andrej730 2fbb3c8ac6 adjust window offset on transoms/mullions for symmetry #3271
Before -  https://i.imgur.com/DbEzJ9H.png
After - https://i.imgur.com/0CERh86.png

Added it for modifier preview and ifc 2d and 3d repr but still need to work some things in 3d representation (L shape lining is not always detected correctly).
2024-04-15 13:25:50 +02:00
Dion Moult 17582f00cf Naive implementation of file stream and Lark based IFC-SPF reader to handle huge IFCs. 2024-04-15 13:25:50 +02:00
Dion Moult fee6ea52ba ifcopenshell.sqlite wrapper now handles JSON fields by default, which is significantly more performant
f attributes holding entity lists are expanded in SQL, this means that you end up with significantly more rows. Also, you cannot have the ifc_id marked as a UNIQUE field / benefit from unique primary key index. So leaving the fields as JSON is actually significantly more efficient (almost 10X faster to load a model into BBIM).
2024-04-15 13:25:50 +02:00
Thomas Krijnen 88823943f0 Further defer sql.py imports for ifcopenbot to succeed 2024-04-15 12:04:44 +02:00
Thomas Krijnen 4f387e723b Comment out import mysql.connector 2024-04-15 12:04:44 +02:00
Thomas Krijnen 5a601f16fd Correct if-clause 2024-04-15 12:04:44 +02:00
Totally a booplicate aced364a08 smol fix 2024-04-15 12:04:44 +02:00
Totally a booplicate 0b2cfc7560 fix missing else clause 2024-04-15 12:04:44 +02:00
Totally a booplicate dc5a0d4568 raise TypeError on invalid pset 2024-04-15 12:04:44 +02:00
Totally a booplicate 79983e5097 rework unpack_unit_value
handle the `None` case, simplify logic
2024-04-15 12:04:44 +02:00
Totally a booplicate e31047e8c6 improve naming of the new method 2024-04-15 12:04:44 +02:00
Totally a booplicate 182aa3ed01 improve update_existing_properties
explicit class check
error out on a not supported type
better methods names
2024-04-15 12:04:44 +02:00
Totally a booplicate 0632c9bf1b implement _try_purge
per review comment about repeating code
2024-04-15 12:04:44 +02:00
Totally a booplicate cd5baefb55 restructure if/elif/else chain 2024-04-15 12:04:44 +02:00
Totally a booplicate 53dd817d97 support tuples 2024-04-15 12:04:43 +02:00
Totally a booplicate 0ce987f788 move prop check 2024-04-15 12:04:43 +02:00
Totally a booplicate f4c618701c per review
change exception message
remove TODO
pass `Unit`
raise `NotImplementedError` when no template was found
2024-04-15 12:04:43 +02:00
Totally a booplicate c186e7120c resolve TODO
This is being fixed, we should always have a class to use
2024-04-15 12:04:43 +02:00
Totally a booplicate 1f89fea569 attempt to improve pset support
1. Adds support to directly passed in property entities
2. Adds support for tuples
3. Adds support for P_LISTVALUE
2024-04-15 12:04:43 +02:00
Dion Moult e7bb823f15 Run black on existing entity_instance 2024-04-15 12:04:43 +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 362409cdcb fix removing cost item value 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
Sigma Dimensions 65f1bff957 Ctrl+P and Alt+P BIMTool Hotekys to assign/unassign aggregation 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 b171dc6146 Small documentation note 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
Sigma Dimensions 53aa7a8abb ios api task fix: remove orphan IfcRelNests when deleting tasks 2024-04-15 09:58:25 +02:00
Sigma Dimensions 24af5b8904 BBIM D: Copy cost items, export Cost Schedules individually, start improving Cost Schedule UI 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 09a300b57b fix copying relationships when duplicating tasks 2024-04-15 09:56:37 +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