Consistent mesh

Is there a way that I can take a surface and create a uniform mesh from it. The MeshToolKit doesn’t appear to let me do it. It says that it is controlled by Dynamo’s render precision which isn’t accurate, more of a global control. I want to be able to create a room (possibly irregular), generate a surface from it and convert it to a mesh at say 500x500mm resolution. Is this possible? Using UV subdivide is a bit painful because you need to work out the bounding box or ALL rooms. Was hoping for a similar method.

There was something similar discussed here but its not exactly the same issue: Custom Meshes


I don’t believe there’s anything like that for Dynamo. You could go for the average point approach and subdivide the surface until all resulting triangles’ areas are under a target area but the result won’t be very uniform. Vikram has posted one possible way on how to do that here:

This is what you can expect with that approach:

1 Like

The below approach should work in cases where points generated using Surface.PointAtParameter are all within the surface.
MeshFromSurface.dyn (6.9 KB)

In Dynamo, you could take a grid of points and project them down onto a surface, and then use these points to generate a mesh.

(I don’t quite understand what you mean by using a room)

It probably does not help you, but I have done something similar but using Civil3D- since it has in built tools to create grids of points from a surface. You can then bring this into Revit as a nice tidy topo, without loads of weird triangulation. (Although it looks neater, it is less efficient and less accurate)

@Dimitar_Venkov Like the animation
Don’t think it will impress @Paul_Wintour though :slight_smile:

Thanks for the response. Not exactly what I had in mind. I would prefer quads as much as possible. The projection method could work but for many surfaces I would imagine it would get very heavy/slow. i guess too that there is no way to ensure that when projecting you will hit the edges and corners of the surface.

@Paul_Wintour The definition provided with my post above converts a surface to a mesh (with quads) where the density of the quads can be controlled. (The limitation is that it only works with rectangular surfaces)
Here is a screenshot that highlights this aspect …

//Dividing surface and grouping points

//Index Groups

Hi Vikram

I need to be able to extract room polylines, convert them to a surface and then turn it into a quad mesh. So the workflow needs to be able to accept irregular shapes.

@Paul_Wintour Should be able to alter the code to accept irregular shapes.
Curved edges might end up being segmented, though.
Will work on it.

@Paul_Wintour This should work with irregular shapes.
MeshFromSurface-1.dyn (6.1 KB)

//Dividing surface and grouping points


//Index Groups


Hi Vikram
Isn’t this a UV subdivide which results in irregular sized mesh faces? I’m trying to ensure the faces are all (more or less) the same size.

I thought it was, but Dynamo doesn’t seem to think so (not always, at least). And I’m not sure anymore :smirk:

@Paul_Wintour Upload a sample sketch of a simple irregular surface with a rough pattern.

Hi Vikram. Mostapha from Ladybug has been working on the creating a consistent mesh from a surface. I haven’t had a chance to test it out yet.

1 Like

Hi @Vikram_Subbaiah! The code is great, but I have a question. How can I modify it to get a more regular mesh in the case of a pentagon? If I do it with this code, this happens.

1 Like