Andrej730
77a912c756
shape_builder.rectangle - clarify 3d size use
2026-01-16 17:16:28 +05:00
Andrej730
668b63a323
shape_builder - clean up redundant default values from doc-strings
2026-01-16 17:16:28 +05:00
Andrej730
dfc91e6639
ifcopenshell-python - clean up unused imports
2026-01-16 17:16:24 +05:00
Andrej730
13be6ccd45
Sort imports
2025-12-19 18:53:14 +05:00
Andrej730
b5e8dfd863
generate_stair_2d_profile - add typing
2025-11-06 18:44:49 +05:00
Bruno Perdigão
190d9f8e3f
Fix issue with IfcPolyline in get_polyline_coords
2025-08-25 20:42:28 -03:00
Thomas Krijnen
aa97cc25d1
Support faceset face with voids in shape_builder
2025-08-16 15:02:17 +02:00
Andrej730
0ef255bc3c
Fix linking project missing offsets for instances of complex geometry
...
After ba2456a if main IFC project had an offset and linked object had more than 333 faces, then it was imported at it's original location instead, missing an offset.
Also processing occurrences should be now more optimized, since we reuse the same verts buffer instead of recreating it 10 times.
2025-07-22 18:06:20 +05:00
Thomas Krijnen
3f05bab4e5
Shape builder: allow translate() on tesselated face sets
2025-07-06 18:35:19 +02:00
Andrej
02d359d0e6
Fix Ruff UP035 (also deprecated annotation symbols)
2025-06-09 18:03:19 +05:00
Dion Moult
67016d6f90
See #2999 . Reimplement basic creation of structural items.
2025-05-19 17:36:12 +10:00
Andrej730
c7a29d5604
Fix invalid IfcGrid cartesian points ( 774a770)
...
They were saved as 4d coordinates, not 2d.
2025-04-30 19:36:22 +05:00
Dion Moult
6596f5bc4b
Fix regressions in MEP joins after switching over to numpy from mathutils
2025-03-12 23:05:34 +11:00
Dion Moult
7dee888ecf
See #1227 . New util function in shape builder to do an X axis intersection.
2025-03-07 19:00:18 +11:00
Andrej730
5f86c6d1c2
shape_builder.create_axis2_placement_3d_from_matrix - small optimization
...
create_axis2_placement_3d now is fine with numpy arrays
2025-03-03 13:54:57 +05:00
Dion Moult
a0fa861b92
Shape builder can now created triangulated face sets
2025-02-15 16:10:12 +11:00
Andrej730
f39e6ccb54
typing
2025-02-12 18:39:27 +05:00
Dion Moult
1d2214efd9
Fix IfcOpenShell-Python on Python 3.10
...
Elipsis is not allowed for generic typing
2025-02-10 17:26:03 +11:00
Dion Moult
b7fb5c90bc
Continue fixing failing tool tests. Fix regression where UV coordinates might have the wrong order.
2025-02-06 17:22:54 +11:00
Dion Moult
4e17a2d6de
The shape builder can now create half space solids for convenience
2025-01-30 18:44:38 +11:00
Dion Moult
35734f4b67
Guess representation type from items based on where rule
...
Previously we never implemented this in a very strict way so it was
prone to mistakes.
2025-01-18 18:35:13 +11:00
Dion Moult
c54ea1e5d2
Shape builder can now create blocks
2025-01-18 18:34:40 +11:00
Andrej730
a968b61d02
np_matrix_to_euler, np_matrix_normalized
2025-01-13 17:53:01 +05:00
Thomas Krijnen
ba9693519b
Remove mathutils import from shape_builder.py
2025-01-12 17:05:32 +11:00
Andrej730
31069d6643
Fix error creating polylines in ifc2x3 after 9fbcb39
...
By accident it was providing numpy array instead of ifc points entities.
2024-12-23 12:33:17 +05:00
Andrej730
eae92b55bb
shape_builder - np utils
2024-12-19 18:31:49 +05:00
Andrej730
0e8eeb18ac
shape_builder - remove mathutils dependency completely #5192
2024-12-19 18:31:48 +05:00
Andrej730
b4a0a5df6c
mathutils deprecation - mep_bend_shape #5192
2024-12-19 18:31:48 +05:00
Andrej730
5469d3f9d5
mathutils deprecation - mep_transition_shape #5192
2024-12-19 18:31:48 +05:00
Andrej730
4a68285d1f
mathutils deprecation - meshes #5192
2024-12-19 18:31:48 +05:00
Andrej730
01c2edfd16
mathutils deprecation - extrude #5192
2024-12-19 18:31:47 +05:00
Andrej730
c32616faca
mathutils deprecation - mirror #5192
2024-12-19 18:31:47 +05:00
Andrej730
6e8815eacc
mathutils deprecation - rotate #5192
2024-12-19 18:31:47 +05:00
Andrej730
8250f02866
mahtutils deprecation - translate #5192
2024-12-19 18:31:47 +05:00
Andrej730
c1ec42c95b
mathutils deprecation - circle, plane, placements, curves #5192
2024-12-19 18:31:47 +05:00
Andrej730
63f56d2f21
mathutils -> numpy - polyline, rectangle #5192
2024-12-19 18:31:47 +05:00
Andrej730
545431d95d
shapebuilder - fix issue creating profiles on ifc2x3
...
Position argument was only required for IfcParameterizedProfileDef, not for IfcArbitraryClosedProfileDef
2024-11-18 15:01:48 +05:00
Dion Moult
4261fdbed6
Rewrite coordinate offset to use np.array not Vector() for precision
2024-09-27 23:09:00 +10:00
Dion Moult
dbfa4ecf65
Fix minor regression in fe0be0c
2024-09-18 22:58:22 +10:00
Dion Moult
736d91f38e
Shape builder now supportes meshy things and faceted breps
2024-09-18 21:35:40 +10:00
Thomas Krijnen
1697e49e65
Merge branch 'v0.8.0' into fix-ifccircle-ifcellipse-processing
2024-09-12 20:18:57 +02:00
Andrej730
32c6ea9363
shapebuilder.profile - fix bug in ifc2x3 assigning non existing Position attr
...
confused arbitrary profiles with parametric profiles in 640320f
2024-09-11 16:02:48 +05:00
Andrej730
fe0be0cdae
shape_builder.create_axis2_placement_2d
2024-09-11 15:53:04 +05:00
VDobranov
f56bae141b
Update shape_builder.py
...
Described in the https://github.com/IfcOpenShell/IfcOpenShell/issues/4989
2024-07-12 14:59:04 +10:00
Andrej730
a594a6cfe2
typing
2024-06-21 17:49:02 +05: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
Andrej730
db98f13982
typing
2024-06-07 17:15:52 +05:00
Andrej730
bb8e84e5ec
typing
2024-05-15 17:18:33 +05:00
Andrej730
640320f70d
shape_builder - create non-optional position for profiles in ifc2x3
2024-04-25 18:05:47 +05: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