JupyterCADを使ってみよう!#1 作図の基本【各図形の寸法指定と基本作図】

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

※本ページはプロモーション(広告)が含まれています。当サイトは各種アフィリエイトプログラムに参加しており、リンク経由で報酬を得る場合があります。詳しくはプライバシーポリシーをご確認ください。

JupyterCADはJupyterLab上で動作するブラウザベースの3DCADツールです。通常のCADソフトと大きく異なるのは、Pythonコードで図形を生成・配置できる点です。寸法や座標をコードで管理するため、パラメータを変えるだけで形状を瞬時に修正できます。

使える図形は直方体・円柱・球・円錐・トーラスの5種類。それぞれ数行のコードで生成でき、色や配置座標も自由に指定できます。この記事では各図形のパラメータの意味と実際に動くコードをまとめました。
建設・製造業の設計補助や、Pythonで自動作図を試したい方はぜひ参考にしてください。

目次

JupyterCADの特徴

✅ JupyterCADの得意なこと3選
🖥️
ノートブック上で
そのまま確認できる
コードを実行するとセルのすぐ下に3Dビューワーが表示。別ソフトを起動する必要なし。
📐
寸法をコードで管理
Excelとの同期も可能
変数1つ変えるだけで即反映。for文で一括生成、Excelリンクによる自動作図も可能。
🆓
無料・pip 1行で
使用開始できる
ライセンス費用ゼロ。pip install jupytercad の1行だけで3DCADをPythonから操作できる。
⚠️ JupyterCADの苦手なこと3選
🔄
他CADソフトとの
互換性が低い
FreeCAD(.FCStd)には対応。ただし .dwg・.step・.iges などの業界標準形式は非対応。
🔷
作れる形状に
限りがある
基本5種類(直方体・円柱・球・円錐・トーラス)のみ。複雑な曲面やスイープには非対応。
🈚
日本語の情報が
ほぼない
海外発ツールのため日本語ドキュメントが少ない。エラー解決に英語情報が必要になる場面も。

CADデータの拡張子は「.jcad」になります。
互換性はFreeCADのみ確認しており、一般的なCADデータとは直接的な互換性はありません。
他CADで使用するにはFreeCAD経由で拡張子を変える必要があります。

つかだ

他CADとの互換性のなさから、正直実務性はありません😅
しかし大変手軽に作図できるプログラミング3D CADですので、Pythonで3Dモデリングの概念を学ぶ入門ツールとして最適です。
「コードで3Dを作る」感覚をつかむには十分すぎるほどの機能があります!

準備:JupyterCADのインストール

STEP
JupyterCADライブラリをpipインストール

JupyterDesktopを起動したら、内蔵ターミナルで以下を実行します。
!pip install jupytercad

STEP
Jupyterを再起動するとJupyterCADが使用可能になります

再起動するとランチャーに「CAD File」が追加されています。

JupyterLabランチャーに追加されたCAD Fileアイコン
つかだ

JupyterCADには純正の日本語化パッチはありません。
以下の記事で日本語化の方法を解説してますので、ぜひご活用ください!

JupyterCAD日本語化の解説はこちら!

導入:JupyterCADの基本形

新規作成/CADを開くCadDocument()

① 新規作成

まっさらな状態からCADファイルを作るときは CadDocument() を引数なしで呼び出します。

from jupytercad import CadDocument

doc = CadDocument()          # 新規作成
② 既存ファイルを開く

すでに作成済みのファイルに図形を追加したい場合は、ファイル名を引数に渡します。

from jupytercad import CadDocument

doc = CadDocument("design.jcad")   # 既存ファイルを開く
③ あれば開く・なければ新規作成(条件分岐)

実用の場面の作業では、ファイルがあるかどうかわからない場面があります。
pathlib を使えば1つのコードで両方に対応できます。

# ライブラリのインポート
from jupytercad import CadDocument
from pathlib import Path

# ファイル名を指定
cad_data = "design.jcad"

# あれば開く、なければ新規作成
if Path(cad_data).exists():
    doc = CadDocument(cad_data)
    print(f"既存ファイルを開きました: {cad_data}")
else:
    doc = CadDocument()
    print(f"新規作成します: {cad_data}")

図形を追加するadd_xxx()

docへ格納したCADフォルダへ作図を書き込んでいきます。

doc.add_box(name="Box1", length=50, width=100, height=30)
つかだ

各図形の作図法詳細は本記事の次項で説明します!

