Quadremesh Edge Length as in Rhino

It is pretty frustrating when one encounters things that are possible in Rhino but not in Grasshopper.

Quadremesh with Target Edge Length is one of those.

Referencing these threads:

A solution was provided that basically approximates a quad count given an edge length. But it fails when the edge length is smaller than 1. For instance if you need an edge length of 0.55 meters.

It seems the option is not even exposed in API?

Edge Quad Remesh.gh (154.1 KB)

That example gh file uses the Integer Division component. Use the standard Division component which can handle your request to divide floating point numbers…

Also the API added TargetEdgeLength to Rhino 7 SR 8. It does exactly the same thing by computing the target quad count based on the area / sqr(TargetEdgeLength). This is what the Rhino command does.

https://developer.rhino3d.com/api/rhinocommon/rhino.geometry.quadremeshparameters/targetedgelength

Target Edge Length Quad Remesh.gh (15.0 KB)

1 Like

That ‘target edge length’ option in that dialogue is pointless, the way it’s setup imo.

Without allowing ‘adaptive size %’ and ‘target quad count’ – the edge length doesn’t make any sense.

Imagine the equivalent of being forced to mesh like this:

image

You do realize that the Target Edge Length is just auto computing the Target Quad Count? This is why Target Quad Count gets disabled when its active. Bringing in Adaptive Size would completely negate the formula by allowing the mesh to further optimize face counts. Defeating the work you just did.

Target edge length is simply making this calculation to set the target face count.

Target Quad Count = mesh area / sqr(TargetEdgeLength)

This computes the required number of quad faces needed to have edge lengths as close as possible to the target edge length.

2 Likes

Oh so normal division does it? Why are we using integer division then?

We have three different formulas to do the same thing?

  1. area * sqr(TargetEdgeLength) (Rhino and API)
  2. area / TargetEdgeLength^2
  3. area \ TargetEdgeLength ^2

:cyclone: _ :cyclone:

Guess I will just go with 1. if that is what Rhino command is doing. Thanks!

Edit use this one people: area / TargetEdgeLength^2

Sorry, its a typo… use division.

1 Like

Also, if using this to split surfaces accurately as a grid as one might do for panels on a facade, the paneling tools is the correct grasshopper plugging to use: Equal Grid Across Surfaces

I think I understand the theory. While I’ve had less success with those settings, I prefer the other strategy.

I’ll have to do review to figure out what I was saying before lol

This formula is less successful for (me) some reason. I doubt that development is complete on this matter.

That is the theory. Unfortunately, Rhino doesn’t do a thorough enough job adding the appropriate amount of faces necessary for success – in my experience using those settings you mentioned.

Maybe V8 ‘beta’ or ‘release’ will work better in this regard. Or even, the same strategy but using GH.

Waiting for V9 wip :upside_down_face: