FlatCAD: Fast Curvature Regularization of Neural SDFs for CAD Models

Haotian Yin, Aleksander Plocharski, Michal Jan Wlodarczyk, Mikolaj Kida, Przemyslaw Musialski
6/19/2025
cs.GRcs.CVcs.LG

No confident code implementation found for this paper.

Abstract

Neural signed-distance fields (SDFs) are a versatile backbone for neural geometry representation, but enforcing CAD-style developability usually requires Gaussian-curvature penalties with full Hessian evaluation and second-order differentiation, which are costly in memory and time. We introduce an off-diagonal Weingarten loss that regularizes only the mixed shape operator term that represents the gap between principal curvatures and flattens the surface. We present two variants: a finite-difference version using six SDF evaluations plus one gradient, and an auto-diff version using a single Hessian-vector product. Both converge to the exact mixed term and preserve the intended geometric properties without assembling the full Hessian. On the ABC benchmarks the losses match or exceed Hessian-based baselines while cutting GPU memory and training time by roughly a factor of two. The method is drop-in and framework-agnostic, enabling scalable curvature-aware SDF learning for engineering-grade shape reconstruction. Our code is available at https://flatcad.github.io/.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{yin2025flatcad,
  title  = {FlatCAD: Fast Curvature Regularization of Neural SDFs for CAD Models},
  author = {Haotian Yin and Aleksander Plocharski and Michal Jan Wlodarczyk and Mikolaj Kida and Przemyslaw Musialski},
  year   = {2025},
  eprint = {2506.16627},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2506.16627v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2506.16627.svg)](https://codeofpaper.com/paper/2506.16627)

Discussion