Dekal

Lightning fast implicit modeling.

The Dekal design tool

Dekal is building open-source implicit CAD design tools to enable rapid iteration in mechanical engineering.

As opposed to conventional BRep mechanical design software, which is crippled by slow sequential execution and topological instability, Dekal is built from the ground up to produce unbreakable geometry running lightning fast on parallel compute, such as GPUs.

Dekal's implicit modeling brings major benefits

Lightning fast

Dekal does not rely on a single giant sequential CPU operation like conventional CAD. Instead, implicit models are evaluated in parallel by sampling an array of 3D points on the GPU.

Unbreakable

Conventional CAD suffers from topological instabilities that lead to broken models that fail to rebuild. Implicit geometry doesn't suffer from that problem. Models always rebuild, and can be used in automated design improvement pipelines as a result.

Differentiable

Just like neural nets, implicit models are represented through a graph representing a giant mathematical function. As such, implicit models can be embedded in the same training processes used to train neural nets, where parameters get improved through gradient descent.

How does Dekal compare to conventional CAD?

Conventional "BRep" CAD
Implicit CAD
Object is defined by a collection of 2D surfaces in 3D space that define a closed volume.
f(u,v) = (x,y,z)
Object is defined through a function that maps a scalar value onto the 3D space.
f(x,y,z) = s, s ∈ ℝ
Geometry is produced by slow, sequential execution of CPU BRep database mutations using a geometry kernel.
Massively GPU parallelizable since each point can evaluate the function independently.
Geometry breaks if the topology changes.
Geometry is robust against topology changes.
One can select elements on the geometry and mutate them directly.
One can only mutate the geometry indirectly, by referring to elements of the function that produced it.

How does Dekal differ from existing implicit modelers?

Existing implicit modeler libraries mostly rely on the evaluation of closed-form mathematical expressions - such as addition, multiplication, exponential, sinusoid, etc. - to produce the geometry. See the operations supported in Matt Keeter's Fidget library for example.

This technique has proven to be suited for the generation of very complex 3D models, as demonstrated by the work of Inigo Quilez. But despite its philosophical elegance, there is a fundamental impedance mismatch between the power of implicit modeling and engineers' creative intent, as engineers rarely think in terms of fundamental mathematical operations to describe shapes.

Dekal aims to close that gap by providing engineers with a user interface that they are familiar with — sketches, curves, splines, surfaces — while evaluating the model using implicit modeling techniques to preserve its benefits over conventional BRep kernels.

FAQ