Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

numpy-stlでSTLファイルを生成する その2:自分で平面ポリゴンをかく

実際のところ

import numpy as np
from stl import mesh

## 基準となる頂点を設定
vertices = np.array([\
    [-2, -1, +1],
    [-1, -1, +1],
    [ 0, -1, +1],
    [+1, -1, +1],
    [+2, -1, +1],
    [ 0,  0, +1]])

## 頂点を三点指定して三角形をつくる
faces = np.array([\
    [0,1,5],
    [3,4,5]])

# ポリゴンを生成
cube = mesh.Mesh(np.zeros(faces.shape[0], dtype=mesh.Mesh.dtype))
for i, f in enumerate(faces):
    for j in range(3):
        cube.vectors[i][j] = vertices[f[j],:]

# STLファイルを生成
cube.save('cube.stl')

確認すると、こんな感じ
f:id:shuzo_kino:20220112211028p:plain