共通引数(全図形)

引数説明
namestrオブジェクト名(重複不可)
positionlist配置座標 [x, y, z](省略時は原点)
colorstr色(HEXコード or 色名)

CADを保存するsave()

saveの引数にCADのパスを渡すと、CADが保存できます。
新規作成もCADを開いても同様のコードで保存できます。

doc.save("design.jcad") 

ノートブック上でCADをインライン表示するdisplay()

JupyterCADの面白い機能のひとつが、ノートブックのセル出力に3DビューワーをそのままTable示できる点です。コードを実行するとセルのすぐ下にCAD画面が現れ、マウスで回転・拡大しながら確認できます。

display()で3DCADをセル出力します

from jupytercad import CadDocumentfrom IPython.display
import display

display(doc)  # ← セルの下にCADビューワーが表示されます。

または下記のようにCadDocumentが格納された変数を書くだけでも可能です!

from jupytercad import CadDocumentfrom IPython.display
import display

doc  # ← セルの下にCADビューワーが表示されます。

作図の基本テンプレート

このテンプレートが

# ライブラリのインポート
from jupytercad import CadDocument
from IPython.display import display
from pathlib import Path

# ファイル名を指定
cad_data = "design.jcad"

# あれば開く、なければ新規作成
if Path(cad_data).exists():
    doc = CadDocument(cad_data)
    print(f"既存ファイルを開きました: {cad_data}")
else:
    doc = CadDocument()
    print(f"新規作成します: {cad_data}")

# 作図コードを記載
doc.add_box(name="Box1", length=50, width=100, height=30, color="red")

# 保存
doc.save(cad_data)

# セルの下にCADビューワー表示
display(doc)
つかだ

コード下のセルで図面を確認できます!
マウスで回転や拡縮も可能で、セル内でぐるぐる触ることもできます!

JupyterCADのセル内3Dビューワー表示画面

表示されたビューワーはマウスドラッグで視点を自由に変えられるので、
コードを書きながらリアルタイムで形状を確認するのに便利です。

① 直方体(Box)

最も基本的な図形です。縦・横・高さを指定します。

直方体(Box)のパラメータ一覧表

パラメータ一覧

パラメータ意味単位
nameオブジェクト名(任意)
lengthX方向の長さ(奥行き)mm
widthY方向の幅mm
heightZ方向の高さmm
position配置座標 [x, y, z]mm
color色(色名、またはHEXコード)

コード例

# 幅100mm × 奥行き50mm × 高さ30mm の直方体
doc.add_box(
    name="Box1",
    length=50,    # 奥行き
    width=100,    # 幅
    height=30,    # 高さ
    position=[0, 0, 0],
    color="red"
)

② 円柱(Cylinder)

円柱(Cylinder)のパラメータ一覧表

半径と高さで定義します。配管や柱の表現に使えます。

パラメータ一覧

パラメータ意味単位
nameオブジェクト名
radius断面の半径mm
height高さmm
position配置座標 [x, y, z]mm
color色(色名、またはHEXコード)

コード例

# 半径20mm × 高さ80mm の円柱
doc.add_cylinder(
    name="Cyl1",
    radius=20,
    height=80,
    position=[150, 0, 0],
    color="blue"
)

③ 球(Sphere)

球(Sphere)のパラメータ一覧表

半径だけで定義できるシンプルな図形です。

パラメータ一覧

パラメータ意味単位
nameオブジェクト名
radius半径mm
position配置座標 [x, y, z]mm
color色(色名、またはHEXコード)

コード例

# 半径25mm の球
doc.add_sphere(
    name="Sph1",
    radius=25,
    position=[300, 0, 0],
    color="green"
)

④ 円錐(Cone)

底面半径・上面半径・高さで定義します。上面半径(radius2)は0より大きい値を指定してください(0にするとエラーになります)。

パラメータ一覧

パラメータ意味単位
nameオブジェクト名
radius1底面の半径mm
radius2上面の半径(0より大きい値)mm
height高さmm
position配置座標 [x, y, z]mm
color色(色名、またはHEXコード)

コード例

円錐(Cone)のコード例と実行結果
# 底面半径30mm → 上面半径1mm(先端に近い形)× 高さ60mm
doc.add_cone(
    name="Con1",
    radius1=30,
    radius2=1,    # 0はNG!0より大きい値を指定
    height=60,
    position=[450, 0, 0],
    color="yellow"
)

