반응형
이 VB API를 사용하면 Windchill 데이터베이스와 VB 응용 프로그램 간의 연결 역할을 하는 Windchill 서버를 등록할 수 있습니다
VB API에서 Windchill 서버를 참조할 때 다음 식별자를 사용할 수 있습니다.
- Codebase URL : Windchill 서버에 연결하는 데 사용되는 URL의 루트 부분입니다. 예를 들면 "http://wcserver.company.com/Windchill" 입니다.
- Server Alias : 서버가 등록된 후 서버를 참조하는 데 사용됩니다. 별칭은 서버 작업공간 및 공통공간에서 파일에 대한 경로를 구성하는 데에도 사용됩니다. 서버 별칭은 사용자 또는 애플리케이션에 의해 선택되며 코드베이스 URL과 직접적인 관계가 있을 필요는 없습니다. 별칭은 my_alias와 같은 일반적인 이름일 수 있습니다.
□ Windchill 서버 작업을 시작하려면 에 서버를 등록하여 연결을 설정해야 합니다. 이 섹션에 설명된 방법을 사용하면 Windchill 서버에 연결하고 서버와 관련된 정보에 액세스할 수 있습니다.
IpfcBaseSession.AuthenticateBrowser() | 유효한 사용자 이름과 비밀번호를 사용하여 인증 컨텍스트를 설정하려면 IpfcBaseSession.AuthenticateBrowser() 메서드를 사용하세요. 이 메서드를 성공적으로 호출하면 세션이 사용자 이름과 비밀번호 조합을 허용하는 모든 서버에 등록될 수 있습니다. 또한 이 메서드를 성공적으로 호출하면 등록 프로세스 중에 인증 대화 상자가 나타나지 않습니다. 컨텍스트를 설정한 후 즉시 적절한 서버를 등록하는 경우 이 메서드를 여러 번 호출하여 원하는 수의 Windchill 서버에 대한 인증 컨텍스트를 설정할 수 있습니다. |
IpfcBaseSession.GetServerLocation() | |
IpfcServerLocation.Class | IpfcServerLocation.Class 속성은 서버 또는 서버 위치의 클래스를 지정합니다. |
IpfcServerLocation.Location | IpfcServerLocation.Location 속성은 가능한 서버에 대한 코드베이스 URL을 나타내는 IpfcServerLocation 개체를 지정합니다. 서버가 아직 등록되지 않았을 수 있지만 이 개체와 여기에 포함된 메서드를 사용하여 등록 전에 서버에 대한 정보를 수집할 수 있습니다. |
IpfcServerLocation.Version | IpfcServerLocation.Version 등록 정보는 서버 또는 서버 위치에 구성된 Windchill 버전(예: 9.0 또는 10.0)을 지정합니다. 이 메서드는 서버 코드베이스 URL을 입력으로 받아들입니다. |
IpfcServerLocation.List Contexts () | IpfcServerLocation.ListContexts() 메소드는 지정된 서버에 대해 사용 가능한 모든 컨텍스트 목록을 제공합니다. 컨텍스트는 작업공간을 제품, 프로젝트 또는 라이브러리와 연관시키는 데 사용됩니다. |
IpfcServerLocation.CollectWorkspaces() | IpfcServerLocation.CollectWorkspaces() 메서드는 지정된 서버에 대해 사용 가능한 작업공간 목록을 반환합니다. 반환된 작업 공간 개체에는 각 작업 공간의 이름과 해당 컨텍스트가 포함됩니다. |
기본 서버 작업 : 다음 그림은 이러한 위치 간에 데이터가 전송되는 방법을 보여줍니다.
▷▷Commonspace의 Contexts를 모두 표시 하는 코드 입니다.
Option Explicit
Sub IDTWindchill()
On Error GoTo RunError
Application.EnableEvents = False
'// Module Name : CreoVBAStart
Call CreoVBAStart001.CreoConnt
Dim WCServer As IpfcServer
Dim WCServerLocation As IpfcServerLocation
Dim Contexts As Istringseq
Dim i As Integer
Set WCServer = BaseSession.GetActiveServer
Set WCServerLocation = WCServer
Set Contexts = WCServerLocation.ListContexts
For i = 0 To Contexts.Count - 1
Cells(i + 8, "B") = Contexts.Item(i)
Next i
'// Disconnect with Creo
conn.Disconnect (2)
'//Cleanup
Set asynconn = Nothing
Set conn = Nothing
Set BaseSession = Nothing
Set model = Nothing
RunError:
If Err.Number <> 0 Then
MsgBox "Process Failed: An error occurred." & vbCrLf & _
"Error No: " & CStr(Err.Number) & vbCrLf & _
"Error Description: " & Err.Description & vbCrLf & _
"Error Source: " & Err.Source, vbCritical, "Error"
If Not conn Is Nothing Then
If conn.IsRunning Then
conn.Disconnect (2)
End If
End If
End If
End Sub
프로시져 실행 결과
사이트, 조직, 제품. 라이브러리, 프로젝트 컨텍스트들이 표시 됩니다.
WC | EXCEL |
'VBA For Windchill' 카테고리의 다른 글
학습 01) Open API, 엑셀 VBA (0) | 2024.06.21 |
---|---|
WC와 엑셀 VBA 연결 (EXCEL VBA 에서 Http Request) 환경설정 (0) | 2024.06.20 |
Windchill : Common Space에 저장된 모델의 URL을 가져오는 방법 (0) | 2024.06.19 |
Windchill 연결 하기 (0) | 2024.06.19 |
Windchill PDMLink의 데이터를 코딩없이 가져 오는 방법? (0) | 2024.05.06 |