Is there a way to project the vertices of a mesh onto another larger mesh (that surrounds the first mesh). The catch is that the vertices that are being projected onto the larger mesh need to be in the same direction (should be in the same path that the normal component occupies) that the vertices were in the smaller/first mesh.
Unfortunately, I am not able to share the file I am working with because of security/copyright issues. Let me know if there is anything I could clarify with.
yes just use MeshRay component from the Intersect >> Mathematical tab and DeconstructMesh component from Mesh >> Analysis tab for the Vertices and Normals.
Thanks! This helps to a degree, but unfortunately, it only provides a new set of points. However, when I want to create a mesh using those points and the faces of the first mesh, they don’t align well. Here is a local picture of what I mean:
and I’ve attached a really simple example using two spherical meshes, one inside the other but with different numbers of vertices, and I’m projecting the vertices from the inner mesh out along the mesh normals to the second, outer mesh and then creating a new mesh.
It looks like some of your projected points miss the mesh where you expect them to hit and hit it down one of the arms so you will get weird mesh faces.
It sounds like an odd strategy to me… are you trying to inflate the inner mesh to take on the form of the outer mesh?
Is the inner mesh the right topology but the outer mesh is the right shape?
@martynjhogg
Yes to both your questions. Unfortunately, it doesn’t run as smoothly as your sphere example. Do you know why that is?
It is important to note that there are 17 points (out of over 4500) where the MeshRay returns Null for (I believe that there is no point in the outer mesh that coincides with that inner point). So, for those 17 points I use the MeshClosestPoint method to replace it. Do you think that has anything to do with the issue? Also, the 17 points are no where near the face-point misalignment issue, rather they are at the edge if the mesh.
@martynjhogg.
Thanks. That was my problem and I tried using MeshClosestPoint and the same issues occurs. I tried doing a hybrid of closestpoint and MeshRay and that still creates issues. As far as I am aware, MeshMachine doesn’t work either. Also, Kangaroo’s MeshMap doesn’t seem to work either. Any ideas?
Thanks!
I’m no expert on MeshMachine but when I have used it I’ve found you need to carefully work out the input parameters to get it to do what you want.
I think MeshMap requires both meshes to have exactly the same topology.
This is a hard problem to comment on because you cannot share much info. Can you explain why you have an inner mesh with the correct topology and an outer mesh with the correct form? Is the outer mesh a scanned object?
Hi all!
I’m reviving this topic as I have found mysef in a simmilar situation.
I’m projecting vertices from one mesh to another. Points are projected in Z-direction from a planar triangular mesh on a desired mesh shape. I suppose it shouldnt be that hard to reconstruct the planar mesh topology on a curved one, but when I use Delaunay I don’t get the uniform result. I have solved the problem with culling mesh faces I dont’ need, it’s the regularity of triangulation that I want to retain.
Pics should be quite self explanatory…