How to stitch/join mesh at non manifold edges?

Hello everyone!

How can I stitch the mesh at non manifold edges (along blue lines below)?

I’m a rookie GH user, so sorry for my easy question.

GH file attached.

Tamas Hornyak (12.3 KB)

What’s the reason you want to join the meshes without thickness?

If this needs to be joined into a mesh with non-manifold edges, you could split the input surfaces before creating the meshes. I baked and split the surfaces in Rhino and internalized the geometry again. (17.3 KB)

For this:

Screen Shot 009
You should do that:

But the result (cyan Edge is connected to more than 2 Faces) MAY could yield bananas when attempting to extract Connectivity data.

More or less the same approach for the rest of " bracket" Edges.

That said that sort of modelling via Meshes is 100% wrong.

Dear Martin,

Thank you for your reply.

I’m a steel structural engineer and I would like to analyse a 16m high steel chimney containing 7 segments. In general, one segment consists of one cylinder, two flanges on both ends and some stiffeners around the perimeter (as you could see in the attached file).

Generally, we pre-process (clean, repair etc) the solid STP geometry of the chimney in ANSYS SpaceClaim software and convert it to shell geometry. After that we mesh the model in ANSYS AIM to make Finite Element Analysis. See the resulting mesh below in this case. As you can see the mesh is joined at the common edges: 1) at cylinder -to- flange connection 2) at stiffener -to- flange connection 3) at stiffener -to- cylinder connection. We achive this topology by “imprintig” (projecting) the edges to the surfaces, and switch the mesh settings to “Shared Topology”.

Imprinted edges in ANSYS SpaceClaim (some stiffeners are hidden):

Now, I need to analyse the chimney in another FEA software, which is not as sophisticated as ANSYS (for shell calculations), thus I need to generate the mesh in another software (Rhino/Grasshopper). After that I export this mesh, and import it to the FEA software, and define shells with a given thickness for the mesh elements (quads/triangles).

So the goal is to achieve the above presented mesh in Rhino/Grasshoppers.

What you sent seems good, but if I define a finer mesh, it will not be joined at manifold edges:

How can this problem be solved?

And how did you split the surfaces in Rhino (which command)? Can I somehow “imprint” (project) the pink colored lines only as in ANSYS?

Thank you in advance.

You will have to change the Mesh Settings. (23.7 KB)

I changed the settings based on your suggestions (in my own file), but the mesh looks like this:

See attached file: THO_test_4.

If I use your file (THO_test_3), the mesh looks good.

What is the difference between the two files? I don’t see any differences. (17.1 KB)

I’m not at my computer. Compare the inputs on the mesh settings it might be that you have stitch enabled…

Yes, you are right, thank you.

Last question: how did you split the input surfaces along the connecting lines in Rhino, which commands did you use? Can I split the surfaces easily and automatically somehow for all of the other stiffeners as well?

For your example I drew a line from the center to the end of the stiffener and scaled the line so it starts and ends beyond the outside diameter of the circle. I used this line to split the surfaces.

In case your stiffeners are spaced equally, you can draw a line from the center outwards to a stiffener, extend the curve and then create a polar array.

Your solution can work for simpler parts of the structure, but there are more complicated parts, see the picture below:

That’s why I need an easy and fast/automated workflow or an universal method, which could recognize the intersecting surfaces and could make splits or imprint (project) edges to the surfaces.

Can you provide a Rhino file with a few stiffeners and varying tubes like the screenshot above?

STEP and Rhino files attached:
CHIMNEY_SHELL_lower-segment-only.3dm (703.8 KB)
CHIMNEY_SHELL_lower-segment-only.stp (684.8 KB)

I’ve tried all sorts of things but ran into a lot of new problems.

Found some good clues for remeshing searching this forum for posts by @DanielPiker .

Below is a part of your chimney. So far I think the ribs and horizontal parts need to be remeshed separately and then joined later on. Unfortunately there are some mesh edges going the wrong way. (56.2 KB)

I also found a command called MergeBreps which can be used to merge surfaces into an open brep with manifold edges but I couldn’t get it to work properly and furthermore TriRemesh doesn’t seem to remesh non-manifold geometry.

You mean this kind of solid? (not done with Rhino)

Solid_Tubes.stp (1.5 MB)

If yes why not union the parts that you want (if Rhino can do it) and then convert to mesh (if Rhino can do it) and then perform any FEA post proccess required?

But … what has to do a surface modeller with classic solid ops?

Thank you for your effort. I have Rhino 6 thus the TriMesh object of Kangaroo2 (2.5.3) is unrecognized in Grasshopper.

I will investigate your GH file/sreenshot and try to learn the most from it.

Maybe I will try some Mesh or FEA plugins from Food4Rhino to achieve a continuous mesh more easily.

Yes I meant that kind of Solid. I attached what geometry I got. I cleaned this geometry first then converted to Surfaces.
Lower-segment-solid.stp (16.8 MB)

You can remesh with Kangaroo but I don’t have Rhino 6 running anymore so I woon’t be able to help you.

Well … just for the shake of it I’ve tested that 17 mb STP using AECOSim (Parasolids Solid Engine) then CATIA v6 and then Siemens NX 12 (also Parasolids on duty) . All report a variety of issues notably in the neighbor (“contact”) faces: for instance you can’t union the pieces into one (that’s a classic test for the integrity of the solid modeling). Anyway I can’t get the gist of the whole issue of yours: since you have Solids on hand (good or bad) why bother with the so called sheet modelling ???

1 Like

The FEA software, which I need to use to analyse the structure, can work only with Beam finite elements or Shell finite elements.