FlowAlongSrf PreserveStructure=No - very dense result - why?

As you can see in the video, I have a very clean network surface.
But when I use FlowAlongSurface it becomes very dense, which is a big disadvantage for FlowAlongSrf.
Cand this be improved or avoided?
(I cannot PreserveStructure=Yes in this case, because my edges won’t match)

FlowAlongSrf No PreserveStructure.3dm (2.5 MB)

Thank you!

That’s what PreserveStructure=no does. What if you use PreserveStructure=yes only on the denser surface? After that extend the surface and retrim the green surface to get a better match.

FlowAlongSrf No PreserveStructure_SG.3dm (348.3 KB)

Hi @Gijs , I tried most options for this command and it has a lot of potential!
I used it very often over time, one of my favourites.

But users stay away from it mostly because of this dense surface results with PreserveStructure=no.

The way I do it is: flow along surface the edge curves that define the surface and once they are on location I rebuild the surface. (especially with grasshopper)

Another common method is to just use meshes instead of surfaces.

I would really love to see this densification fixed somehow - it would make Rhino even more strong.

What would fix this for you? The densification is tolerance based.

btw I just noticed that your base surfaces have a positional deviation already of 0.456 mm, so in fact the method I described should already work without too much modification if the base surfaces are good.

Somehow, when the Flow happens, it should transform the Isocurves the way it transforms mesh edges.
The geometry will land exacatly into place and it will also preserve structure.

Your thinking that will result in a perfect with with the target surface is simply wrong, that’s not how the math works.

Of curse it will.
It will preserve the structure of the isocurves and land exactly into place.
It’s a combination between PreserveStructure=Yes (keeps same iso) and PreserveStructure=No (edges land into place)

No, if it did there would be no reason for this “PreserveStructure” option in the first place.

For one example, it is literally impossible to match up one surface edge to another “exactly” if they differ in degree. And that’s just edge to edge, not edge to some arbitrary curve along a surface in any direction. And of course FlowAlongSrf is not even actually trying to do that, it is applying a transformation to the entire object, whether anything is “on” the target surface or not is irrelevant.

I disagree. It should be possible just like CageEdit does the transform.
If it’s possible with CageEdit it should be possible with FlowAlongSrf.

You are entirely mistaken that CageEdit can do some special magic that FlowAlongSrf can’t.

Again, why does this option exist if you think it’s not needed?

@JimCarruthers , you’re totally not convincing.
Look, FlowAlongCurve does it also.

“Again, why does this option exist if you think it’s not needed?” - not saying is not needed!
I am arguing for another mode. Preserve, yes, no should stay as they are and implement something extra.

You are making no sense and not listening. I’m done with you and your GPT slop no one cares about.

Oh, thank you very much for staying away from my posts Jim.

What you are showing for meshes, does not apply. Meshes are not further refined, so PreserveStructure yes/no doesn’t matter.

When you transform the green surface with preserve = no and the black with preserve=yes, the resulting edges are close in deviation (0.454 vs .486):

If you model it a bit more carefully and give the black surfaces an extra set of knots to work with you can get into file tolerance:

@Gijs
preserve = no and the black with preserve=yes - getting constructive here, thanks :smiley:

Basically this is what a regular user will see… a bit confusing.
How would you know how to pick between preserve yes and preserve no.
Because, usually users are inclined to pick preserve=No because that mode keeps the edges consistent for both black and green, but they get dense isos and Rhino goes in Not Responding mode. Which in the end, makes them avoid FlowAlongSrf altogether.

well, your green has almost no points to deform, whereas the black has. So with preserve= yes for the green Rhino cannot modify that surface enough to match it with the target surface’ shape.

So the cool thing would be… what if Rhino has another mode for FlowAlongSrf that makes the right decision for the user?

Because if you have 100 surfaces, is pretty tedious to manually pick between Yes and No.
You would like to pick all of them and flow them in one go.

what is the metric for right? Rhino is not aware of what you are deforming or any condition you have between the objects you are deforming.

I know… I’m describing a problem here… not offering a solution.

Problem:
If there are 100 surfaces to FlowAlongSrf, The user will have to test for each of those surfaces twice. That means 200 operations and Not Responding states.

If FlowAlongSrf is solved “correctly” by the software:
User can flow those 100 surfaces is one go.

Also, even if you have 100 surfaces in a model, and sometimes you have to Flow… there’s always testing involved between those two modes.