Why does filletEdge fail here ? bug ? sweep1 details

(A) filletEdge
In nearly every case, i can somehow understand, when / why _filletEdge fails.
But not for this - in my eyes super simple example. - filletEdge does not manage to trim the object.
_filletEdge R=2.5
did i miss something or is it a bug ?

( I do a lot of fancy stuff with _filletSrf…not looking for a workarround, i know i can repair it with _extractSrf, _untrim, _trim _join… or just use a _filletSrf and build from scratch…)
FilletEdge_fails.3dm (865.4 KB)

and there is a second problem:
(B) sweep1
if i try too bild the outer surface only with _sweep1
the rail curve is a _blendSrf _join together and it has G2 in all “welding spots”.
but with sweep1 not use refit rail, i get a polySurface (which is ok), BUT the polysurface does not have G2 nor G1 at the seam.
that s a pitty.
why ?

thanks, kind regards, -tom

I don’t know yet - I suspect it has to do with the singular surface - if I split a piece off near the fillet the trim happens as expected. Also the surface is not G2 internally - only tangent - that may come into play as well. If I RebuildUV in V to be smooth, the trim is successful
I’ll put this on the pile.

The rail has a fully multiple knot at these locations - I guess that is the reason the sweep does not negotiate it cleanly. It looks like it ought to, to me as well - but for now, RailRevolve is you friend here.


I see that quite often while working with OffsetSrf Solid=Yes. maybe that could help to identify the problem.

dear pascal - thanks for having a look at this.

the thing that wonders me: the surface build by _filletEdge is fine. _extracting it and do the trim manually will give a nice result. So the (surely quite complex) _filletEdge algorithm / mechanism somehow does not find the right location for the part to trim away.

if I split and shrink the inner surface to eliminate the central inner pole (see yellow / selected edge, filletedge does the job…
My guess: it is the rotational typology that annoys the algorithm somehow…

… a simple _sweep1 with refitRail = yes also does the job for this exercise i do in class.

_railRevolve shown in the screenshot will vary in the “thickness” / “local height” of the profil. the offset in top view should stay the same. (green curve)

the result i expected is possible with _sweep2
building a second curve ((red) for example with _offset _loose=yes) _explode and 3x _match…
then _sweep2 gives a nice result. - also in the initial post / file…

looking forward to see the improvements on both commands _filletEdge and _sweep1.
Thanks for your effort. kind regards. -tom

and i posted another question about _sweep1 freestyle some time ago:
it s about _sweep1 freestyle

still not happy with the results there.