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
Andrej730
721466c429
typing
2024-04-25 18:05:47 +05:00
Dion Moult
635ddce93d
Autodetect CSG representation types in shape builder
2024-04-04 18:28:26 +11:00
Andrej730
a3d970e014
shape_builder.create_axis2_placement_3d utility method and docs
2024-03-06 17:30:55 +05:00
Andrej730
51b5a507cf
shape builder docs
2024-01-25 16:46:38 +05:00
Andrej730
a44357dad5
shape builder polyline example and tests
2024-01-25 16:46:34 +05:00
Andrej730
2ab32e41b2
shape builder docs fixes
2024-01-24 16:38:53 +05:00
Andrej730
3fbd9d7cdf
IFC4 Landscape Library
...
Created IFC library with simple trees, shrubs and hedges - with both 2d and 3d representations. Example - https://i.imgur.com/pOjh1si.png
Now it's available along with the furniture library when creating new project - https://i.imgur.com/Ho0B5Gn.png
2024-01-24 16:38:52 +05:00
Dion Moult
e8bd272189
Fix #4057 . Data objects for the API are now in util.data instead of mixed into the shape builder utility and only depends on numpy.
2023-11-29 14:36:01 +11:00
Dion Moult
434a11a502
Fix #4057 . Move clipping info dataclass to util.shape_builder
2023-11-29 09:28:24 +11:00
Dion Moult
3e268be5c7
Fix #4052 . Bug where invalid plane was generated due to missing X axis.
2023-11-28 11:52:56 +11:00
Andrej730
c6454803ee
fixed issue adding bend between segments located at the same point
...
also added some tests
2023-11-14 17:18:57 +05:00
Andrej730
7b28bc9c68
fixed bug creating transition shapes
...
it was accidentally assigning extrusion vector instead of an offset
2023-09-18 11:30:36 +05:00
Andrej730
b0d1823968
MEP bends - fixed bunch of bugs related to adjusting already existing bends types
2023-09-15 15:36:33 +05:00
Andrej730
9778253d21
bends - support for zero radius bends
2023-09-14 18:19:03 +05:00
Andrej730
d79b912e0e
bends - consider profile dimensions searching for compatible fitting
...
So basically now it won't reuse a bend fitting created for the same profile but with different dimension.
2023-09-13 16:30:20 +05:00