Thomas Krijnen
ce4407ff3c
Some successes writing and reading
2025-02-27 22:07:31 +01:00
Thomas Krijnen
c58c8269af
Fix codegen
2025-02-26 09:34:02 +01:00
Thomas Krijnen
1d9dcb3ab7
Add header schema
2025-02-25 21:30:20 +01:00
Andrej730
aaf008f007
Fix adding transom to door #6230 ( d23cfcb)
2025-02-25 18:28:48 +05:00
Andrej730
2f6ae1745f
typing
2025-02-25 18:28:48 +05:00
Andrej730
5eb9cb2ee4
len(get_inverse) -> get_total_inverses
2025-02-24 18:52:35 +05:00
Andrej730
6eda4e389c
typing
2025-02-24 18:52:34 +05:00
Andrej730
0783f8082e
black .
2025-02-24 18:52:34 +05:00
Andrej730
5fa0aa03e4
util.schema.is_a - use c++ implementation
2025-02-24 15:15:54 +05:00
Andrej730
076a6c152d
fix typo
2025-02-24 15:15:54 +05:00
Thomas Krijnen
9736345d79
Test case #6173
2025-02-23 14:46:31 +01:00
Richard Brice
8c16f394c1
Updates alignment api
...
Fixes mapping of vertical alignment parabola business logic to geometry. Adds creation function of h and v alignment. Adds stationing referent at start of alignment. Fixes utility functions
2025-02-22 16:16:59 -08:00
Richard Brice
12f8a1f769
Adds utility to stringize station values
2025-02-22 16:15:00 -08:00
Jonas Frei
d38f56e82d
fix: bug in initialization of gltf serialiser fixed
2025-02-22 15:31:45 +01:00
Thomas Krijnen
fb1d78b311
Update codegen
2025-02-21 16:13:21 +01:00
Andrej730
ee2fa739bb
remove_deep2 - fix traversing same element twice
...
(I hope I don't miss anything, no tests seem to fail and performance is increased significantly) but because `subelement_queue` initiated with the `traverse` all `element`'s subelements will be traversed inside `while` loop twice - once as a part of initial queue and another time when `element` is traversed inside the loop and all those elements added to the queue again.
Now we just initiate the `queue` with the `element` and it will be traversed inside the loop like any other element.
2025-02-21 18:45:12 +05:00
Andrej730
f7efbe5924
remove_representation - optimizations
...
1) `do_not_delete` performs best when it's set
2) also_consider when `element` related elements go first, so there will be no need to traverse all other elements to see if they cover `element`'s inverses.
2025-02-21 18:45:11 +05:00
Andrej730
6e20ee9fea
remove_deep2 - also_considered_inverses optimization
...
1) replaced walk with traverse(max_levels=1)
2) early return if there total_inverses == 0
3) early return if also_considered_inverses is enough to cover total_inverses
2025-02-21 18:45:11 +05:00
Andrej730
e6d3396630
typing
2025-02-21 18:45:11 +05:00
Andrej730
cf1647a451
Fix bugs in 17642ca4e9
2025-02-21 17:31:33 +05:00
Andrej730
25d8fff5fd
remove_representation - small optimizations
...
check schema version instead of accessing attribute directly (hasattr under the hood is just doing getattr and checking whether it returns AttributeError), so one less IFC access
Similar thing with element.Item to access IFC just once.
2025-02-20 19:12:24 +05:00
Andrej730
331f491d50
typing
2025-02-20 19:12:24 +05:00
Andrej730
174f909137
Fix #6192
2025-02-20 17:01:12 +05:00
Dion Moult
f4d101788d
Fix insane bug when replacing element that looped through every single element.
2025-02-20 19:18:35 +11:00
Andrej730
67bac441ad
typing
2025-02-19 18:31:06 +05:00
Andrej730
4efb79e472
fix missing get_spline_points in add_representation
2025-02-18 18:50:35 +05:00
Andrej730
527e0f3dbf
set_element_value - fix error for Python 3.9
...
types.EllipsisType was added only in 3.10
2025-02-18 18:50:35 +05:00
Andrej730
8ea3142451
Fix errors removing layers/constituents after eeac0a2
2025-02-18 18:50:35 +05:00
Andrej730
a68cb74699
ifcopenshell.alignment - fix error in Python 3.9
...
match statement was added only in Python 3.10
2025-02-18 18:50:35 +05:00
Andrej730
17642ca4e9
typing
2025-02-18 18:50:34 +05:00
Andrej730
83a351b1c7
black .
2025-02-18 18:50:33 +05:00
Dion Moult
37baa7a57b
Fix #5845 . Allow non GRAPH_VIEW reference representations. Apparently it's a thing in the docs.
...
If anybody can explain to me how Reference is meant to be used (the
example in the docs is really ambiguous) please do :)
2025-02-18 20:45:05 +11:00
Andrej730
5d8c2f2ec2
deprecate test-safe #5192
2025-02-17 17:58:45 +05:00
Andrej730
32608ff194
py -m ifcopenshell.validate to use argparse
...
So command would fail if no arguments provided and there would hints on how to use it.
2025-02-17 17:58:45 +05:00
Andrej730
b0fbea60ae
typing
2025-02-17 17:58:44 +05:00
Dion Moult
42e184c936
Fix #5839 . Appending an asset now also considers shape aspects.
2025-02-16 17:08:34 +11:00
Dion Moult
b226a79ee8
See #5888 . Fix bug where polyline tools weren't part of the undo system.
2025-02-16 11:48:51 +11:00
Dion Moult
774a770c48
Purge usage of mathutils in grid API functions
...
The only thing left is add_representation which is Blender specific
anyway and is slowly being refactored out.
2025-02-16 08:20:59 +11:00
Dion Moult
aff90e89f7
Don't burn CPU cycles for updating parametric windows
2025-02-16 07:47:03 +11:00
Dion Moult
aad4dad9a7
Migrate documentation for IfcTester and make optional deps mandatory in PyPI
...
I don't like this, but PyPI makes it really, really hard to "discover"
optional deps and what they're used for. So it's just easier to make it
a mandatory dependency and advanced users can always strip it out. This
stops user reports about "it doesn't work out of the box I only did pip
install ifctester"
2025-02-16 07:46:22 +11:00
Dion Moult
6ac6f13018
Fix #5824 . Prioritise 3D over 2D. Only then consider subcontexts.
...
It's unexpected in our 3D default viewing world to have 2D first over
3D.
2025-02-15 19:03:52 +11:00
Dion Moult
d23cfcb2cf
Fix #2981 . Standard case windows can now have different materials and implement shape aspects.
2025-02-15 18:31:25 +11:00
Dion Moult
81b7f3dc30
New API function to set shape aspect constituents
2025-02-15 18:26:13 +11:00
Dion Moult
a0fa861b92
Shape builder can now created triangulated face sets
2025-02-15 16:10:12 +11:00
Andrej730
20e1fc2618
Fix bug in get_container not passing specified ifc_class to the parent #6155
2025-02-14 17:49:51 +05:00
Andrej730
f39e6ccb54
typing
2025-02-12 18:39:27 +05:00
Dion Moult
d2420c2e45
Revert "Hotfix for PyPI < python 3.11". Release made.
...
This reverts commit d093d80698 .
2025-02-12 08:03:36 +11:00
Dion Moult
d093d80698
Hotfix for PyPI < python 3.11
2025-02-12 07:53:20 +11:00
Andrej730
f6087613f0
add_representation - use numpy arrays for calculations that include model offset
2025-02-11 18:14:45 +05:00
Andrej730
57d7d83ebb
Fix Python <3.10 support #6141
2025-02-11 16:50:07 +05:00