CadQuery / CadQuery/cadquery

Creating a shell out of a tapered box causes an "BRep_Tool:: no parameter on edge" error

Open
#1,670 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
5.8k
Forks
541
Avg merge
3d 2h
Merged PRs (30d)
5

Description

## To Reproduce

I am trying to make a box with tapered walls using the following code, however I get an error `OCP.Standard.Standard_NoSuchObject: BRep_Tool:: no parameter on edge`.

```python
import cadquery as cq

result = (
cq.Workplane('XY')
.rect(10, 10)
.extrude(10, taper=-10.0)
.faces(">Z")
.shell(-0.5)
)
# cq.exporters.export(result, 'issue.stl')
show_object(result)
```

## Backtrace

```
Traceback (most recent call last):
File "issue.py", line 8, in
.shell(-0.5)
^^^^^^^^^^^
File ".venv\Lib\site-packages\cadquery\cq.py", line 1276, in shell
s = solidRef.shell(faces, thickness, kind=kind)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File ".venv\Lib\site-packages\cadquery\occ_impl\shapes.py", line 2848, in shell
shell_builder.MakeThickSolidByJoin(
OCP.Standard.Standard_NoSuchObject: BRep_Tool:: no parameter on edge
```

## What I have tried as a workaround to this error

Strangely, no such error occurs when I change the taper from -10deg to +10deg and select the bottom face instead of the top face. The resulting model is exactly the same, as the expected result from the first code block, but upside down.
As a result, I do not understand by the first code does not work

```python
import cadquery as cq

result = (
cq.Workplane('XY')
.rect(10, 10)
.extrude(10, taper=10.0)
.faces(" python --version
Python 3.11.7

> pip list
Package Version
----------------- -------
cadquery 2.4.0
cadquery-ocp 7.7.2
casadi 3.6.6
ezdxf 1.3.3
fonttools 4.53.1
multimethod 1.9.1
nlopt 2.8.0
nptyping 2.0.1
numpy 1.23.5
path 17.0.0
pip 23.2.1
pyparsing 3.1.4
setuptools 68.2.0
typing_extensions 4.12.2
typish 1.9.3
wheel 0.41.2
```

**Using:** PyCharm, CQ-Editor

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.