Filleting multi-sketch solids yields Internal engine error on request

I am working on base.kcl. It’s composed of two plates welded together with all edges filleted.

I was able to all edges from the bottom plate filleted correctly but when I try to add fillets to the top plate (lines 76-85), I get the error below. Is this a known issue? Let me know if there’s a better place to file bug reports like this. Thanks!

PS C:\src\harmonic-analyzer\cad> zoo kcl export --deterministic --output-format stl .\base\main.kcl .\base\
KCL Engine error

  × engine: Internal engine error on request
    ╭─[66:6]
 65 │       |> extrude(length = topHeight, tagEnd = $topTop)
 66 │ ╭─▶   |> fillet(
 67 │ │          radius = edgeFilletRadius,
 68 │ │          tags = [
 69 │ │            // Intersection fillets between both plates
 70 │ │            getCommonEdge(faces = [topFront, bottomTop]),
 71 │ │            getCommonEdge(faces = [topRight, bottomTop]),
 72 │ │            getCommonEdge(faces = [topBack, bottomTop]),
 73 │ │            getCommonEdge(faces = [topLeft, bottomTop]),
 74 │ │
 75 │ │            // Side fillets, top plate
 76 │ │            getNextAdjacentEdge(topFront),
 77 │ │            getNextAdjacentEdge(topRight),
 78 │ │            getNextAdjacentEdge(topBack),
 79 │ │            getNextAdjacentEdge(topLeft),
 80 │ │
 81 │ │            // Top fillets, top plate
 82 │ │            getCommonEdge(faces = [topFront, topTop]),
 83 │ │            getCommonEdge(faces = [topRight, topTop]),
 84 │ │            getCommonEdge(faces = [topBack, topTop]),
 85 │ │            getCommonEdge(faces = [topLeft, topTop])
 86 │ │          ]
 87 │ ├─▶      )
    · ╰──── .\base\main.kcl
 88 │
    ╰────

Hi Pedro,

Thanks for the clear description of this issue. Yes, we are aware about Fillet having a few limitations and it is an area we’re actively working on.
I’ve added an internal issue tracking this bug and I’ll report back if we have an update!

1 Like

Hi, Pedro,

I put in a fix last week for this. The engine no longer errors on this command, and all the edges you requested are filleted. Please give it another shot if you’d like. Note that the locations where the fillets interact with each other are still a bit weird in your example; that’s an active area of development, but hopefully this fix is helpful for your project.

1 Like