본문 바로가기
STL/stl- 기초 (numpy stl)

[파이썬과 STL] 2. STL 데이터 접근하기

by 만다린망고 2020. 11. 12.
반응형

[파이썬과 STL] 

2. STL 데이터 접근하기 


지난 시간에 만든 코드에 이어서 설명하겠습니다. 


import os

from stl import mesh


path="C:/Users"


os.chdir(path)

ctl = mesh.Mesh.from_file('CAT.stl')


stl 데이터가 ctl 이라는 변수에 저장되었습니다. stl 파일을 다룰 수 있는 여러가지 매소드가 있습니다. 점에 접근하는 메소드만 살펴봅시다. 




1) points 매소드


점에 접근하는 method 는 points 입니다. 


>>> ctl.points

array([[   613.4, -21935.7,  31444.1, ...,    553.4, -21868.2,  31515.9],

       [   613.4, -21935.7,  31444.1, ...,    546.4, -21951.6,  31464.3],

       [   620.5, -21854.1,  31493.5, ...,    554.4, -21772.4,  31561.3],

       ...,

       [  -884.5, -15131.1,  15187.2, ...,   -721.7, -15387.3,  15388.2],

       [  -721.7, -15387.3,  15388.2, ...,   -313.1, -15512.8,  15480.6],

       [  -721.7, -15387.3,  15388.2, ...,   -610.9, -15685.4,  15621.7]],

      dtype=float32)


첫번째 요소에 접근해봅시다. 


>>> ctl.points[0]

array([   613.4, -21935.7,  31444.1,    620.5, -21854.1,  31493.5,

          553.4, -21868.2,  31515.9], dtype=float32)


점 3개가 출력된 것을 알 수 있습니다. 한 삼각형을 구성하는 세 점입니다. 




2) v0, v1, v2 메소드


v0: 하나의 삼각형을 구성하는 세 점의 첫번째 점들의 집합

v1: 하나의 삼각형을 구성하는 세 점의 두번째 점들의 집합

v2: 하나의 삼각형을 구성하는 세 점의 세번째 점들의 집합


>>> ctl.v0[0]

array([   613.4, -21935.7,  31444.1], dtype=float32)


>>> ctl.v1[0]

array([   620.5, -21854.1,  31493.5], dtype=float32)


>>> ctl.v2[0]

array([   553.4, -21868.2,  31515.9], dtype=float32)


반응형

댓글