Using Dynamo to perform triangulation on complex cross-sections?

Hello everyone! May I ask how to use Dynamo to triangulate complex cross-sections. I have tried “Delaunay.ByParametersOnSurface” nodes and meshes, but the results were not very good.


The effect I want to achieve is shown in the above picture

I might have a tool for this in my bag of tricks once I know more of the ‘why’.

Can you highlight your ‘starting’ data (I think it’s just the outside lines), and what the use once you have the mesh is?

I want to use this mesh division to achieve finite element numerical calculation of the cross-sectional characteristics of the surface.


This is the outer contour of the cross-section

This is the inner contour of the cross-section
I want to divide a triangular mesh between the area enclosed by the outer and inner contours (solid section area) to calculate some characteristics of the section, such as torsional moment of inertia

node.txt (218.0 KB)
These are the node coordinates (X, Y) of all contours, I think this will facilitate your understanding

That’s cool - what FE tool will you be using and how will you be calling it?

If the data comes from Revit/AutoCAD/Other it’s likely better to send those files instead of a text like this - there are a LOT of points here and how they are grouped isn’t entirely clear. I’m gonna try and wrap my head around it though and will let you know what I come up with for meshing it.

Beam.rfa (7.7 MB)
This is my family file.After importing it into the project and converting it to Importinstance, I used Plane to cut it to obtain the cross-section

This is the 2018 version file in Chinese environment

:astonished:

Time to upgrade! That’s so far out of support that there are multiple common dependencies with publicly disclosed exploits in your environment. HUGE red flag there.

The exact profile isn’t as important here as the understanding, so I’ll move on with a generic profile. You may have better luck pushing this directly into RSA for analysis as the workflow is a known and functional one if I recall correctly.

are you need it for cross section analysis pro. like area IXX IYY CG. or to seend it to the FEM for static analysis?

I would like to try creating a program adapted to Dynamo to calculate the Ixx of the cross-section, rather than using finite element software

also you can extract the FEM mesh from it.

1 Like

So it is certainly doable, but there isn’t a package out there that does it all, and it will take some C# code to make work well as at any reasonable scale of density things fall apart.

I was able to get this without too much work (~20 minutes or so), but it relies on some C# code which isn’t public at this time, and even then it wasn’t optimized for this but for other uses and as such it struggles mightily with the voids (as in ignores them entirely so we have to cut them after the fact). Wouldn’t be too hard to build something which works with that in mind, but it’s going to take a bit more than I have time for right now.

Looking into what @RMohareb just posted it’s likely best to utilize that for the time being if you’re not familiar with C# or don’t want to build your own stuff, but effectively what I did was create a custom version of the Delaunay Triangulation tools which Dynamo uses to do a 2d triangulation. The out of the box implementation for a 3d convex hull is here if you’d like to use it to get started: Dynamo/src/Libraries/Tesellation/ConvexHull.cs at master · DynamoDS/Dynamo · GitHub

1 Like

Thank you very much for your help!

Thank you, I will try It


cross.dyn (90.7 KB)

1 Like

Thank you for your selfless help!
By the way, it seems that the “Curve_. CurveGroup” node cannot be explained in my dynamo. Is this from which node package? And, can “Cross-Sectiom_properties. Cross-Section-Properties” directly obtain numerical values about Ixx?
image

If you don’t see a 'dependancy in the package manager it means it’s likely an out of the box node that is in a newer Dynamo build than you are using. Which version are you in? 2.18 is a good target for that if I recall.

1 Like

I have updated the usage version to Revit 2024+Dynamo2.19, but it still cannot be explained

Try PolyCurve.ByGroupedCurves as a possible alternative.

1 Like

Thank you, this has really helped me a lot!!