Dion Moult
2ea3fe4ab9
Fix qto bug where cubic meter units are incorrectly converted.
2024-06-03 22:49:40 +10:00
Andrej730
5fb7e6e375
resource.remove_resource - fix issue removing resources in ifc2x3
2024-06-03 17:44:05 +05:00
Andrej730
c399eb259a
resource.add_resource_quantity to ensure quantity type is supported
2024-06-03 17:44:05 +05:00
Andrej730
5ccdf187d5
change type of exception when setting non-optional property to TypeError
...
TypeError is more correct since error occurs when user is trying to set some attribute value with None while atttribute doesn't support None type. ValueError is typically raised when provided value has a correct type but unsupported value.
2024-06-03 17:44:05 +05:00
Andrej730
499cdbb9b8
bump old api argument deprecation date
2024-06-03 17:44:05 +05:00
Andrej730
4a5d1eba0b
specify exported api methods in __all__
...
It's py.types requirement, similar to 6e2edbf
Example issue without __all__:
import ifcopenshell
import ifcopenshell.api.project
# "create_file" is not exported from module "ifcopenshell.api.project"
ifcopenshell.api.project.create_file()
2024-06-03 17:44:05 +05:00
Andrej730
70091aa28b
typing
2024-06-03 17:44:04 +05:00
Dion Moult
c5d1801e1e
Fix #4786 . Speed up parent filter.
2024-06-02 17:39:23 +10:00
Ryan Schultz
e2dc5f4a48
small tweak
2024-06-01 08:19:41 -05:00
Dion Moult
70064359c3
Whoops x2
2024-06-01 20:52:05 +10:00
Dion Moult
d8b74cf125
Whoops
2024-06-01 20:30:32 +10:00
Dion Moult
00c13c5ea4
Fix #4756 . You can now use parent as a key in a selector key.
2024-06-01 17:30:21 +10:00
Dion Moult
e26dae67aa
Convenience function for calculators to get maximum XY length
...
This is useful for 2D profiles
2024-06-01 15:11:29 +10:00
Dion Moult
6e30cd2ba7
Fix #4638 . You can now filter by parent (in the spatial hierarchy)
2024-06-01 15:10:45 +10:00
Dion Moult
0f9ea1e1e7
New utility functions to get parent in spatial hierarchy, filled void, and voided element
2024-06-01 15:09:05 +10:00
Dion Moult
128ffc8fd7
Fix bug where selector didn't handle "not equals" correctly for locations or groups
2024-06-01 14:53:55 +10:00
Andrej730
666f8e2459
Bump BBIM ifcopenshell build #4580
2024-05-31 18:28:52 +05:00
Andrej730
162e66b775
typing
2024-05-31 18:20:46 +05:00
Andrej730
c05abc4d5b
ifc4x3 support for adding IfcQuantityCount #4776
...
In IFC4X3 IfcQuantityCount is now more strict and requires only interger values.
Error for a reference:
TypeError: attribute 'CountValue' for entity 'IFC4X3.IfcQuantityCount' is expecting value of type 'INT', got 'float'.
2024-05-31 18:20:46 +05:00
Andrej730
dacb3b101c
small docs fix
2024-05-31 18:20:46 +05:00
Andrej730
45a1655485
typing
2024-05-29 18:00:44 +05:00
Andrej730
ce26d931c1
regenerate ifc4x3 pset templates after the release
...
Change log
Different props in pset 'Pset_BuildingCommon':
- new props: ElevationOfTerrain, ElevationOfRefHeight
New template 'Pset_DoorLiningProperties' with props: LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, LiningToPanelOffsetX, LiningToPanelOffsetY
New template 'Pset_DoorPanelProperties' with props: PanelDepth, PanelOperation, PanelWidth, PanelPosition
New template 'Pset_PermeableCoveringProperties' with props: OperationType, PanelPosition, FrameDepth, FrameThickness
Different props in pset 'Pset_Stationing':
- new props: HasIncreasingStation
New template 'Pset_WindowLiningProperties' with props: LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY
New template 'Pset_WindowPanelProperties' with props: OperationType, PanelPosition, FrameDepth, FrameThickness
2024-05-28 18:01:33 +05:00
Andrej730
eeaa0a5530
Fill IfcPropertySetTemplate.TemplateType in ifc2x3 pset templates
2024-05-28 18:00:22 +05:00
Dion Moult
80c4c13998
Basic prototype of new Ifc5D QTO tool in Blender.
2024-05-28 17:33:58 +10:00
Dion Moult
54951d2102
Add convenience max/min functions for xyz and side_area shape calculations
2024-05-28 17:30:01 +10:00
Dion Moult
8403c32e76
Adjust selector's behaviour to use the elements argument as a filtering subset
...
This was always the original intention, but never worked as designed. This is so that you don't need to filter the entire file (which can be huge).
2024-05-28 17:30:01 +10:00
ppaawweeuu
316934de97
Update selector_syntax.rst - small formating change ( #4752 )
...
typing
2024-05-28 09:43:51 +10:00
Andrej730
02fd78df14
datetime2ifc to support None values as it was before ebd03e9 #4734
2024-05-27 17:34:28 +05:00
Dion Moult
bdfd0c4aa7
Minor fix to IfcCityJSON and migrate IfcCityJSON docs to sphinx
2024-05-27 12:24:55 +10:00
Dion Moult
37b14f2a3d
Document difference between COBie 2.4 and COBie 2.4 Legacy in IfcFM
2024-05-27 11:59:25 +10:00
Dion Moult
7142f3856c
Add documentation for some unit utilities
2024-05-27 09:42:28 +10:00
Dion Moult
37cacfcd06
Fix #4728 . Bug where changing class doesn't work with IfcCSV if it didn't need to change anything.
2024-05-26 21:57:23 +10:00
ppaawweeuu
3e31309384
Update selector_syntax.rst - links to regex resources ( #4741 )
...
* Update selector_syntax.rst
add links to regex resources
* Update selector_syntax.rst
links misspelling change
* Update selector_syntax.rst
one misspealling more
* Update selector_syntax.rst
small misspelling in thousands separator location
2024-05-26 20:14:41 +10:00
Dion Moult
9a59b8cdae
Material psets now include category-specific psets and docstrings
...
Previously it was not possible to get concrete / steel material psets. Yikes!
2024-05-26 11:23:08 +10:00
Ryan Schultz
58a7ef62d7
fix #4729 : add a description and category when creating a new material
2024-05-25 09:49:15 -05:00
Dion Moult
fd62ba63a5
Do not copy presentation styles when copying a material
...
Ideally, presentation styles are reused. For example, 5 types of concrete can all use the same presentation
2024-05-25 15:14:07 +10:00
Dion Moult
16c5fd56ca
You can now copy a material list
2024-05-25 15:13:36 +10:00
Dion Moult
d85f9af790
The API can now copy material sets too
2024-05-25 14:42:45 +10:00
Andrej730
f576aadee1
typing
2024-05-24 19:15:51 +05:00
Andrej730
fffd7360cb
fix for d4ccadb
...
forgot to add it to global namespace
2024-05-24 19:15:43 +05:00
Andrej730
7f2c7eb467
python 3.9 compatibility
2024-05-23 18:45:31 +05:00
Andrej730
e5a316e509
fix api calls error handling
...
by accident replaced in f2696d5 TypeError with NotImplementedError
2024-05-23 18:45:30 +05:00
Andrej730
073e471305
typing
2024-05-23 18:45:30 +05:00
Dion Moult
c405ff1adf
Fix unassign_representation to not incorrectly use remove_deep without first removing known inverses.
...
In theory, it would be possible for the representation map to be used elsewhere, then file.remove(representation_map) would cause problems.
2024-05-23 23:08:53 +10:00
Dion Moult
02cae9c7c2
Continue to revise optimisation of remove_deep to fix failing tests after a8729933
2024-05-23 22:54:19 +10:00
Dion Moult
a8729933af
Optimise remove_deep, which can make removing lots of elements 100x faster in scripts.
2024-05-23 20:15:09 +10:00
Andrej730
f2eb08a066
typing
2024-05-22 17:43:05 +05:00
Andrej730
f460676e54
fix calculating cost summary #4704 (was confusing 0 qty and no qty)
...
similar to 295d0a677
2024-05-22 17:37:32 +05:00
Andrej730
382e028b90
csv to cost schedule - support more cases of 0 quantity #4704
...
Before - https://i.imgur.com/CYwSGxY.png
After - https://i.imgur.com/Wbe6Ij6.png
I'll attach example .csv and .ifc in #4704
What changed:
1) If query was provided but it didn't found any elements, then it will still autoassign quantity = 0 instead of cost item end up without quantities at all (which has a different meaning in ifc). Works both with Property provided and without it.
2) If provided quantity = 0, it will now load as quantity = 0 instead of not creating any quantities at all.
3) You can provide both Query and Quantity and they all will be added to the cost item. E.g. if Quantity = 15, Query = "IfcWall", Property="Prop" and there are 3 walls in the model each having Prop = 25 then final quantity will be 15+25*3=90. Previously Quantity would take the priority and the result would be just = 15.
Though this is still doesn't work with counting quantities due behaviour in cost.assign_cost_item_quantity.
E.g. if Quantity = 7, Query = "IfcWall", Property="" (to make sure it will just count them) and there are 3 walls in the model then final quantity will be not 7+3=10 but just = 3, as query will take the priority here.
2024-05-22 17:15:42 +05:00
Dion Moult
69c197c1a4
get_psets utility now defaults to merging duplicate psets instead of overriding
...
This behaviour is more comprehensive for broken data and now consistent for types and materials.
2024-05-22 08:12:38 +10:00