판요소를 만들고 조회하는 함수입니다. 절점 네 개(또는 세 개)를 이어 하나의 판요소를 정의합니다.
이 글에서 다루는 것
・ 판요소 만들기
・ 요소 종류 고르기
・ 판요소 조회하기
Plate(elemId, matlId, thikId, nodeIds, [ANGLE], [STYPE])
GetPlateElement(elemId)
판요소 만들기
요소 번호와 재질, 두께, 그리고 절점 번호 배열을 넘깁니다. 재질과 두께, 그리고 절점이 미리 만들어져 있어야 합니다.
・ elemId: 요소 번호
・ matlId: 재질 번호
・ thikId: 두께 번호
・ nodeIds: 절점 번호 배열. 사각형이면 4개, 삼각형이면 3개
・ ANGLE: 재료 좌표계 회전각 (기본 0)
・ STYPE: 요소 종류 (기본 2)
Sub MakePlate()
Node 1, 0, 0, 0
Node 2, 1, 0, 0
Node 3, 1, 1, 0
Node 4, 0, 1, 0
Plate 1, 1, 1, Array(1, 2, 3, 4)
End Sub
⚠️ 주의
절점 순서가 그대로 판의 모서리 순서가 됩니다. 시계 방향이든 반시계 방향이든 한 바퀴 도는 순서로 넣어야 하며, 대각선으로 교차하는 순서로 넣으면 뒤틀린 요소가 만들어집니다.
요소 종류 고르기
STYPE 으로 판요소의 거동을 고릅니다.
| STYPE | 종류 |
|---|---|
| 1 | Thick |
| 2 | Thin (기본값) |
| 3 | Thick + Drilling DOF |
| 4 | Thin + Drilling DOF |
Plate 1, 1, 1, Array(1, 2, 3, 4), STYPE:=1 ' Thick
Plate 2, 1, 1, Array(5, 6, 7, 8), ANGLE:=30, STYPE:=4
판요소 조회하기
만들어진 요소 하나를 번호로 조회합니다. 응답에는 재질, 두께, 절점 번호가 들어 있습니다.
Debug.Print GetPlateElement(1)
요소 전체를 보고 싶다면 요소 항목을 통째로 읽으면 됩니다.
Debug.Print DbReadAll("db/ELEM")
' 다음 비어 있는 요소 번호
Debug.Print DbNextId("db/ELEM")