Getting all of the successful fillets when FilletEdge fails?

I’ve got a project that needs to fillet about 200 edges… but the filletedge component is failing (and righteously so) because some of the geometries won’t work (the adjacent faces are too close to parallel).

Is there any way to just get the brep with the successful fillets? All I want are the ones that can be done. It seems silly to do a bunch of work to identify the ones that will fail when the filletedge component already knows.

Any ideas? (130.0 KB)

this bruteforces a result, but it’s the most stupid non-solution to the problem I could think about

it’s a non-solution because:

  • I think that if edge i and edge i+1 can be filletted in two different instances of the same geometry, it does not necessarily mean that edge i and i+1 can be filleted at the same on the very same geometry
  • brute-force is not a solution
  • there might be better ways to compare the resulting geometries, ie methods that don’t involve the presence of “Volume” component (it is super slow) (137.6 KB)

1 Like

@inno ha! I think it’s quite a brilliant solution. The attached is a bit faster (131.6 KB)

@brooks I would fillet the profile curves and then do the extrude, this is much more reliable and faster as well


just count the edges :slight_smile: well played :+1:

Here is a method that finds 230 edges to fillet - quite slow, the better part of two minutes. (135.1 KB)

NOTE: This is slow because I test all 708 edges of the brep instead of only the 236 in your Edges list.

@Gijs I tried sum of edge lengths too but found slightly fewer edges than volume testing. Must have done something wrong… :thinking:

That’s not brute force, that’s really clever. Thanks!

Thanks. I’m using boolean solid operations because I couldn’t get the region operations to work with this geometry, but you’re right it’s probably worth investing more energy in getting that sorted since it’s more natural.

Yes you can still use that as input: (129.4 KB)

1 Like