No, above would require a brep to search for the faces. But i could imagine some different way using rs.PointClosestObject
if it needs to work with individual surfaces. I think picking and getting the surfaces in the first iteration is not the biggest hurdle. If you get the surfaces, you’ll get the UV location pretty reliable. (if there are not multiple surfaces overlapping at that point).
The only way i see to create the fillet either extended or not is to use Brep.CreateFilletSurface
. If you look at the inputs you see that a brep is required.
Yes, and when things can happen, you need to handle them. If you do not handle every possible case which can happen, things will just fail.
You will probably get the exact same surfaces which you got in the first iteration. There are 2 different point pairs on each end of a newly created fillet. How do you decide which of the two should add annother fillet ? And if you try both pairs, and all possible combinations and compare with combinations which already have been processed, what do you do if you cannot find out which are the two surfaces to fillet next ?
See below example image, i’ve used Brep.CreateFilletSurface
to avoid getting an extended Fillet which would be the case with Surface.CreateRollingBallFillet
:
As you can see, i’ve already seperated the result from the command, you get the fillet (green) and a trimmed brep as two seperate arrays. Please understand that it is not nonsense, i decided 2 things visually up to this point: First, the fillet would have to be non extended because it would then be useless while it extends over the vertical large fillet. Second, i’ve decided what to delete from the first iteration.
If i would like to continue as you proposed, how should i find out the next surfaces to fillet ? As you can see in the image, 3 of the 4 corner points of the fillet are exactly above 2 surfaces each. Which is the one to pick and why ? What would you do if the component index returned from a closest point operation does not belong to a surface but a brep edge ?
How would that work ? Can you describe these ways ?
I did not claim anything. I’m just trying to make you understand that things are not as trivial as you think. Imho it is not 100% correct to asume that by picking the pairs of points at the first fillet ends always result in a new fillet. There is much more involved than just two points.You’re probably generating existing fillets again and again or just get no fillet at all. If you want to make a robust tool of your proposal, all possible situations need to be handled for a specific reason. Before going on with this, distinct rules have to be defined.
_
c.