Draw it like Euclid: Teaching transformer models to generate CAD profiles using ruler and compass construction steps

Siyi Li, Joseph G. Lambourne, Longfei Zhang, Pradeep Kumar Jayaraman, Karl. D. D. Willis
1/14/2026
cs.LGcs.GR

No confident code implementation found for this paper.

Abstract

We introduce a new method of generating Computer Aided Design (CAD) profiles via a sequence of simple geometric constructions including curve offsetting, rotations and intersections. These sequences start with geometry provided by a designer and build up the points and curves of the final profile step by step. We demonstrate that adding construction steps between the designer's input geometry and the final profile improves generation quality in a similar way to the introduction of a chain of thought in language models. Similar to the constraints in a parametric CAD model, the construction sequences reduce the degrees of freedom in the modeled shape to a small set of parameter values which can be adjusted by the designer, allowing parametric editing with the constructed geometry evaluated to floating point precision. In addition we show that applying reinforcement learning to the construction sequences gives further improvements over a wide range of metrics, including some which were not explicitly optimized.

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{li2026draw,
  title  = {Draw it like Euclid: Teaching transformer models to generate CAD profiles using ruler and compass construction steps},
  author = {Siyi Li and Joseph G. Lambourne and Longfei Zhang and Pradeep Kumar Jayaraman and Karl. D. D. Willis},
  year   = {2026},
  eprint = {2601.09428},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2601.09428v1}
}

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/2601.09428.svg)](https://codeofpaper.com/paper/2601.09428)

Discussion