Resemble and optimize problems



i resembled a cylindrical surface as mesh, and tried to optimize it - but nothing good came out.

2.3dm (961.6 KB)

The reference geometry is a cylinder, i exploded, deleted the top and bottom, and _rebuilt in rhino.
Then i placed a mesh box around it, deleted top and bottom, joined and _etwelded, subdivided, and optimized.

There is a seam in it, which causes a singularity as well. How can i solve that? What did i wrong?

(Alexander Schiftner) #2

Hi, I can’t download your model to check it, the link says “The page you requested doesn’t exist or is private”, please review it.
Probably you need to optimize further or make the initial mesh a bit closer to the reference geometry. Which importance values did you use?


Should work. Here in my db:

It was SurfaceCloseness and CurveCloseness set.

But i managed it by setting the curvature to 1. I was trying what parameter in the optimization process is how important, and what it does exactly.

Next i tried to set those vertices coplanar to XY plane normal. But it doesnt look normal. What do i wrong? Coplanarity is set to 3.

(Alexander Schiftner) #4

Please try the example below:

  1. Setting the reference surface

  2. etOptionsImportance: SurfaceCloseness=1, CurveCloseness=1, FairnessCurvature=0.1

  3. etOptimize after a few steps (reference surface hidden). The mesh polygons become as straight as possible, because FairnessCurvature minimizes curvature.

  4. There are several possibilities to change this behavior, e.g.
    – fix boundary vertices at preferred location,
    – use etSetVerticesCoplanar (you might need to use FixedPlane in this case, NormalToXYPlane is not enough because the plane will rotate)
    – use a different fairing measure, e.g. FairnessSprings as shown in the following:


Aaah, okey. Thanks! That means that the “coplanarity” force is not strong
enough because of the strong concave and convex shape?

I realised that there is no recalculation of the original mesh, its always
a recalculation of the parent? (if i spelled that right) - whats means that
you cannot go back to the first step back when you made some opimization

(Alexander Schiftner) #6

Coplanarity optimization works, but the result probably is not what you would expect. If I understood correctly you chose plane type NormalToXYPlane. The yellow polyline in your screenshot seems to be contained in such a plane (normal to the xy plane), however this plane is not at all normal to the reference surface. As an example you can influence this by moving the top and bottom vertices to your preferred location and fixing them.

About your second question: I didn’t fully understand it, maybe this answers your question: If you create a mesh by using etSubdivide, the relation between parent and child mesh will also be used for optimization. The parent mesh will be optimized such that the child best fulfills the criteria you specify. If you don’t care about the subdivision relation (and gain more degrees of freedom for optimization), simply cut the relation between parent and child by using "etDecoupleSubdivision.