CQ-editor:CadQuery スクリプトをステップ実行できる PyQT 製 3D CAD GUI エディタ

タグ CadQueryCQ-editor3D CADPython CADPyQTパラメトリック設計STEPエクスポートオープンソースcolumnコラムlinuxLinuxwindowsWindowsmacGitHub
🚀 今すぐ試せます! デモスクリプトをダウンロードして、解凍後にターミナルで 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(工業規格)形式でエクスポートできます。

こんな人におすすめ

  1. 3D プリンタ愛好家・メイカー: FreeCAD や Fusion 360 のような GUI ではなく、Python コードで精密に寸法を指定してパーツを設計したいエンジニアやホビイストに最適です。寸法をパラメータ変数で管理できるため、サイズ違いの部品を一括生成できます。
  2. CAD を学ぶプログラマ: 3D CAD を「コードとして」学びたいソフトウェアエンジニアに向いています。CadQuery のスクリプト構文は Python なので、プログラミング経験があれば取り組みやすく、グラフィカルデバッガで処理過程を視覚的に追えます。
  3. プロダクト設計者・研究者: 治具・ブラケット・筐体など繰り返し設計が必要な部品を自動生成したい設計者や、形状生成をスクリプト化して再現性を高めたい研究者に有用です。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.txtentry_points.txtSOURCES.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 形状をコードとして記述するライブラリ。Workplanebox/cylinderfillet/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 モデリングにおける「作業平面」。XYXZYZ などの平面上でスケッチを描き、押し出して立体を作ります。