Skip to content

Commit ea17c7c

Browse files
authored
Merge pull request #1446 from papachap/impl-brep-make_solid
Add cap_planar_holes method to RhinoBrep
2 parents a6a0dec + 57195d6 commit ea17c7c

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
### Added
1111

1212
* Added `Group` to `compas.scene`.
13+
* Added `compas.geometry.Brep.cap_planar_holes`.
14+
* Added `compas_rhino.geometry.RhinoBrep.cap_planar_holes`.
1315

1416
### Changed
1517

src/compas/geometry/brep/brep.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,3 +1139,23 @@ def overlap(self, other, deflection=None, tolerance=0.0):
11391139
11401140
"""
11411141
raise NotImplementedError
1142+
1143+
def cap_planar_holes(self, tolerance=None):
1144+
"""Cap all planar holes in the Brep.
1145+
1146+
Parameters
1147+
----------
1148+
tolerance : float, optional
1149+
The precision to use for the operation. Defaults to `TOL.absolute`.
1150+
1151+
Returns
1152+
-------
1153+
None
1154+
1155+
Raises
1156+
------
1157+
BrepError
1158+
If the operation fails.
1159+
1160+
"""
1161+
raise NotImplementedError

src/compas_rhino/geometry/brep/brep.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,3 +674,28 @@ def flip(self):
674674
675675
"""
676676
self._brep.Flip()
677+
678+
def cap_planar_holes(self, tolerance=None):
679+
"""Cap all planar holes in the Brep.
680+
681+
Parameters
682+
----------
683+
tolerance : float, optional
684+
The precision to use for the operation. Defaults to `TOL.absolute`.
685+
686+
Returns
687+
-------
688+
None
689+
690+
Raises
691+
------
692+
BrepError
693+
If the operation fails.
694+
695+
"""
696+
tolerance = tolerance or TOL.absolute
697+
result = self._brep.CapPlanarHoles(tolerance)
698+
if result:
699+
self._brep = result
700+
else:
701+
raise BrepError("Failed to cap planar holes")

0 commit comments

Comments
 (0)