Weird "Fillets requires that edges be selected" exception
- Dominant language
- Python
- Stars
- 5.8k
- Forks
- 541
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 5
Description
## To Reproduce
I'm trying to build some gridfinity stuff, therefore I'm trying to to build the baseplate in CadQuery. However I'm getting some weird `Fillets requires that edges be selected`-exception.
(The following code are cells from a Jupyter-notebook, where each `#####` marks a different cell)
```python
rounding_diameter = 7_500
outer_width = 42_000
layer0_inner = 42_000 - ((2_150 + 700) * 2)
layer0_height = 700
layer0_rounding_diameter_inner = rounding_diameter - (outer_width - layer0_inner)
layer1_inner = 42_000 - (2_150 * 2)
layer1_height = 1_800
layer1_rounding_diameter_inner = rounding_diameter - (outer_width - layer1_inner)
layer2_inner = 42_000 - (2_150 * 2)
layer2_height = 1_900
layer2_rounding_diameter_inner = rounding_diameter - (outer_width - layer2_inner)
#####
from cadquery import Workplane
object = Workplane()\
.box(outer_width, outer_width, layer0_height, centered=[True, True, False])\
.faces(">Z")\
.workplane(invert=True)\
.box(layer0_inner, layer0_inner, layer0_height, centered=[True, True, False], combine="cut")\
.edges("|Z and (>X or Z")\
.workplane()\
.box(outer_width, outer_width, layer1_height, centered=[True, True, False])\
.faces(">Z")\
.workplane(invert=True)\
.box(layer1_inner, layer1_inner, layer1_height, centered=[True, True, False], combine="cut")\
.edges("|Z and (>X or Z")\
.workplane()\
.box(outer_width, outer_width, layer2_height, centered=[True, True, False])\
.faces(">Z")\
.workplane(invert=True)\
.box(layer2_inner, layer2_inner, layer2_height, centered=[True, True, False], combine="cut")\
.edges("|Z and (>X or Z\")\\
3 .workplane()\\
4 .box(outer_width, outer_width, layer2_height, centered=[True, True, False])\\
5 .faces(\">Z\")\\
6 .workplane(invert=True)\\
7 .box(layer2_inner, layer2_inner, layer2_height, centered=[True, True, False], combine=\"cut\")\\
8 .edges(\"|Z and (>X or 9 .fillet(rounding_diameter / 2)\\
10 .edges(\"|Z\")\\
11 .fillet(layer2_rounding_diameter_inner / 2)
13 display(object)
File /usr/local/lib/python3.11/dist-packages/cadquery/cq.py:1304, in Workplane.fillet(self, radius)
1301 if len(edgeList) < 1:
1302 raise ValueError(\"Fillets requires that edges be selected\")
-> 1304 s = solid.fillet(radius, edgeList)
1305 return self.newObject([s.clean()])
File /usr/local/lib/python3.11/dist-packages/cadquery/occ_impl/shapes.py:2780, in Mixin3D.fillet(self, radius, edgeList)
2777 for e in nativeEdges:
2778 fillet_builder.Add(radius, e)
-> 2780 return self.__class__(fillet_builder.Shape())
StdFail_NotDone: BRep_API: command not done"
}
```
## Environment
OS: VSCode dev container running Debian on M1Pro-MacBook Pro:
```dockerfile
FROM mcr.microsoft.com/devcontainers/base:debian
ENV APT_PACKAGES libgl1 libnlopt0 libnlopt-cxx0 python3 python3-dev python3-nlopt python3-pip
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update \
&& apt-get upgrade --yes \
&& apt-get install --yes --no-install-recommends ${APT_PACKAGES} \
&& apt-get autoremove --yes \
&& apt-get clean
RUN pip install --break-system-packages \
ipykernel
# Manually install top-level dependencies of `cadquery` except `nlopt`
RUN pip install --break-system-packages \
casadi \
ezdxf \
multimethod==1.9.1 \
nptyping==2.0.1 \
path \
typish \
https://github.com/CadQuery/ocp-build-system/releases/download/7.7.2.0/cadquery_ocp-7.7.2-cp311-cp311-manylinux_2_35_aarch64.whl
# Install `cadquery` without automatic dependency resolution
RUN pip install --break-system-packages --no-deps \
cadquery
```
Also see my attached workspace if it is any use: [Gridfinity.zip](https://github.com/CadQuery/cadquery/files/14817671/Gridfinity.zip)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.