Open alikureishy opened 3 years ago
The fillet is too large for the square channels and probably causes some sort of self-intersection. The following code runs and produces a renderable result, but if you change the fillet radius to 1.5 you'll get a general command not done error
. Using 3 is causing a segfault within the OCCT CAD kernel.
import cadquery as cq
start_radius = 30
slot_size = 7
slot_inset = 10
length = 100
end_radius = 20
outer = cq.Workplane("XY").circle(start_radius)
lofted = outer.workplane(offset=length).circle(end_radius).loft(combine=True)
channeled = lofted.faces(">Z").rect((2 * end_radius - 3 * slot_inset), (2 * end_radius - 3 * slot_inset), forConstruction=True)\
.vertices().rect(slot_size, slot_size).cutThruAll()\
.faces("|Z").edges().fillet(1.49)
show_object(channeled)
Thanks for the prompt reply! I'll try that out.
For posterity's sake, which repository (github link?) should I log this bug against? Segmentation faults like this, instead of user-friendly parse/compile errors, impact the usability of tools higher up the chain too, such as cadquery and cq-editor.
Logging bugs upstream is more complicated. See https://dev.opencascade.org/doc/overview/html/occt_contribution__contribution_workflow.html#occt_contribution_workflow_issue
You have to reproduce the error in OCCT's Drawexe. I believe you also have to sign an agreement and set up an account.
It would also be worth searching through their bug tracker. I think it's likely there is already a bug for this issue: https://tracker.dev.opencascade.org/view_all_bug_page.php
To Reproduce
Here's the cadquery script I am using. Rendering this causes CQ-Editor to segfault.
Environment
OS: Macbook 10.15.7
Was CadQuery installed using Conda?: Yes
Output of
conda list
from your active Conda environment: