Why do I have to rail this curve in order to be able to trim with it?

image

Green rail is able to trim. Red curve is not. Why is that?

trim-fail-again.3dm (470.8 KB)

EDIT: Yes, I’m aware there’s 1000 workarounds for this, btw, I just get failed trims so very often that I want to learn how to get to the bottom of them all.

I just noticed that the file was named “trim-fail-again”, so here’s apparently the first one I saved… same issue:

trimfail.3dm (68.2 KB)

Not sure why it fails. I don’t know of 1000 workarounds but one and that is to use trimming with 3d curves only on single surfaces, in other words, explode – trim – join

Hello - when you trim with a curve, it is pulled to the faces on the polysurface - in this case there are successful pulls to faces which cannot be trimmed with the result. In V7, curves which lie on a face are not pulled but used directly - this trim works in V7…

-Pascal

1 Like

Sometimes, rebuilding a curve may not only work but give better results, as long as the rebuild is within your tolerances. I notice that even you green surface has what looks like extra segments/extruded-nodes which may won’t make the result any nicer.

Right but that’s the reason I made this thread. Why can’t they be trimmed? Because even in V6 when you do a rail from the exact same curves, they can be trimmed.

Glad to see it’s fixed in V7, but the amount of stuff that only get fixes in V7 is piling up for me now…


The answer is that when the exact same curves are edges it does not stupidly pull the entire curve to all the surfaces to be trimmed. That can create bits of pulled curve pieces that are not intended to be used.
. When it is a surface edge only the parts of the curve that are within tolerance of the surface are used to split that surface. The other side of that coin is the trimming will always fail if the edges are not within tolerance of the surfaces to be trimmed.

However that does not seem to be what is going on here. The reason your curves are failing is because they extend farther than they need to. If the trim curves are shortened so that they don’t extend past the edge the trimming works.

I’m curious how you made those curves, I ask because generally you won’t end up with curves that are extra long if you use the usual methods of getting curves on surfaces (pull, project, intersect etc)

1 Like

Heh, that’s an old Alias habit. Always extend past what you want to perform an operation on, because you can’t guarantee that stuff aren’t 0.001 off somewhere (or if you want to change trim direction/projection, extending past is much safer).

But thank you for the information.

I’ve made a habit now in V6 to always either fin or rail whenever I want to trim a surface. I essentially never trim with curves anymore since it’s so incredibly unreliable (with “flat curves” not being pulled, no explicit trim direction, etc).

That only works if the curves are on the surfaces to be trimmed (within tolerance).
To make that work you first have to get the curves onto the surface. There is probably a way with fewer steps to do this trimming.
For instance, if you are projecting a curve onto the surface you could just trim with the original curve. In that case it wouldn’t matter if the curve is extra long.