Problem with creating functionally graded lattice structure

I need to create a tetrahedral lattice infill within a hemispherical cup. I looked into several methods of doing so and intralattice was working well in creating a model with uniform porosity.
The main problem is that I need to vary the strut thickness radially and from the pole to the equator. I’ve tried using heterogen gradient and heterogen custom but the options available there were too limited and I can’t get the spherical grading type in preset gradient to work.

Do you have any advice for using this specific tool, and are there any other plug-in’s or methods that could be used along with intralattice to achieve the result of a graded density?

Thank you. Any help would be greatly appreciated.

intra_t4.gh (45.2 KB)

Hello
thic sentence is not clear "

If it is radial, it means from center to exterior. Pole to equator means for me the axe Z.

Here a solution that use a quad mesh in order to have oriented struts Radially.
there is also a variation of radius along Z axis




intra.gh (59.6 KB)

1 Like

Thank you so much for your help! I was able to create a gradient along z axis as intended.

Is it possible to feed an array of strut radius into volume to points, so that the radius is set of custom values which follow a user defined function?

intra_z_gradation.gh (165.3 KB)

Thank you!

With Dendro I don’t know better way than making a radius per point.

For sure there could be different function for each strut and after these function applied to the points of the strut.
You could use a graph mapper for changing the radius depending on the height, it could be a function …
Radius Of point = f(x,y,z)
Radius Of point = f(strut number, x,y,z)

Meshing the struts could also be an option. Join the mesh before using Dendro it is more efficient to have one mesh than multiple meshes. In Rhino/Grasshopper one mesh could be made of multiple closed meshes.

What have you in mind? What kind of function? There is quite no limitations. The only one will be to provide a radius that is more than 3 * the voxel size.

I was thinking whether it was possible to feed a table of strut radius corresponding to each point, from an external source (for eg. a .csv file) into volume to points.

The columns of the table are x, y, z, strut radius. These radius values are obtained based on optimization method.

For sure it is possible. You’ll find many scripts to read csv on this forum or old forum.
If you post an example somebody will surely help you.

Thanks a lot for your help!!

Hi Laurent,

Could you please help me with converting the volume obtained using dendro to a mesh? I tried exporting to stl after baking the geometry but I’m not getting the adjust mesh option in stl export options dialog box.

Is it possible to change the mesh settings before baking the geometry as I noticed the baked model has a much finer refinement than necessary.

Thank you. Any help would be appreciated.

You can change the settings to some extend. It seems that the Voxel size has no effects. You have to chose a Voxel size adapted to the geometry you want.
But the adaptivity has effects


This mesh could also be remeshed in Rhino. It must be done before the STL saving.

Hi Laurent,

I am trying to create a shell at the inner surface of the hemisphere and trim the part of lattice protruding the shell.
I created a boundary volume using 3 surfaces (2 revolved and one ruled surface) and then used mesh brep to get the mesh. I want to join the lattice reduced mesh and the shell into a single mesh and then use mesh boolean difference to trim the mesh using the inner surface of the hemisphere.

Both the mesh union and mesh boolean difference command in rhino are taking a lot of time. Is there a faster method to do this?

Any help would be appreciated. Thank you!

You can use Dendro to make union difference addition smoothing …

Volume difference worked! Thank you so much!

Hi Laurent,

I noticed that the model has 3 separate mesh (one for the inner thin body and 2 meshes (one open and one closed) in the lattice structure. This is creating some problems in the analysis of the model.

In materialise mimics software I noticed that the volume of the open and closed shells within the lattice structure are significant and hence cannot be deleted.

Could you help me with why this is happening? The problem is that it’s showing a single mesh in rhino but when I import the model into an analysis software, it’s 3 meshes.

Hard to help without any file. But it is important to know that in dendro if there is differents volumes there are not merged until you use the Union volume tool. So it is important :

  • To flatten data (list)
  • For the input mesh it why I use join mesh in order to have a single mesh (that doesn’t mean it is a single solid) but Dendro will merge everything
  • When you convert Volume to mesh use the disjoin mesh of Grasshopper so you’ll probably see many independent meshes.