Kinematic Voxel Carving: A Framework for Procedural Mechanism Synthesis

1. Abstract

This document outlines a computational framework for generating 3D mechanical linkages—specifically gears and kinematic couplings—using Voxel-Based Topology Optimization. Unlike traditional CAD methods that rely on analytical geometry (e.g., involute curves), this system “discovers” optimal mechanical shapes by simulating the kinematic constraints of rotating or moving bodies within a discretized voxel grid.

By defining the motion paths and bounding volumes of two or more bodies, the system iteratively solves for a configuration where bodies maximize their volume without violating spatial constraints. This approach enables the creation of non-standard gears, print-in-place locking mechanisms, and complex organic linkages that are mathematically difficult to describe but physically functional.


2. Core Philosophy

The central thesis of this engine is Kinematic Subtraction over Time combined with Cellular Automata (CA) Smoothing.

  1. Implicit Definition: We do not draw teeth. We define motion and volume. The teeth are the emergent result of these definitions.
  2. Resolution Agnostic: The physics are solved at a coarse level first. High-fidelity details are only calculated where necessary (at the interface surfaces).
  3. Structural Emergence: Connectivity and structural integrity are enforced via local neighbor rules (CA), preventing “floating islands” of geometry.

3. System Architecture

3.1. The Body Definition

A “Body” is a container for a voxel grid and its kinematic properties.

3.2. The Voxel Grid

Instead of a Cartesian grid or Octree, the system utilizes a Cylindrical Voxel Grid optimized for rotational bodies.


4. The Solver Engine

The solver operates in a loop of Constraint Application and Volume Optimization.

4.1. The Constraint Matrix

The fundamental rule is: Two bodies cannot occupy the same point in World Space at the same time $t$.

Let $V_A$ be a voxel in Body A and $V_B$ be a voxel in Body B. For a full rotation cycle $t \in [0, 360^\circ]$:

  1. Transform $V_A$ to World Space: $P_{world} = T_A(t) \cdot V_A$.
  2. Transform $P_{world}$ into Body B’s local space: $P_B = T_B(t)^{-1} \cdot P_{world}$.
  3. If $P_B$ lands inside a voxel coordinate currently marked SOLID in Body B, a Constraint Violation is recorded.

4.2. Optimization Strategy (Maximally-Filled)

We do not simply subtract B from A. We want both to be as large as possible to ensure strength.

4.3. Handling Locking and Interference


5. Iterative Resolution & Refinement

To make this computationally feasible, we use a Multigrid Approach.

Phase 1: Coarse Solve

Phase 2: Boundary Detection

Phase 3: Sub-division (Refinement)


6. Cellular Automata (CA) & Structural Integrity

Raw kinematic subtraction often leaves “floating islands” (debris) or impossibly thin connections. We solve this using Voxel Neighborhood Fitness Functions akin to Cellular Automata rules.

The “Life” Rules for Mechanical Voxels: After every constraint pass, run a CA simulation:

  1. The Island Rule: If a voxel has 0 neighbors, it dies (becomes EMPTY).
  2. The Strut Rule: If a voxel has only 1 neighbor, it is structurally weak. It either dies (pruning) or triggers a “growth” event to connect to a nearby solid (reinforcement), depending on user settings.
  3. The Smoothing Rule: If an EMPTY voxel is surrounded by $\ge 6$ SOLID neighbors, it becomes SOLID (filling internal voids).
  4. The Axis Anchor: Voxels touching the central rotation axis are immutable (infinite fitness). Connectivity is traced from the axis outward. Any voxel not connected to the axis via a chain of neighbors is culled.

7. Potential Applications

This engine allows for the generation of mechanisms that are difficult to design in CAD:

  1. Non-Parallel Axis Gears:
    • Simply define Axis A as vertical and Axis B as tilted $45^\circ$. The solver will naturally carve Hypoid or Bevel geometries without the user needing to know the complex math.
  2. Variable Ratio Gears:
    • Define the rotation speed of Body A as constant, and Body B as a sine wave. The system will generate Non-Circular Gears (elliptical/nautilus gears).
  3. Print-in-Place Assemblies:
    • Define a “gap tolerance” (e.g., 2 voxels). The solver ensures that even at the tightest mesh point, there is a physical gap, allowing the mechanism to be printed pre-assembled and fused, then broken free.
  4. Internal/Cavity Gears:
    • Body A is a sphere, Body B is a star shape inside it. The system generates a 3D internal track mechanism.

8. Implementation Roadmap

Step 1: The Data Structure

Step 2: The Kinematic Loop

Step 3: The Constraint Solver (Coarse)

Step 4: The CA Post-Processor

Step 5: Refinement & Meshing


9. Conclusion

This document describes a generative design engine that trades analytical precision for simulation-based robustness. By treating mechanical design as a space-time constraint problem, we can automate the creation of complex, functional, and novel mechanisms ready for digital fabrication.