In this repository you can find the implementation of the framework described in "Volumetric nonwoven structures: An algebraic framework for systematic design of infinite polyhedral frames using nonwoven fabric patterns"
To use these blender files you need to have a stable release of blender 4.3+, which can be found here.
Shape generator can be controlled through the Geometry Nodes modifier inputs that can be accessed through the Blender interface:
There are in total 9 shape generators, each input is explained within the files through a README text embedded inside the file. It should be visible with main workspace, if not open up the text editor and choose it to view controls for the shapes.
All the description for the controls are given below
N: Base 10 representation of the binary string {0,1}^k represents, the base size of a column is determined by log2(N)
S: shift amount for each row
D: shift amound in X direction for each layer
Z: number of dual layers since all layers should have a warp and weft pair, total number of layers is N*2
Thickness: Controlls the thickness of the connections
Single/Tiled: Tiles the structure to a 3x3x3 domain
Subdivision Level: Subdivision iterations applied after construction
Wall Thickness: Controlls the wall thickness of the connections
X:
number of elements in X direction for the fundamental domain
Y: number of elements in Y direction for the fundamental domain
Z: number of elements in Z direction for the fundamental domain
A: Number of consecutive no connections for a single column
B: Number of consecutive connections for a single column
C: Shift amount for next row
D1: Shift amount for layers in X direction
Pipe Width: Width of the pipes
Shell Thickness: Controls the thickness of walls
Tile 3x3: Tiles the structure to 3x3x3 cube lattice
CC Subdivision Level: Subdivision iterations applied after construction
Skeleton Switch: Adds the skeletal structure to the model
X: number of elements in X direction for the fundamental domain
Y: number of elements in Y direction for the fundamental domain
Z: number of elements in Z direction for the fundamental domain
A: Number of consecutive no connections for a single column
B: Number of consecutive connections for a single column
C: Shift amount for next row
D1: Shift amount for layers in X direction
x: number of elements in X direction
y: number of elements in Y direction
z: number of elements in Z direction
A: Number of consecutive 0s
B: Number of consecutive 1s
C: Shift amount for next row
Y: Scale of the structure
D1: Shift amount for layers in X direction
D2: Shift amount for layers in Y direction
x: number of elements in X direction
y: number of elements in Y direction
A: Number of consecutive free elements
B: Number of consecutive connected elements
C: Shift amount for next row
Y: Scale of the structure
x: number of elements in X direction
y: number of elements in Y direction
A: Number of consecutive up crossings
B: Number of consecutive down crossings
C: Shift amount for next row
Z: Z-Scale of the weave
Y: Scale of the structure
NX: number of elements in X direction for the fundamental domain
NY: number of elements in Y direction for the fundamental domain
NZ: number of elements in Z direction for the fundamental domain
Thickness: Controlls the thickness of the connections
Subdivision Level: Subdivision iterations applied after construction
Seed: seed used for the random number
NX: number of elements in X direction for the fundamental domain
NY: number of elements in Y direction for the fundamental domain
NZ: number of elements in Z direction for the fundamental domain
Adic Number: Adic number used for the first row. If the number is less than 10^(NX-1) then the number contains leading 0. If the number is greater then 10*NX then the only firts NX digits of the number is considered
Shift1: shift applied for each row
Shift2: shift applied for each layer
NX: number of elements in X direction for the fundamental domain
NY: number of elements in Y direction for the fundamental domain
NZ: number of elements in Z direction for the fundamental domain
P_X: Probability of not having connection for X direction
P_Y: Probability of not having connection for Y direction
P_Z: Probability of not having connection for Z direction
Thickness: Controlls the thickness of the connections
Subdivision Level: Subdivision iterations applied after construction
Disable X Connections: Disables X Connections
Disable Y Connections: Disables Y Connections
Disable Z Connections: Disables Z Connections
Seed: seed used for the random number
To get different rendering of the shape you can use Blender's features which can be accessed through the viewport interface.
@article{yildiz2024adicVolumetricNonwovens,
title = {Volumetric nonwoven structures: An algebraic framework for systematic design of infinite polyhedral frames using nonwoven fabric patterns},
journal = {Computers & Graphics},
volume = {122},
pages = {103979},
year = {2024},
issn = {0097-8493},
doi = {https://doi.org/10.1016/j.cag.2024.103979},
url = {https://www.sciencedirect.com/science/article/pii/S0097849324001146},
author = {Tolga Yildiz and Ergun Akleman},
keywords = {Volumetric nonwoven structures, Shape algebra, Shape modeling and design, P-adic numbers}
}


