I am trying to automatically fillet edges of a closed Brep with rhinoinside python. I have a method for selecting edges that should be filetted and my Brep is both closed and topologically valid. Yet I can’t find the proper parameters so that the Brep.CreateFilletEdges succeeds.
I am using BlendType.Fillet and RailType.RollingBall as options. I tried many values for the radii and for the tolerance (which seem to be the 2 main parameters I can play with to impact the outcome).
I have successfully used the same algorithm on other models but the values for the radii can be really different.
CreateFilletEdges results over a closed Brep with a valid edge selection are separate in 4 categories :
- no output at all (empty array) and no reason for it …
- one output but the Brep is not topologically valid (and no reason for it)
- one output but the Brep is not closed anymore (some holes appeared during the process) and no reason for it
- one valid, closed Brep is returned (yeay)
So my questions are :
- Is there any place where I can find documentation on how the edge filleting works, what are its limitations, etc …
- Is there a way to preprocess my Brep so that I can guarantee to have a valid output (4) ? I already tried to MergeCoplanarFaces and SplitKinkyFaces
- Is there a way to have an error report from the function as I can have when I call IsValidTopology ?
- Is there a way to predict if a Brep can be filleted at all ? with given parameters ? This would be great to avoid waiting for CreateFilletEdges to fail … and believe me it takes time to compute when it fails
- How come this function is able to give me a correct result with fillets of 0.5mm radius, and 0.7 mm but returns an invalid topology for 0.6 mm ? Values are not specific obviously but this behviour doesn’t allow me to have a good “try and error” approach.
- In case of a topologically correct but not closed Brep (3), Is there an easy way to automatically close the Brep ?
I can post a bit of code if you think it is relevant even if I only use the CreateFilletEdges with model specific values. I also upload a 3dm of the failing closed Brep and the highlighted selected edges
Fillet_Debug.3dm (193.4 KB)
Thanks for your answers