Andrej730
a01278aa8d
ifcopenshell.util.shape to return Python floats if return is just a scalar
2025-03-03 13:54:56 +05:00
Andrej730
b7c18221f4
get_bbox - optimize by using numpy arrays
2025-01-13 17:53:02 +05:00
Andrej730
7a49f1611e
get_shape_matrix - small optimization
...
reuse existing matrix instead of recreating new
2025-01-13 17:53:02 +05:00
Andrej730
0601802005
typing
2025-01-13 17:53:01 +05:00
Andrej730
d55a291589
get_top_area to calculate area for the roof #5899
2024-12-27 19:43:30 +05:00
Andrej730
6c6e40b07c
get_side_area - add angle argument
2024-12-27 19:43:30 +05:00
Andrej730
170b6fc67e
typing
2024-12-23 18:59:55 +05:00
Andrej730
cb2895cc41
util.shape for materials and material_ids
2024-10-15 17:57:00 +05:00
Andrej730
dd9de98290
Store edges representation item ids in Triangulation
2024-09-25 19:09:14 +05:00
Andrej730
d4df21c4be
ifcopenshell.util.shape.get_normals
2024-09-20 22:03:19 +05:00
Andrej730
6d8ffc27cc
ifcopenshell.util.shape.get_material_colors
2024-09-16 18:54:13 +05:00
Dion Moult
ba5b27d03c
Support getting 2D coordinates in util.shape.get_vertices
2024-09-09 12:41:40 +10:00
Dion Moult
b01e93161e
Use vertex buffer for more efficient centroids
2024-08-08 08:24:12 +10:00
Dion Moult
4fd802bf3d
More efficient shape bbox and average vertex centroid function
2024-08-07 17:21:49 +10:00
Thomas Krijnen
e95e92356f
Update src/ifcopenshell-python/ifcopenshell/util/shape.py
...
Co-authored-by: Vyacheslav Dobranov <112861900+VDobranov@users.noreply.github.com >
2024-07-22 03:51:12 +02:00
VDobranov
e27980f746
Update shape.py
...
Following the discussion in Live Chat about length of all edges in a given geometry:
https://matrix.to/#/!ssOmSJysZpXBupsgjO:matrix.org/$0ZHjIFCtpwQl06xdGWlQ9ymsiKWpPuLMczVJnNYmN84?via=matrix.org&via=crossbach.de&via=infeeeee.duckdns.org
2024-07-22 03:51:12 +02:00
Andrej730
8e86b3d1d8
util.shape - optimize by using shape buffers and numpy
2024-07-08 18:49:12 +05:00
Andrej730
acf135a6ed
Store item_ids in imported meshes and set them on toggling edit mode
...
It will be used later to add more IFC capabilities to EDIT mode.
Example - https://imgur.com/a/HAkjoCY
2024-07-08 17:46:11 +05:00
Andrej730
51f859d8e4
typing
2024-06-10 17:43:06 +05:00
Dion Moult
03b277626f
See #4832 . Use shape.transformation.matrix in v0.8.0
2024-06-08 14:50:02 +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
54951d2102
Add convenience max/min functions for xyz and side_area shape calculations
2024-05-28 17:30:01 +10:00
Dion Moult
93639e9e50
Even more cleaning of documentation references
2024-05-07 19:08:13 +10:00
Andrej730
5b877b549a
fix numpy typing #4579
...
On older numpy versions, np.ndarray was less forgiving and wasn't allowing passing 1 argument instead of required 2.
And turned out numpy doesn't yet have typing for shapes (https://github.com/numpy/numpy/issues/16544 ), so all matrices and other shapes specified as `npt.NDArray[np.float64]`.
Fixed type discrepancies for `get_edges` and `get_faces` and also had to fix `import_ifc` as Blender apparently has problems with storing np.int32 in custom attributes (https://projects.blender.org/blender/blender/issues/121072 ), tested that Blender is okay with np.int32 in other cases we had (addressing BMesh.verts[i] where `i` is np.int32).
2024-04-25 18:05:47 +05:00
Dion Moult
23abf674f3
Minor fix
2024-04-16 14:54:36 +10:00
Andrej730
7132c4e9bf
typing and small refactor
2024-03-22 16:54:42 +05:00
Andrej730
1b1eccb0c1
typing
2024-03-21 15:06:32 +05:00
Dion Moult
3f71efea6d
Fix #4227 . Add shapely as an optional dependency for IOS-Python
2024-01-18 09:22:35 +11:00
mohamadalbaaj
83d364574a
Fixing Dimension Mismatch in Matrix Multiplication
2024-01-14 15:08:08 +11:00
Dion Moult
f0028c0094
get_footprint_area now unions 2D polygons to prevent double counting
2023-10-28 15:54:45 +11:00
Dion Moult
ed3e9f3347
New documentation for shape utility
2023-10-06 13:04:54 +11:00
Dion Moult
eb836436b9
Implement projected surface area calculation function in util.shape
2023-10-06 13:04:34 +11:00
Dion Moult
d3251c5ca1
New get_shape_matrix utility.
2023-05-26 19:31:01 +10: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
4f6c95b119
See #1676 . Space boundary generation now accounts for voids and fills.
2023-05-04 00:31:24 +10:00
Dion Moult
32f5a77d07
New shape utilities for getting top / bottom elevations and bbox.
2023-03-15 18:51:31 +11:00
Dion Moult
3e2ca328d2
Get side area lets you choose the side axis now in util.shape.
2023-03-09 17:48:42 +11:00
Dion Moult
4282014bfa
Fix #2843 . You can now get the bounding box centroid of geometry.
2023-03-08 20:58:21 +11:00
Dion Moult
ceaa930aad
Fix #2756 . Bug where reassigning classes with a enum didn't work.
2023-02-11 11:03:35 +11:00
Dion Moult
ae564d1b61
Fix #1040 . New utility for geometric shape analysis only requiring numpy.
2023-02-10 16:03:16 +11:00