コンピュータ支援設計(CAD)ソフトウェアの開発は、歴史的に2つの異なる経路を辿ってきました。一つは手動の製図ツールがグラフィカルユーザーインターフェース(GUI)へと進化した道であり、もう一つは「Code CAD」の台頭です。Matt KeeterによるプロジェクトであるAntimonyは後者の典型であり、その系譜をLispマシンまで遡ります。画面上のオブジェクトを直接操作することに焦点を当てる従来のCADとは異なり、Code CADは3Dモデルをスクリプトや一連の命令の出力として扱います。このパラダイムシフトにより、ユーザーは視覚的なワークスペースで要素をクリックしてドラッグするのではなく、S-expressionなどのコードを通じて複雑な幾何学を定義することが可能になります。

このプログラムによるアプローチは、複雑で反復的、あるいは数学的に定義された構造を作成する際に大きな利点をもたらします。Hacker Newsのコメントでは、Code CADは特定の側面においてGUIベースのパラメトリックCADよりも直感的ではない場合があるものの、複雑なデザインを迅速かつ容易に構築する上では、多くの場合、はるかに強力であると指摘されています。これらのツールのエコシステムは大幅に拡大しており、OpenSCAD、PythonSCAD、CADquery、Build123Dといったプロジェクトは、変数やスクリプトを通じて幾何学を定義するさまざまな方法を提供しています。これらのツールにより、設計の論理を最終的な視覚的表現から切り離すことができる抽象化のレベルが実現されています。

しかし、多くのCode CADシステムで使用される構成幾何学(constructive geometry)のアプローチには、特定の技術的な課題が存在します。ユーザーは、OnShapeやSolidWorksのような従来のスケッチベースのシステムと比較して、エッジにフィレットや面取りを適用するといった特定の操作を純粋な構成モデルで実装するのは、大幅に複雑になる可能性があると指摘しました。Code CADはプログラムによる生成に優れていますが、これらの制限は、手動による幾何学的微調整の容易さと、スクリプト可能な高レベルの幾何学定義のパワーとの間の継続的なトレードオフを浮き彫りにしています。現在、この分野では、コード駆動の論理と従来のGUIベースのスケッチの両方の強みを組み合わせたハイブリッドな手法の探索が続いています。