Skip to content

Latest commit

 

History

History
70 lines (55 loc) · 6.6 KB

documentation.md

File metadata and controls

70 lines (55 loc) · 6.6 KB

Documentation

Axolotl Palette

Primitives

Icon Name Description Inputs Output(s)
sphere axSphere Creates a sphere r: sphere radius
c: center point
d: the sphere object (sdf)
box 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)
cylinder axCylinder Creates a cylinder. r: radius of the cylinder
h: height of the cylinder
p: plane of origin
d: the cylinder object (sdf)
torus axTorus Creates a torus. r1: radius of the "donut" (axis)
r2: radius of the pipe
p: plane of origin
d: the torus object (sdf)
plane axPlane Creates a series of planes. n: list of normal vectors
o: offset distance from the origin
d: the plane objects (sdf)

Geometry

Icon Name Description Inputs Output(s)
pipe 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)
mesh 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)
surface axSurface Creates an SDF by thickening a surface. s: the surface
t: the thickness (half on either side)
d: the surface object (sdf)

Combinations

Icon Name Description Inputs Output(s)
union axUnion Creates a Boolean union. a: list of / single sdf object(s)
b: second sdf object
d: the union object (sdf)
intersection axIntersection Creates a Boolean intersection. a: list of / single sdf object(s)
b: second sdf object
d: the intersection object (sdf)
subtraction axSubtraction Creates a Boolean subtraction a-b. a: sdf object to subtract from
b: sdf object to subtract
d: the intersection object (sdf)
blend 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)
morph 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)

Modifications

Icon Name Description Inputs Output(s)
transform 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)
shell 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)
twist 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)
overlay 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)

Lattices

Icon Name Description Inputs Output(s)
lattice 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
tpms 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
noise axNoise Volumentric Perlin Noise. w: the wavelength (default = 16)
a: the amplitude (default = 4)
d: the noise object (sdf)

Meshing

Icon Name Description Inputs Output(s)
octree 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)
isosurface 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)
isosurface 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)
densegrid 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

Analysis

Icon Name Description Inputs Output(s)
gradient 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