Smoothing surface of mesh

Hello! I have worked with these files:
1.3dm (402.7 KB)
1.gh (20.2 KB)

I am pretty happy with it so far, but there are often weird surface irregularities. I have also tried to add many different mesh smooth components, but none worked well.

It looks like that:

Does anyone have an idea how to make that smooth?

Now I have added a lot of components that make it a little better. But it is getting pretty slow to load, and the surfaces are sometimes still weird.


2.gh (19.4 KB)

Have you tried unifying the mesh normals? Blotches like this usually happen when some point in the opposite direction than the others.

1 Like

This looks like it is caused by the input curves rather than the downstream processing of the mesh.
To make smooth clean pipes, it helps to have an input without very short curves, tiny loops, or very tight angles.
I would recommend to fix this by simplifying the curve network before piping it.

1 Like

Many thanks for the answers!

I have restructured the file now like this:


file.3dm (292.4 KB)
file.gh (18.1 KB)

@diff-arch It doesn’t really get better by adding for example the UnifyNormals and RebuildMesh components. Did I try it in a wrong way?

@DanielPiker I have tried to simplify the curves, but then I get results like that:


I also feel like the current net doesn’t look too complex. Am I wrong?

Is it a general problem that the whole thing is based on the mesh edges?

I’m not familiar with the MeshEdges component that you use, but judging from your screenshot, you only seem to be utilizing the naked edges of your mesh. Try the AE output instead.

I also don’t get why you cast the MP output, which is a subdivision surface, to a brep (or polysurface) and then to a mesh. You can simply extract the subd control polygon, which is a mesh. If you want a smoothed mesh instead that more closely resembles the multi-pipe result, you can subdivide it with Catmull-Clark-subdivision from for instance the Weaverbird plug-in.

1 Like

@diff-arch Thank you for your answer!

I tried to understand and do what you wrote, and then this happened:


1.gh (8 KB)

What did I do wrongly?

Looks right to me! Now, if you want it smoother you need to dial up the subdivision levels - input L - of the Catmull-Clark-component. Two is usually a good compromise between smoothness and performance. Three is the maximum and super smooth.
If you see any dark blotches after smoothing, you can try to unify the mesh normals before the preview component.

Or isn’t this at all what you expected?

1 Like

@diff-arch Thanks! It’s better, but there are still such edges that are not smooth:


I think these are the node points where different curves come together. Is there a way to detect these points and tween them smoothly into the other mesh?

Can you upload your file, but with the Crv component data internalised? I don’t have the plug-ins you have so I can’t inspect the definition otherwise.

1 Like

@diff-arch I have minified it this way:


file.3dm (181.7 KB)
file.gh (9.1 KB)

Is it fine like that? Many thanks for looking at it!

Thanks, MultiPipe simply doesn’t seem to be up to the task in your case. For high valence vertices in your line graph - points with many adjacent edges -, it produces kinda undesirable geometry that leads to the darker blotches.

To remedy this, I’ve remeshed it with QuadRemesh, which gives a nice result in my opinion and the blotches are gone.

I’ve also removed a line/edge towards the bottom, because it caused the mesh to self-intersect, which is never desirable.

file-rev.gh (15.1 KB)

1 Like

This isn’t actually specific to MultiPipe - in all SubD surfaces (either as actual SubD objects or subdivided meshes) high valence vertices do not give great tangent/curvature continuity around the vertex, particularly when the surrounding faces are also elongated. This is a known limitation of Catmull-Clark subdivision.
I know there has been some work going on looking at improving this continuity when converting SubD to NURBS.
QuadRemeshing is a good way of reducing the issue here though.

@diff-arch Ohh, it looks really good! Thank you sooo much!

Just one additional question: How is it possible to make the curves more smooth? Some are a bit edgy right now.


@DanielPiker Interesting! Would be cool to have a plugin someday that fixes all these issues.

Beyond optimizing your line graph, I honestly don’t know.

@diff-arch Increasing the resolution with more mesh subdivisions probably won’t help since the basic shape is already given?

There many others way to smooth a mesh
Before


After

there are many tools to smooth a mesh, in Grasshopper and plugin but also in Rhino.

1 Like

@laurent_delrieu Now it’s perfect! Thank you so much!