Dion Moult
7a36c05c30
Implement WCS consideration in XYZ <-> ENH conversions.
2024-06-24 18:21:06 +10:00
Dion Moult
ac58e6b8b2
Minor fix to new collection organisation for drawings
2024-06-24 18:21:06 +10:00
Dion Moult
03ee826e67
Add tests for xaxis and yaxis angle conversions
...
This tricked me today, the "XAxis" and "YAxis" vectors are from different perspectives (yikes!). XAxis is from the perspective of grid north, and YAxis is from the perspective of project north. I'm following this convention because that's what buildingSMART docs do but just FYI they serve two different purposes!
2024-06-23 22:23:48 +10:00
Dion Moult
fd8cb7e8ed
Implement Blender UI for handling new coordinate operations in IFC4X3
2024-06-22 23:32:25 +10:00
Dion Moult
a6c3ae8446
Typing and update geolocation conversion utils to follow IFC4X3 rules about unit scaling
2024-06-22 15:52:00 +10:00
Dion Moult
d0373da0ad
Update XYZ <-> ENH geolocation conversion after the clarifications made on how to handle scale in IFC4X3
2024-06-22 14:47:42 +10:00
Andrej730
a834e5b4cd
element.get_type doc note
2024-06-21 17:50:22 +05:00
Andrej730
a594a6cfe2
typing
2024-06-21 17:49:02 +05:00
Andrej730
d443c5e2a6
element.get_type - check schema explicitly for a small optimization
...
Previously if product had no types it would still run through all element.IsDefinedBy and check if they are IfcRelDefinesByType even if it's not IFC2X3.
2024-06-21 17:49:02 +05:00
Dion Moult
8246d2c593
Aggressively refactor out functions relevant to guessing a false origin to tool.Loader
2024-06-15 23:50:27 +10:00
Dion Moult
1db26aab15
Fix #4837 . Make mathutils dependency optional.
...
In the long term, I'd like to replace mathutils with numpy.
2024-06-15 15:10:36 +10:00
Dion Moult
cad7db0162
See #4838 . Consistently use schema_identifiers throughout the code instead of schema to be more explicit.
...
This also means in the future we are better shaped to be a prototyping platform for future IFC versions.
2024-06-15 14:05:37 +10:00
Andrej730
51f859d8e4
typing
2024-06-10 17:43:06 +05:00
Dion Moult
cdce612566
Update all geom settings to new v0.8 syntax
2024-06-09 16:15:55 +10:00
Dion Moult
03b277626f
See #4832 . Use shape.transformation.matrix in v0.8.0
2024-06-08 14:50:02 +10:00
Dion Moult
c4dfbdbe2e
Merge branch 'v0.7.0' into v0.8.0
2024-06-07 23:48:39 +10:00
Andrej730
db98f13982
typing
2024-06-07 17:15:52 +05:00
Dion Moult
f0a19cb054
Fix #4815 . Purge deprecated old selector syntax.
2024-06-07 20:08:11 +10:00
Dion Moult
60ae4e80ce
New get_contained util.element function
2024-06-05 13:04:50 +10:00
Andrej730
c399eb259a
resource.add_resource_quantity to ensure quantity type is supported
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
162e66b775
typing
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
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
Andrej730
02fd78df14
datetime2ifc to support None values as it was before ebd03e9 #4734
2024-05-27 17:34:28 +05: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
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
Andrej730
f576aadee1
typing
2024-05-24 19:15:51 +05:00
Andrej730
073e471305
typing
2024-05-23 18:45:30 +05: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
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
Andrej730
295d0a677e
cost schedule - prohibit adding multiple quantity types on 1 cost item
...
All IfcCostItem.CostQuantities supposed to use only 1 type of quantity, so they can be added up.
Changed UI to reflect that requirement - dropdown for selecting quantity type is now only visible if cost item has no quantities, otherwise it just reuses already used quantity type.
See https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCostItem.htm
Before - https://i.imgur.com/gFlwHEk.png
After - https://i.imgur.com/pk3wXfe.png
2024-05-21 17:54:07 +05:00
Andrej730
9aacafd575
fix bug with cost schedules confusing 0 quantity with no quantities
...
a bit related to #4704
1) fixed util.cost.get_total_quantity
2) fixed similar issue in cost.data that calculates the final value that user will see in UI
3) changed UI, "-" is shown when there are no quantities and "0" is when quantities are there but they just equal to zero.
Before - https://i.imgur.com/EO53DhM.png
After - https://i.imgur.com/H6rK4sP.png
fyi @myoualid
2024-05-21 17:54:07 +05:00
Andrej730
d064ef1237
black format
2024-05-21 17:53:46 +05:00