Lattice infill using custom cell in isopod plugin

I am working with the Isopod plugin to infill an STL file with a lattice structure. Instead of using TSMP, I want to use a custom mesh cell for infill while applying an inside offset to the original mesh. I have already tried the standard Infill definition, but I am unsure how to replace TSMP with my custom mesh cell.
Has anyone successfully implemented this? What’s the best approach to use a custom mesh unit cell for infill in Isopod? Any guidance or example definitions would be appreciated.

Thanks in advance!
isopod_lattice_infill.gh (21.6 KB)

What kind of custom cell do you have in mind?

While it would be possible to create a unit cell as an SDF of a mesh, it often makes more sense to define it from lines, equations, or combinations of other implicit primitives.

I have custom cell in mesh format

It would be easier to help if you post the geometry. It may be that this isn’t the best way to go about it.

For example, if the unit cell is a solid mesh, you can do it like this:


custom_infill_2.gh (167.9 KB)
However, depending on the actual geometry you have, there may be a better way, such as basing it on line segments:

custom_infill.gh (98.9 KB)

2 Likes

I’ve attached two STL files:

  1. A custom cell STL file
  2. A sample geometry STL file that needs to be infilled with the lattice structure
    CustomCell.stl (21.0 KB)
    uploads_files_3928291_rabbit (1).stl (2.8 MB)

In this case it would definitely be better to use the line segment based approach shown in the second part of my last reply, as the infill is clearly line based. While you could use the mesh, it would likely be much slower.

Here with your geometry, with the lattice unit input as lines:


custom_infill_rabbit.gh (247.6 KB)

custom_infill_rabbit Edited v0.gh (273.7 KB)

I scaled the unit cell by 80%, and then the infill broke. I tried to adjust the parameters but couldn’t understand why.

Ah, thanks for spotting this.
I see that the way I used the % operator in Array3dField assumes the cell being arrayed has its lower corner at the world origin.
It would be possible to modify the Array field operator to allow arbitrary positions, but I think the simplest solution here is to move the cell to the origin, and if scaling, scale about the origin.
custom_infill_rabbit_origin.gh (247.5 KB)

infillscale

1 Like