© 2025 STUDIO TAMA

✅ Inputs
- brick_w: float – レンガの幅(X方向)
- brick_h: float – レンガの高さ(Z方向)
- brick_d: float – レンガの奥行き(Y方向)
- num_x: int – X方向のレンガ数
- num_z: int – Z方向の段数
- gap_x: float – レンガ間のX方向隙間(横の目地)
- gap_z: float – レンガ間のZ方向隙間(縦の目地)✅ Outputs
- results: list of Box – レンガブロックの集合体✅ Code
import Rhino.Geometry as rg
# === 🔧 パラメータ例 ===
# brick_w = 200.0 # レンガの幅(X方向)
# brick_h = 60.0 # レンガの高さ(Z方向)
# brick_d = 100.0 # レンガの奥行き(Y方向)
# num_x = 20 # X方向のレンガ数
# num_z = 40 # Z方向の段数
# gap_x = 4.0 # レンガ間のX方向隙間(横の目地)
# gap_z = 4.0 # レンガ間のZ方向隙間(縦の目地)
# === 🧱 レンガ配置処理 ===
results = []
for z in range(num_z):
z_pos = z * (brick_h + gap_z)
is_odd = z % 2 == 1
x_offset = - (brick_w + gap_x) / 2 if is_odd else 0
for x in range(num_x):
x_pos = x * (brick_w + gap_x) + x_offset
base_pt = rg.Point3d(x_pos, 0, z_pos)
box = rg.Box(
rg.Plane(base_pt, rg.Vector3d.XAxis, rg.Vector3d.YAxis),
rg.Interval(0, brick_w),
rg.Interval(0, brick_d),
rg.Interval(0, brick_h)
)
results.append(box)ライセンス・利用規約
| 項目 | 可否 | 説明 |
|---|---|---|
| 自身のプロジェクトへの組み込み | ○ | 個人・商用問わず、スクリプトや作品の一部として自由に使えます。 |
| コードの改変・学習利用 | ○ | 自身の学習や、目的に合わせたカスタマイズは大歓迎です。 |
| SNSへのシェア・紹介 | ○ | 作品の画像やURLのシェアは許可不要です。ぜひご紹介ください! |
| 再配布・転載 | × | コードやファイルを丸ごと自身のサイト等でコンテンツとして公開しないでください。 |
| 素材・プログラムとしての転売 | × | 本サイトの内容をそのまま、あるいは微調整のみで有料販売しないでください。 |
| 著作権表示・リンク | 任意 | 必須ではありませんが、引用元としてリンクを貼っていただけると励みになります。 |