⚠️ 注意: radius2=0 を指定すると ValidationError: ICone Radius2 Input should be greater than 0 が発生します。先端を尖らせたい場合は radius2=0.1 などの極小値を使ってください。

色の指定について

トーラス(Torus)のパラメータ一覧表

ドーナツ形状です。外径半径と断面半径の2つで定義します。

パラメータ一覧

パラメータ意味単位
nameオブジェクト名
radius1トーラス中心から断面中心までの距離mm
radius2断面の半径mm
position配置座標 [x, y, z]mm
color色(色名、またはHEXコード)

コード例

# 外径半径30mm・断面半径8mm のトーラス
doc.add_torus(
    name="Tor1",
    radius1=30,
    radius2=8,
    position=[600, 0, 0],
    color="purple"
)

色の指定方法は2種類

JupyterCADの色指定は2種類使えます。

# ① 色名で指定(シンプル)
color="red"
# ② HEXコードで指定(自由度が高い)
color="#E74C3C"

色名はそのまま英語で書くだけなので直感的です。
より細かい色を使いたい場合はHEXコード(# + 6桁の英数字)で指定します。

JupyterCADの色指定方法(色名・HEXコード)の説明

HEXコードはカラーパレットサイト Color Hunt が便利です。おしゃれな配色がセットで公開されているので、複数の図形に統一感のある色をつけたいときに重宝します。気に入ったカラーをクリックするとHEXコードをそのままコピーできます。

つかだ

公式ドキュメントでは色の指定方法としてHEXコードのみを紹介しています。“red”などの色名指定は今回検証で発見したものですが、アップデートにより使えなくなる可能性があります。
※本記事では簡易化のため色名指定を採用しています

JupyterCAD公式ドキュメント

set_color(namevalue)

Set the color of an object.Parameters:

  • name (str) – The name of the object.
  • value (str) – The color in hex format (e.g., “#FF5733”).

全図形をまとめて描画するサンプルコード

5種類の図形を色付きで横一列に並べるサンプルです。

# ライブラリのインポート
from jupytercad import CadDocument
from IPython.display import display
from pathlib import Path

# ファイル名を指定
cad_data = "design.jcad"

# あれば開く、なければ新規作成
if Path(cad_data).exists():
    doc = CadDocument(cad_data)
else:
    doc = CadDocument()

# 直方体(赤)
doc.add_box(
    name="Box1",
    length=50, width=100, height=30,
    position=[0, 0, 0],
    color="red"
)

# 円柱(青)
doc.add_cylinder(
    name="Cyl1",
    radius=20, height=80,
    position=[150, 0, 0],
    color="blue"
)

# 球(緑)
doc.add_sphere(
    name="Sph1",
    radius=25,
    position=[300, 0, 0],
    color="green"
)

# 円錐(黄)
doc.add_cone(
    name="Con1",
    radius1=30, radius2=1, height=60,
    position=[450, 0, 0],
    color="yellow"
)

# トーラス(紫)
doc.add_torus(
    name="Tor1",
    radius1=30, radius2=8,
    position=[600, 0, 0],
    color="purple"
)

# 保存 & 表示
doc.save(cad_data)
display(doc)

for文で複数の図形を並べる

同じ図形を繰り返し配置するときはfor文が便利です。

from jupytercad import CadDocument

doc = CadDocument("design.jcad")

colors = ["#E74C3C", "#F39C12", "#2ECC71", "#3498DB", "#9B59B6"]

for i in range(5):
    doc.add_box(
        name=f"Box_{i+1}",
        length=30, width=30, height=30,
        position=[i * 50, 0, 0],  # 50mm間隔で並べる
        color=colors[i]
    )

doc.save("design.jcad")
display(doc)
print("5つの直方体を配置しました")

パラメータまとめ表

図形主なパラメータ注意点
直方体length / width / height
円柱radius / height
radius
円錐radius1 / radius2 / heightradius2は0より大きい値
トーラスradius1 / radius2radius1>radius2にすること

まとめ

JupyterCADの図形はすべて position=[x, y, z] で配置座標を指定します。単位はmmです。コードでパラメータを管理できるので、寸法変更が必要なときもコードを書き直すだけで済みます。

つかだ

次回の記事では図形の組み合わせと座標指定で、
本格的なモデリングに挑戦してみます!

あわせて読みたい

よかったらシェアしてね!
  • URLをコピーしました!

コメントお待ちしてます!

コメントする

CAPTCHA


目次