You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I could not reproduce it. Here is my result. I tested with both 2.7.0 and master (conda/pixi). Which version is this?
importcadqueryascqfromcadquery.visimportshowresult1=cq.Workplane().box(5, 5, 5)
result2=result1.edges(">Z and >X").fillet(0.5).val().move(x=6)
result3=result1.edges("<Y and |Z").fillet(0.5).val().move(x=2*6)
result4=result1.edges("(>Z and >X) or (<Y and |Z)").fillet(0.5).val().move(x=3*6)
show([result1, result2, result3, result4], width=800, height=600)
I could not reproduce it. Here is my result. I tested with both 2.7.0 and master (conda/pixi). Which version is this?
import cadquery as cq
from cadquery.vis import show
result1 = cq.Workplane().box(5, 5, 5)
result2 = result1.edges(">Z and >X").fillet(0.5).val().move(x=6)
result3 = result1.edges("<Y and |Z").fillet(0.5).val().move(x=2*6)
result4 = result1.edges("(>Z and >X) or (<Y and |Z)").fillet(0.5).val().move(x=3*6)
You're doing a separate operation for each cube. My second example is equivalent to chaining two fillets on the same cube. result = cq.Workplane().box(5, 5, 5).edges(">Z and >X").fillet(0.5).edges("<Y and |Z").fillet(0.5)
In context I'm trying to fillet a part, make a copy of that part, then add some more fillets only to the copy.
base = cq.Workplane().box(5, 5, 5)
result = base.edges(">Z and >X").fillet(0.5)
result2 = result.edges("<Y and |Z").fillet(0.5).val().move(x=6)
show([result, result2])
Ah, I understand now. Is there any chance it's an issue with how CadQuery interacts with OCCT? Or is it for sure a bug with the kernel itself?
If it's the latter this issue can probably be closed. An issue will have to be opened on the Open Cascade Github instead.
Activity
lorenzncode commentedon May 26, 2026
I could not reproduce it. Here is my result. I tested with both 2.7.0 and master (conda/pixi). Which version is this?
bfedie518 commentedon May 26, 2026
You're doing a separate operation for each cube. My second example is equivalent to chaining two fillets on the same cube.
result = cq.Workplane().box(5, 5, 5).edges(">Z and >X").fillet(0.5).edges("<Y and |Z").fillet(0.5)In context I'm trying to fillet a part, make a copy of that part, then add some more fillets only to the copy.
Version 2.7.0 downloaded via pip
lorenzncode commentedon May 26, 2026
Your selector is correct. So this is the CAD kernel fillet behavior for this scenario as far as I know. Another example.
bfedie518 commentedon May 27, 2026
Interesting. Is there a way to get the behavior that I actually want? Anything that would have the same effect as the Sketch reset() function?
adam-urbanczyk commentedon May 27, 2026
This is not a selection issue (try with a chmafer) but rather a OCCT kernel issue.
I can only make it work when doing the fillet in on go (NB: using unreleased selection combination operator
|from #2038 ):[-]Unexpected edge being selected[/-][+]Unexpected edge being filleted[/+]bfedie518 commentedon May 27, 2026
Ah, I understand now. Is there any chance it's an issue with how CadQuery interacts with OCCT? Or is it for sure a bug with the kernel itself?
If it's the latter this issue can probably be closed. An issue will have to be opened on the Open Cascade Github instead.
adam-urbanczyk commentedon Jun 5, 2026
AFAICT this is on OCCT.