CQ-editor:CadQuery スクリプトをステップ実行できる PyQT 製 3D CAD GUI エディタ
bash ファイル名.sh を実行してください(中身を一度確認してから実行すると安心です)。
(macOS / Linux 環境が必要) ひとことでいうと
CQ-editor は、Python ベースの 3D CAD ライブラリ「CadQuery(キャドクエリ)」専用のグラフィカル IDE(統合開発環境)です。スクリプトを書きながら 3D モデルをリアルタイムに確認でき、デバッガでステップ実行しながらモデルの変化を追跡できます。OCCT(Open CASCADE Technology)というオープンソースの 3D ジオメトリカーネルを基盤としており、STL・STEP 形式へのエクスポートも標準でサポートしています。
このソフトで何ができる?
CQ-editor の中核機能は「CadQuery スクリプトをリアルタイムに 3D プレビューしながら編集する」ことです。お気に入りのテキストエディタで .py ファイルを保存するだけで、CQ-editor が変更を自動検出して 3D ビューを更新します(オートリロード機能)。また、CadQuery オブジェクトスタックインスペクタを使えば、スクリプトの途中で「現在のワークプレーン」や「選択中のフェース」を視覚的に確認しながら設計を進められます。完成したモデルは STL(3D プリンタ向け)または STEP(工業規格)形式でエクスポートできます。
こんな人におすすめ
- 3D プリンタ愛好家・メイカー: FreeCAD や Fusion 360 のような GUI ではなく、Python コードで精密に寸法を指定してパーツを設計したいエンジニアやホビイストに最適です。寸法をパラメータ変数で管理できるため、サイズ違いの部品を一括生成できます。
- CAD を学ぶプログラマ: 3D CAD を「コードとして」学びたいソフトウェアエンジニアに向いています。CadQuery のスクリプト構文は Python なので、プログラミング経験があれば取り組みやすく、グラフィカルデバッガで処理過程を視覚的に追えます。
- プロダクト設計者・研究者: 治具・ブラケット・筐体など繰り返し設計が必要な部品を自動生成したい設計者や、形状生成をスクリプト化して再現性を高めたい研究者に有用です。STEP 出力で CAM ソフトとの連携も容易です。
インストール・使い方
CQ-editor は conda 環境での導入が公式に推奨されています。pip でも試せますが、PyQT5 や OCCT バインディングが絡むため、conda の方が依存関係の解決が安定しています。
Step 1 — conda 環境のセットアップ(推奨)
conda install -c conda-forge -c cadquery cq-editor
Step 2 — 起動
cq-editor
# または
python -m cq_editor
Step 3 — pip でのインストール(代替)
pip install cq-editor
pip install cadquery
Step 4 — スクリプトを書いて 3D モデルを確認
エディタペインに CadQuery スクリプトを入力して保存すると、3D ビューが即座に更新されます。
import cadquery as cq
result = cq.Workplane("XY").box(10, 20, 5)
show_object(result)
動かしてみた
Docker 環境(Python 3.12.13)で pip インストールを実行したところ、CQ-editor のパッケージファイルが正常に展開されました。CQ_editor.egg-info/ ディレクトリ群(requires.txt・entry_points.txt・SOURCES.txt など)が生成されており、エントリポイントの登録まで完了していることを確認できました。
./CQ_editor.egg-info/requires.txt
./CQ_editor.egg-info/entry_points.txt
./CQ_editor.egg-info/SOURCES.txt
./CQ_editor.egg-info/PKG-INFO
./cq_editor/__main__.py
./run.py
メインモジュール cq_editor/__main__.py および run.py の存在も確認でき、python -m cq_editor での起動エントリポイントが用意されていることがわかります。GUI を伴うアプリケーションのため、ヘッドレス(ディスプレイなし)環境では実際の 3D ビューウィンドウを表示するには X11 フォワーディングまたは仮想フレームバッファ(Xvfb)が必要になる可能性があります。
ブラウザで試す(デモ)
CQ-editor 本体は PyQT5 ベースのデスクトップアプリのため、ブラウザでそのまま起動することはできません。ただし、以下のデモでは CadQuery スクリプトの書き方と、CQ-editor 上でどのような操作が可能かをインタラクティブに確認できます。サンプルコードをブラウザ上で表示し、各コードが生成する 3D 形状のイメージを把握する入口として活用してください。
はじめの一歩:最初に書く CadQuery スクリプト
CQ-editor を起動したら、まず以下のスクリプトをエディタに入力して保存してみましょう。
import cadquery as cq
# 10mm × 20mm × 5mm の直方体を生成
result = cq.Workplane("XY").box(10, 20, 5)
# 角に 2mm の面取り(フィレット)を追加
result = result.edges("|Z").fillet(2)
# CQ-editor に表示
show_object(result)
show_object() は CQ-editor が提供する特別な関数で、オブジェクトを 3D ビューに送り込みます。Workplane の引数を "XZ" や "YZ" に変えるだけで作業平面が切り替わります。ステップ実行デバッガ(F5 で起動)を使えば、.box() の直後や .fillet() の前後でモデルがどう変化するかを 1 行ずつ確認できます。
活用アイデア
- パラメトリック設計の自動化: ネジ穴の径・深さ・間隔をすべて変数で管理した Python スクリプトを書き、ループで複数バリエーションを一括 STEP 出力する。
- CI/CD への組み込み: CadQuery はヘッドレスで実行可能なため、
cq_editorの GUI なしに.pyスクリプトだけで STL を自動生成し、GitHub Actions 等で形状の差分チェックを行う。 - 教育・レクチャー用デモ: デバッガのステップ実行機能を使って、「押し出し → 穴あけ → フィレット」の 3D モデリング工程をプレゼン形式で説明する。
まとめと用語解説
CQ-editor は「CadQuery を快適に書くための専用 IDE」です。単体では 3D CAD の GUIを提供するアプリですが、CadQuery ライブラリ自体はヘッドレスでも動作するため、スクリプト自動化・CI 連携にも応用できます。
- CadQuery: Python で 3D 形状をコードとして記述するライブラリ。
Workplane→box/cylinder→fillet/chamferのように流れるような API チェーンで形状を組み立てます。 - OCCT (Open CASCADE Technology): CadQuery の内部エンジン。航空・自動車産業でも使われる産業グレードの 3D ジオメトリライブラリです。
- STEP 形式: Standard for the Exchange of Product model data の略。工業 CAD データの標準形式で、SolidWorks・Fusion 360 等との互換性があります。
- STL 形式: 3D プリンタで広く使われるメッシュ形式。CQ-editor から直接エクスポートできます。
- ワークプレーン: 3D モデリングにおける「作業平面」。
XY・XZ・YZなどの平面上でスケッチを描き、押し出して立体を作ります。