CadQuery / CadQuery/cadquery

Sketch - hull intersecting faces

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

Description

Getting `ZeroDivisionError: float division by zero` trying to hull intersecting faces.

Not working:
```python
import cadquery as cq

r = cq.Sketch().circle(2).rarray(1, 5, 1, 2).circle(1).wires().hull()

show_object(r)
```
Failed workaround:
```python
import cadquery as cq

r = cq.Sketch().circle(2).rarray(1, 5, 1, 2).circle(1.1, "s").circle(1).wires().hull()

show_object(r)
```

Working:
```python
import cadquery as cq

r = cq.Sketch().circle(2).rarray(1, 7, 1, 2).circle(1).wires().hull()

show_object(r)
```

Stacktrace:
```bash
(cq) $ python 008.py
Traceback (most recent call last):
File "/home/jakob/Git/github.com/helmecke/cadquery-models/exercises/008.py", line 11, in
r = cq.Sketch().circle(2).rarray(1, 5, 1, 2).circle(1).wires().hull()
File "/home/jakob/.local/share/miniconda3/envs/cq/lib/python3.9/site-packages/cadquery/sketch.py", line 484, in hull
rv = find_hull(el for el in self._faces.Edges())
File "/home/jakob/.local/share/miniconda3/envs/cq/lib/python3.9/site-packages/cadquery/hull.py", line 395, in find_hull
angle, segment = get_angle(current_e, e)
File "/home/jakob/.local/share/miniconda3/envs/cq/lib/python3.9/site-packages/cadquery/hull.py", line 312, in get_angle
return arc_arc(current, e)
File "/home/jakob/.local/share/miniconda3/envs/cq/lib/python3.9/site-packages/cadquery/hull.py", line 262, in arc_arc
dx /= l
ZeroDivisionError: float division by zero
```

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.