algorithmic modeling for Rhino
Hi everybody,
I am trying to create a mesh for FEM shell analysis using Karamba's "Mesh Breps" component. I have a quite simple revolution surface I want to mesh, but the result I get has badyl distorted elements at the top of the dome:
is there a way (with or without Karamba) to produce a mesh that doesn't care about u-v coordinates of the brep, and results in a more FEM-friendly element geometry?
A bit like this:
Best regards
Stefan
Tags:
In a first step, you can use the mesh smoothing of karamba's mesh Breps component. the vertices will stick to the surface (as opposed to the normal laplacian smoothing).
another way, which will completely ignore your uv's in the end, is kangaroo. either you build up a mesh relaxation, or use the built-in remeshing component which also supports topology changes during relaxation. this should probably come closest to your reference for the most general case of distorted uv spaces.
also, starling is quite a good remesher i think, but havent got much experience with it.
i have an adopted version of ray's periodic global parametrization meshing here for grasshopper, but this is beyond what you want to do i guess.
that's what i can think of right now.
best,
Robert
Hi Robert,
Great to hear you've done something for periodic global parametrization in grasshopper - I'd be interested to hear more!
Regarding remeshing with Kangaroo - for unstructured triangular meshes, the script I posted here:
(http://www.grasshopper3d.com/xn/detail/2985220:Comment:997587)
using Plankton is an improvement over the actual component I've currently included in Kangaroo (eventually it will replace it, but it is still a work in progress).
Hi Stefan, this does sound like a bug, but it might be one of the ones Will has recently fixed. However I couldn't test your file because the internalized starting Brep isn't showing up (part of this gh bug maybe). Could you post the Rhino input geometry separately?
Anyway, as a way around this for now, you could possibly bake it into Rhino and use CullDegenerateMeshFaces and AlignMeshVertices.
here you go...
( in the attached gh file, the brep is referenced for convenience)
for those interested:
I took the liberty of modifying Daniel's script a wee bit, namely
Best regards
Stefan
This is fantastic.
I'd been thinking it would be necessary to have something inside Plankton to keep track of which edges lay on feature lines (and making sure that this is maintained during remeshing - eg when splitting an edge, the 2 new edges are also marked as features, and so on), but updating all the affected parts would be quite a bit of work.
Yours is actually a more direct solution, and seems very effective (I'd been concerned that doing a closest point on curve search for each point at every iteration would be much too slow, but it doesn't seem to be a problem.
Thank you Stefan for sharing!
Thanks so much for sharing this modified version. Its incredibly helpful for the type of remeshing I'm working on. I'll post some results soon.
I have created another small mod to work with 2 meshes as source and pull-to target mesh, if anyone's interested.
im testing the file, but for what for are those parameters point and curve?
I think that they are used for curves that you want to have edges on them for the mesh and points that you want to be vertices of the mesh. Like the MeshMachine component has as input.
Hi Stefan!
I have tried your script as well as Daniel's script, but when I connect it to a timer after some iterations I get an error: "Index was outside the bounds of the array (line 143)". I get the same error for Daniel's script and when using the MeshMachine component parts of the mesh disappear in every iteration until there is no mesh left. Do you have any idea why is this happening?
Thank you in advance for the help :)
Best,
Stavroula.
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by