Im using the morph between meshes component from crystallon because I would like to generate a tetrahedral cell lattice. When using Pufferfish I can tween my two meshs perfectly with as many subdivisions. However, with the MBM component in crystallon if I add a subdivision, the equivalent of the pufferfish tween mesh has a different topology or is somehow miss-aligned as it generates a twisted lattice.
Any ideas on work arounds/ how I can still make a lattice between my two meshes that isnt a simple cubic
TwistedBoxVsMBM.gh (43.7 KB)
Hi Luca,
How were these meshes created? This is pretty interesting because your meshes don’t share the exact same topology. The have the same vertex order but different face order… Which makes me wonder how it works with pufferfish. I wouldnt call this a bug in Crystallon, but for now, if it works with pufferfish, go ahead and use those twisted boxes from pufferfish as your voxels in Crystallon for the rest of the lattice components.
Huh thanks. I also realized earlier i could use the twisted box. Im a beginner, how do you check the vertex and face order? The way I built them is a bit frustrating (trimmed surfaces → brep mesh → quad remesh → and then iteratively remeshing the inner one until the face and vertex count is the same as that of the outer surface mesh → custom python script to reorder the vertices (didnt realise this doesnt automatically order faces as well) I assume there is a better way to do this but this is what I managed to make work.
TwistedBoxVsMBM.gh (407.9 KB)
That sounds like a wild process. There’s probably a better way. Feel free to email me info@fequalsf.com
The vertex reordering script sounds interesting. Would you be willing to share it?
I think you got lucky that pufferfish worked. I’m assuming that it is ignoring face order in the meshes and using the face order of only one of the meshes. That could be an option I could add to the component. But otherwise, I think retaining face order is important for other things.
To be fair a lot of it is from chatGPT as I was not familiar at all with the Rhino and grasshopper python methods so it’s nothing too interesting. The script itselft does a sorting algorithm for shortest distance between the vertices and then using np arrays just reorders them. Never considers faces so that’s probably the issue as you mentioned. I kind of had to abbandon this idea as I was also running into some serious manufacturing problems trying to 3d print these lattices anyways.