Volumetric Modelling components for Rhino Grasshopper.

| Icon | Name | Description | Inputs | Output(s) |
|---|---|---|---|---|
| axSphere | Creates a sphere | r: sphere radius c: center point |
d: the sphere object (sdf) | |
| axBox | Creates a box with an optional edge fillet. | a: length along the x axis b: length along the y axis c: length along the z axis r: edge fillet radius p: plane of origin |
d: the box object (sdf) | |
| axCylinder | Creates a cylinder. | r: radius of the cylinder h: height of the cylinder p: plane of origin |
d: the cylinder object (sdf) | |
| axTorus | Creates a torus. | r1: radius of the “donut” (axis) r2: radius of the pipe p: plane of origin |
d: the torus object (sdf) | |
| axPlane | Creates a series of planes. | n: list of normal vectors o: offset distance from the origin |
d: the plane objects (sdf) |
| Icon | Name | Description | Inputs | Output(s) |
|---|---|---|---|---|
| axPipe | Creates a pipe along a curve. | c: the axis curve r1: radius at the start of the curve r2: radius at the end of the curve |
d: the pipe object (sdf) | |
| axMesh | Creates a distance field from a mesh. If the mesh is closed, points inside will return negative values. |
m: the mesh | d: the mesh object (sdf) | |
| axSurface | Creates an SDF by thickening a surface. | s: the surface t: the thickness (half on either side) |
d: the surface object (sdf) |
| Icon | Name | Description | Inputs | Output(s) |
|---|---|---|---|---|
| axUnion | Creates a Boolean union. | a: list of / single sdf object(s) b: second sdf object |
d: the union object (sdf) | |
| axIntersection | Creates a Boolean intersection. | a: list of / single sdf object(s) b: second sdf object |
d: the intersection object (sdf) | |
| axSubtraction | Creates a Boolean subtraction a-b. |
a: sdf object to subtract from b: sdf object to subtract |
d: the intersection object (sdf) | |
| axBlend | Creates a smooth blend union. | a: first sdf object b: second sdf object f: smoothing factor (default 2.0) |
d: the blend object (sdf) | |
| axMorph | Morphs one object into another object. | a: first sdf object b: second sdf object f: morphing factor f=0>d=a, f=1>d=b d=(1-f)*a+f*b |
d: the intermediate object (sdf) |
| Icon | Name | Description | Inputs | Output(s) |
|---|---|---|---|---|
| axTransform | Applies a matrix transformation to an object. | x: the sdf object to be transformed m: the 4x4 transformation matrix (e.g. translation, rotation, shear…) |
d: the transformed object (sdf) | |
| axShell | Creates a shell from a solid. | x: the solid sdf object t: thickness of the shell s: side factor (1: inside, 0.5: half/half, 0: outside) |
d: the shell object (sdf) | |
| axTwist | Creates a twist object (works only for those who have a get_bounds method). | x: the solid sdf object to be twisted a: the twist angle |
d: the twist object (sdf) | |
| axOverlay | Creates an overlay by adding a fraction of object b to object a. | a: the base sdf object (modified) b: the object to be added (modifier) f: intensity factor d = a + f * b, default: 0.01 |
d: the modified object (sdf) |
| Icon | Name | Description | Inputs | Output(s) |
|---|---|---|---|---|
| axLattice | Creates one of different types of lattices. | l: the type of lattice (see output n for dictionary of names) u: the unit cell size t: thickness of the struts |
d: the lattice object (sdf) n: dictionary of lattice names |
|
| axTPMS | Creates a micro-structure / lattice using triply periodic minimal surfaces (TMPS). | i: index - 0: Gyroid - 1: SchwartzP - 2: Diamond - 3: FischerKoch - 4: Lidinoid - 5: Neovius w: the wavelength |
d: the lattice object (sdf) n: list of TPMS names |
|
| axNoise | Volumentric Perlin Noise. | w: the wavelength (default = 16) a: the amplitude (default = 4) |
d: the noise object (sdf) |
| Icon | Name | Description | Inputs | Output(s) |
|---|---|---|---|---|
| axOctree | Creates a sparse voxel octree (SVO) subdivision. | x: the sdf object used for distance calculation p: the center point of the root node (default: 0,0,0) d: the edge length of the root node (default: 6.0) n: the maximum number of subdivisions (default: 4) |
t: the octree object, t.leafs is a list of leaf nodes (for MC meshing) |
|
| axMCubeOctree | Creates a marching cubes isosurface from an octree. | t: the subdivided octree | m: the isosurface mesh p: the leaf node center points (for debugging) |
|
| axMCubeGrid | Creates a marching cubes isosurface from a dense grid. | b: the bounding box (same as for axDenseGrid) v: the distance values n: the resolution tuple (nx, ny, nz) |
m: the isosurface mesh p: the leaf node center points (for debugging) |
|
| axDenseGrid | Samples a SDF object in a dense grid. | b: the bounding box d: the (approximate) spacing of the points o: the distance object |
p: a list of points, xyz order v: a list of distance values corresponding to the points n: a tuple with the number of points (nx, ny, nz), for the MC component |
| Icon | Name | Description | Inputs | Output(s) |
|---|---|---|---|---|
| axGradient | Calculates the gradient vector for every p in pts. | x: the sdf object used for distance calculation pts: a list of points for which to calculate the gradient e: epsilon, the offset distance from p to calculate central difference |
a: a list of 3d vectors for each point in pts |