一辺60 mmの立方体を作り、その上面を直径16 mmの球でくりぬいて、サイコロの「1の目」を作ります。
上のボタンからPythonSCADの画面を開いてみましょう。コードを入力する欄と、そのすぐ下に3Dモデルが表示される欄があるのがわかりますか?
上側がプログラムの「コード」を書く場所、下側が完成した3Dモデルが表示される場所です。
ここにPythonの命令を打ち込みます。
コードを実行すると、すぐ下に3Dで表示されます。
コードを書いただけでは右側の画面に形は現れません。3Dモデルを表示(更新)するには、以下のどちらかの方法で「実行」する必要があります。毎回使うので覚えておきましょう!
PythonSCADを開くと、最初からサンプルのコードが入力されています。
まずは、上の方法(「再生ボタン」か「Shift+Enter」)で3Dモデルを表示してみましょう。
表示されたら、右側の画面をマウスで操作して、3Dモデルを色々な角度から観察してみましょう。
今回はゼロからサイコロを作っていくので、画面の右上にある「Code」ボタンをクリックして、新しい画面を準備しましょう。これで準備は完了です!
はじめに、一辺60 mmの立方体を作ります。どのようなコードを書けばよいか考えてみましょう。
from pythonscad import * # 一辺60 mmの立方体を作成 box = ??? show(box)
立方体を作る命令は cube([Xの長さ, Yの長さ, Zの長さ]) です。今回作りたいのは一辺が60mmなので、X・Y・Zすべてに同じ数字を入れます。
先ほどの立方体は、角が原点に置かれています。立方体の「中心」を原点に合わせるようにコードを変更してみましょう。
from pythonscad import * # 中心を原点に合わせて立方体を作成 box = cube( [60, 60, 60], ??? ) show(box)
かっこの中に center=True という「オプション」をカンマ区切りで書き足すだけで、中心が原点に合います。
次に、サイコロの目を作るための「球」を作成します。直径16 mmの球を作ってみましょう。
from pythonscad import * # 直径16 mmの球を作成 ball = ??? show(ball)
球を作る命令は sphere(r=半径, fn=64) です。「直径」が16 mmのとき、「半径(r)」はいくつになるでしょうか?
立方体の上面は、原点からZ方向に30 mmの位置にあります。作成した球が立方体の上面に乗るように、移動させてみましょう。
from pythonscad import * # 球を作成 ball = sphere(r=8, fn=64) # 球をZ方向に30 mm移動 ball = ball + ??? show(ball)
図形を移動させるには、元の図形に [Xの移動量, Yの移動量, Zの移動量] を足します。今回はZ方向(上)にだけ30mm動かします。
最後に、重なった2つの図形を使って、立方体から球を「引き算」し、サイコロの目(くぼみ)を完成させましょう!
from pythonscad import * # (立方体:box と 球:ball の作成は省略) # 球を立方体の上面に移動 ball = ball + [0, 0, 30] # 立方体から球をくりぬく dice = ??? show(dice)
図形の引き算は、普通の計算と同じように -(マイナス)の記号を使います。立方体から球を引きましょう。
ここまでの内容をまとめ、寸法を変数として定義し直した、より美しいコードです。