□ Geometry Traversal
어떤 도형이나 그래프를 정해진 방식으로 방문하거나 탐색하는 과정을 의미합니다.
• 단순한 직사각형 면에는 윤곽선 (경계) 1개와 모서리 4개가 있습니다.
• 윤곽선은 어떤 부분 면(2D 평면 도형)의 경계를 따라 이동합니다. 외부 윤곽선은 시계방향으로 이동하고, 내부 윤곽선은 반시계방향으로 이동하여 부분 면의 오른쪽에 위치합니다.
• U자형 단면이 있는 스케치에서 부품이 돌출되면 U자형 채널의 각 다리에 별도의 서피스가 있게 됩니다.
• 사각형 모양의 단면이 있는 스케치에서 부품을 돌출시킨 다음 슬롯 형상을 부품으로 절단하여 U 채널처럼 보이도록 하면 U 채널 다리를 가로지르는 하나의 서피스가 있게 됩니다. 채널. 부품의 원래 표면은 절단된 하나의 표면으로 표시됩니다.
□ 기하학 용어
다음은 일부 기하학적 용어에 대한 정의입니다.
• 표면(Surface) - 이상적인 기하학적 표현, 즉 무한 평면입니다.
• 면(Face) - 잘린 표면입니다. 면(Face) 에는 하나 이상의 윤곽이 있습니다.
• 윤곽선 (Contour) - 면의 닫힌 루프입니다. 윤곽선(Contour)은 여러 모서리로 구성됩니다. 윤곽선 (Contour) 은 하나의 면에만 속할 수 있습니다.
• 가장자리(Edge) - 트림된 표면의 경계입니다.
솔리드의 모서리는 두 표면의 교차점입니다. 모서리는 두 표면(Surface) 과 두 윤곽선(Contour) 에 속합니다. 데이텀 서피스의 모서리는 두 데이텀 서피스의 교차점이거나 서피스의 외부 경계일 수 있습니다.
모서리가 두 데이텀 서피스의 교차점인 경우 해당 두 서피스와 두 윤곽선(Contour) 에 속합니다. 모서리가 데이텀 서피스의 외부 경계인 경우 해당 서피스에만 속하며 단일 윤곽선 (Contour) 에도 속합니다.
□ 리드 블록의 형상 탐색
▷ IpfcModelItemOwner.ListItems()
지정된 유형의 모델 항목 목록을 제공합니다.
Function ListItems (Type as IpfcModelItemType [optional]) as IpfcModelItems [optional]
▷ IpfcSurface.ListContours()
표면 (Surface)의 모든 윤곽선 (Contour) 을 나열합니다.
Function ListContours () as IpfcContours
Option Explicit
Sub VersionStamp()
On Error GoTo RunError
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection
Dim BaseSession As pfcls.IpfcBaseSession
Dim Session As IpfcSession
Dim model As IpfcModel
Dim ModelItemOwner As IpfcModelItemOwner
Dim ModelItems As IpfcModelItems
Dim ModelItem As IpfcModelItem
Dim Surface As IpfcSurface
Dim Contours As IpfcContours
Dim Contour As IpfcContour
Set conn = asynconn.Connect("", "", ".", 5)
Set BaseSession = conn.Session
Set model = BaseSession.CurrentModel
Set ModelItemOwner = model
'// Solid Model Surface List
Set ModelItems = ModelItemOwner.ListItems(EpfcModelItemType.EpfcITEM_SURFACE)
Dim i As Integer
Dim j As Integer
For i = 0 To ModelItems.Count - 1
Set ModelItem = ModelItems.Item(i)
Set Surface = ModelItem
Set Contours = Surface.ListContours
For j = 0 To Contours.Count - 1
Set Contour = Contours(j)
MsgBox Contour.EvalArea
Next j
Next i
conn.Disconnect (2)
'// Cleanup
Set asynconn = Nothing
Set conn = Nothing
Set Session = Nothing
Set model = Nothing
RunError:
If Err.Number <> 0 Then
MsgBox "Process Failed : Unknown error occurred." + Chr(13) + _
"Error No: " + CStr(Err.Number) + Chr(13) + _
"Error: " + Err.Description, vbCritical, "Error"
If Not conn Is Nothing Then
If conn.IsRunning Then
conn.Disconnect (2)
End If
End If
End If
End Sub
▷ IpfcContour.ListElements()
윤곽선 (Contour)의 edge 배열을 가져옵니다.
Function ListElements () as IpfcEdges
□ UV Parameterization
아래 그림은 표면 매개변수화 기술에 대한 좋은 개요 입니다. 매개변수(u, v)를 사용하여 표면을 설명하는 방정식은 3D 공간에서 표면을 정의하는 방법 중 하나입니다. 이러한 방정식을 사용하면 더 복잡한 곡면을 모델링할 수 있으며, 종종 컴퓨터 그래픽, CAD, 3D 모델링 및 기타 분야에서 사용됩니다.
주어진 매개변수 방정식의 특징은 다음과 같습니다:
1. (u, v)는 표면을 정의하는 매개변수입니다. 이러한 매개변수를 사용하여 3D 공간의 모든 점을 표현할 수 있습니다.
2. (u, v)는 보통 [0, 1] 범위를 벗어나도록 제한되지 않습니다. 이것은 모델링의 편의성을 높이는 데 도움이 됩니다. 예를 들어, u와 v가 [0, 1] 범위 밖에 있는 경우 해당 범위 안으로 변환할 수 있습니다.
3. 매개변수 방정식은 표면의 모든 점의 (x, y, z) 좌표를 제공합니다. 이를 통해 표면의 형태와 모양을 정의하고 다양한 작업을 수행할 수 있습니다.
4. 이러한 방정식은 주로 다양한 종류의 표면을 모델링하기 위해 사용됩니다. 예를 들어, 곡면, 곡선, 원통, 구, 평면 및 다른 형태의 3D 개체를 설명하는 데 활용됩니다.
이러한 매개변수 방정식은 컴퓨터 그래픽에서 특히 텍스처 매핑, 조명 및 렌더링과 관련된 작업에서 중요합니다. 특히 3D 모델을 만들거나 다룰 때 매개변수 방정식을 사용하여 표면의 모양을 정확하게 제어할 수 있습니다.
UV Parameterization"은 3D 서피스 모델의 텍스처 매핑 및 텍스처 좌표의 제어를 위한 중요한 기능 중 하나입니다. 이 기능을 사용하면 3D 모델의 표면에 이미지나 텍스처를 정확하게 매핑하고 텍스처의 위치, 회전 및 크기를 조절할 수 있습니다.3D에서 가로 x축은 2D 공간에서 U 가 되고 세로 y축은 Y 가 됩니다
□ Surface Types
솔리드 모델 내부 표면은 다음 유형 중 하나일 수 있습니다.
• PLANE - 인터페이스IpfcPlane으로 표시되는 평면 표면입니다.
• CYLINDER - IpfcCylinder 인터페이스로 표시되는 원통형 표면입니다.
• CONE - 인터페이스IpfcCone으로 표시되는 원추형 표면 영역입니다.
• TORUS - IpfcTorus 인터페이스로 표시되는 환상면 표면 영역입니다.
• REVOLVED SURFACE - 축을 기준으로 커브를 회전하여 생성됩니다. 이는 IpfcRevSurface 인터페이스로 표현됩니다.
• RULED SURFACE - 두 곡선 요소 사이를 선형으로 보간하여 생성됩니다. 이는 IpfcRuledSurface 인터페이스로 표현됩니다.
• 테이블형 원통(TABULATED CYLINDER) - 곡선을 선형으로 돌출시켜 생성됩니다. 이는 IpfcTabulatedCylinder 인터페이스로 표시됩니다.
• Coons Path - Coons 패치는 표면을 함께 혼합하는 데 사용됩니다. 이는 IpfcCoonsPatch 인터페이스로 표시됩니다.
• 필렛 서피스(FILLET SURFACE) - 필렛된 서피스는 원형이나 필렛이 곡선 모서리나 일관되지 않은 호 반경을 가진 모서리에 배치되는 곳에서 발견됩니다. 직선 모서리에서 원통은 모깎기를 나타내는 데 사용됩니다. 이는 클래스 인터페이스 IpfcFilletedSurface로 표현됩니다.
• 스플라인 표면(SPLINE SURFACE) - 각 점에 주어진 탄젠트 벡터가 있는 그리드를 통과하는 비균일 쌍입방 스플라인 표면입니다. 이는 IpfcSplineSurface 인터페이스로 표현됩니다.
• NURBS 표면 - NURBS 표면은 기본 기능(u 및 v), 확장 가능한 노트 배열, 가중치 및 제어점으로 정의됩니다. 이는 클래스 인터페이스 IpfcNURBSSurface로 표현됩니다.
• 원통형 스플라인 표면 - 원통형 스플라인 표면은 각 점에 주어진 탄젠트 벡터가 있는 그리드를 통과하는 비균일 쌍입방 스플라인 표면입니다. 이는 IpfcCylindricalSplineSurface 인터페이스로 표현됩니다.
'VBA For Creo' 카테고리의 다른 글
#3 MBD : 모델 치수 가져오기-1 (0) | 2023.12.24 |
---|---|
#1 Creo 엑셀 VBA 코드 :: 개발 환경 설정 하기 (0) | 2023.12.21 |
모델의 서피스 타입 구분 하기 (0) | 2023.10.11 |
Model Information - IpfcModel (0) | 2023.10.09 |
Model Operations (0) | 2023.10.06 |