PythonベースのCADプログラミングライブラリ「build123d」がGitHubで注目を集めている。Open Cascadeの幾何学カーネルを基盤とし、パラメトリックな2D・3D CAD設計をコード化できるツール。現在1.6kのスター、172のフォークを獲得。308件のIssueと21件のプルリクエストがアクティブに管理されており、開発コミュニティが活発に機能拡張を進めている状況だ。
従来のCADツール(AutoCAD、SolidWorks等)は商用プロプライエタリソフトウェアが主流で、設計プロセスの自動化が困難だった。3Dプリント・CNC加工・レーザーカッティング産業が急速に拡大する中、設計データの再利用性・バージョン管理・パラメトリック変更への対応が経営課題となっている。build123dはこの課題に対し、Pythonの簡潔な記法でCAD設計を実装可能にすることで、「CAD-as-Code」の実現を目指す。Apacheライセンス採用で商用利用も制限なし。
build123dは「境界表現(BREP)」方式の3Dモデリングを採用。ユーザーは従来のマウス操作ではなく、Pythonコードで幾何学的操作を記述する。主な特徴は以下の通り:
最小限の内部状態管理 - モードに応じた状態フラグを極力排除し、函数型プログラミングの原則に準拠。
明示的な1D・2D・3D幾何クラス - Edge、Wire、Solid等の型システムで設計ロジックの正確性を確保。
代数的オペレータ記法 - 例えば obj += sub_obj や Plane.XZ * Pos(X=5) * Rectangle(1, 1) のように、直感的な式で複合操作を表現。従来のGUIメニュー階層をコード行で置き換える。
Python標準との深い統合 - リストセレクタ、イテラブル位置オブジェクト、型ヒント(pylance互換)により、既存Pythonスキルの活用を最大化。
FreeCAD・SolidWorks等への出力対応 - 設計したモデルを標準形式でエクスポート可能。
コードベース2,648コミット、PEP 8準拠、mypy型チェック、pylint静的解析の実装など、エンタープライズレベルの保守性基準を採用。ドキュメント、チートシート、Discordコミュニティが整備され、初学者の学習環境も充実している。Contributing.mdにより貢献プロセスも明確化。
製造現場の自動化加速 - 従来手作業だった設計修正・バリエーション生成がPythonスクリプトで即座に実現可能。
バージョン管理の実現 - CADファイルがテキストベース化により、Gitによる設計履歴管理・チーム協業が容易に。
パラメトリック設計の民主化 - 高額な商用CADソフトの購入が不要となり、特にスタートアップ・中小製造企業の導入障壁が低下。
レガシーCADツールの統合 - 既存FreeCADプロジェクトとの相互運用で移行コスト最小化。
公式GitHubリポジトリより、以下の流れでセットアップ可能。
GitHub Discussions、Issues、Discordコミュニティでの質問投稿も活発。フリーソフトウェアゆえ、独自機能拡張のための内部実装カスタマイズもPythonレベルで可能。
この記事はAI業界の最新動向を速報でお届けする「AI Heartland ニュース」です。