Skip to content

Commit fbf82e4

Browse files
authored
Merge pull request #1432 from compas-dev/brepface_frame_at
added frame_at to BrepFace
2 parents c98912c + 7d68639 commit fbf82e4

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Added
1111

12+
* Added method `frame_at` to `compas.geometry.BrepFace`,
13+
* Added method `frame_at` to `compas_rhino.geometry.RhinoBrepFace`,
14+
1215
### Changed
1316

1417
* Fixed publish to YAK via CI workflow.

src/compas/geometry/brep/face.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,24 @@ def add_loops(self, loops, *args, **kwargs):
292292
"""
293293
raise NotImplementedError
294294

295+
def frame_at(self, u, v):
296+
"""Returns the frame at the given uv parameters.
297+
298+
Parameters
299+
----------
300+
u : float
301+
The u parameter.
302+
v : float
303+
The v parameter.
304+
305+
Returns
306+
-------
307+
:class:`compas.geometry.Frame`
308+
The frame at the given uv parameters.
309+
310+
"""
311+
raise NotImplementedError
312+
295313
def try_get_nurbssurface(
296314
self,
297315
precision,

src/compas_rhino/geometry/brep/face.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,3 +283,24 @@ def as_brep(self):
283283
284284
"""
285285
return Brep.from_native(self._face.ToBrep())
286+
287+
def frame_at(self, u, v):
288+
"""Returns the frame at the given uv parameters.
289+
290+
Parameters
291+
----------
292+
u : float
293+
The u parameter.
294+
v : float
295+
The v parameter.
296+
297+
Returns
298+
-------
299+
:class:`compas.geometry.Frame`
300+
The frame at the given uv parameters.
301+
302+
"""
303+
success, rhino_plane = self._face.FrameAt(u, v)
304+
if not success:
305+
raise ValueError("Failed to get frame at uv parameters: ({},{}).".format(u, v))
306+
return plane_to_compas_frame(rhino_plane)

0 commit comments

Comments
 (0)