반응형
○ Windchill 유형의 모든 속성에 대한 모든 제약조건을 찾는 기능
Windchill의 속성과 제약조건
1. 속성(Attributes):
Windchill에서 객체(Object)는 다양한 정보를 담고 있는 속성을 가지고 있습니다.
예를 들어, 문서 객체는 제목, 작성자, 버전 등의 속성을 가질 수 있습니다.
2. 제약조건(Constraints):
속성에는 다양한 제약조건이 부여될 수 있습니다. 예를 들어, 특정 속성은 필수 입력이어야 하거나,
숫자 범위가 정해져 있거나, 특정 형식의 날짜를 입력해야 할 수 있습니다.
1. Request URL
http://WC 주소/Windchill/servlet/odata/v6/DataAdmin/
Containers('OR%3Awt.pdmlink.PDMLinkProduct%3A131308')/
PTC.DataAdmin.GetConstraints(EntityName='PTC.ProdMgmt.Part',DriverProperties=@DriverProperties)
1) Containers
- 제품 (PDMLinkProduct)의 주소 입니다
3) EntityName
- Object 유형 입니다. "PTC.ProdMgmt.Part" 는 Wtpart 입니다.
2. WRS
3. VBA 코드
WTPart의 특성 값을 표시 합니다. 기본 값도 표시 합니다
Option Explicit
Sub wtpart_list01()
'// 오류 발생 시 오류 메시지 출력
On Error Resume Next
Call MainGetToken.GetToken001
Dim xmlhttp As Object
Set xmlhttp = CreateObject("MSXML2.XMLHTTP.6.0")
Dim Url As String
Dim requestBody As String
Dim GetresponseText As String
Dim status As Integer
Dim jsonObject As Object
Dim jsonItem As Object
Dim ProductType As String
Dim i, j As Integer
Url = "http://WC 주소 입력/Windchill/servlet/odata/v6/DataAdmin/Containers('OR%3Awt.pdmlink.PDMLinkProduct%3A131308')/" _
& vbCrLf & "PTC.DataAdmin.GetConstraints(EntityName='PTC.ProdMgmt.Part',DriverProperties=@DriverProperties)"
'// 서버와의 연결 열기
xmlhttp.Open "GET", Url, False
'//요청 헤더 설정
xmlhttp.SetRequestHeader "Content-Type", "application/json"
xmlhttp.SetRequestHeader "CSRF_NONCE", NonceTorken("NonceValue")
'//요청 보내기
xmlhttp.Send requestBody
'// 오류 발생 시 디버그 창에 오류 메시지 출력
If Err.Number <> 0 Then
Debug.Print "Error " & Err.Number & ": " & Err.Description
On Error GoTo 0
Exit Sub
End If
'// 응답 상태 코드 가져오기
status = xmlhttp.status
'// 응답 텍스트 가져오기
GetresponseText = xmlhttp.responseText
'// JSON 파싱
Set jsonObject = JsonConverter.ParseJson(GetresponseText)
'// 데이터 엑셀에 출력
i = 1
j = 1
For Each jsonItem In jsonObject("value")
Worksheets("WTOBJECT_List").Cells(j + 4, "A") = j
Worksheets("WTOBJECT_List").Cells(j + 4, "B") = jsonItem("Container")
Worksheets("WTOBJECT_List").Cells(j + 4, "C") = jsonItem("Entity")
Worksheets("WTOBJECT_List").Cells(j + 4, "D") = jsonItem("Property")
Worksheets("WTOBJECT_List").Cells(j + 4, "E") = jsonItem("DefaultValue")
Worksheets("WTOBJECT_List").Cells(j + 4, "F") = jsonItem("LegalValues")
Worksheets("WTOBJECT_List").Cells(j + 4, "G") = jsonItem("Constraints")
Worksheets("WTOBJECT_List").Cells(j + 4, "H") = jsonItem("Visibility")
Worksheets("WTOBJECT_List").Cells(j + 4, "I") = jsonItem("DefaultUnits")
j = j + 1
i = i + 1
Next jsonItem
'// 응답 상태 및 텍스트 출력 (디버깅 용도)
'// Debug.Print "Status: " & status
'//Debug.Print "Response: " & GetresponseText
'// 정리 작업
Set xmlhttp = Nothing
End Sub
프로그램 실행 결과
'VBA For Windchill' 카테고리의 다른 글
Windchill & VBA 01) VBA 환경 설정 (VBA Preferences) (0) | 2024.07.30 |
---|---|
학습 07) Open API, 엑셀 VBA - PTC Data Administration domain #2 (0) | 2024.07.09 |
Windchill & VBA 04) - Create a Windchill Folder (1) | 2024.07.03 |
Windchill REST Services (WRS) (0) | 2024.07.01 |
Windchill & VBA 03) - Get Product Name (0) | 2024.06.30 |