반응형
◎ Sub CopyFileFromWS(SourceFile, TargetDirectory)
Windchill 워크스페이스에 있는 파일을 로컬 디스크로 복사하는 명령입니다.
- SourceFile → Windchill 워크스페이스 경로 (예: wtws://...)
- TargetDirectory → 복사할 로컬 폴더 경로 (예: C:\Temp\)

※ 오류 발생 조건
- IpfcXToolkitInvalidFile → 파일이 존재하지 않거나 경로가 잘못됨
- IpfcXToolkitInvalidDir → 지정한 폴더가 없음
- IpfcXToolkitCantAccess → 읽기/쓰기 권한이 없음
※ 주의사항
- wtws:// 경로는 Windchill 클라이언트가 설치된 환경에서만 유효합니다. → Windchill Desktop Integration (DTI) 또는 Creo, Windchill Workgroup Manager 등이 설치되어 있어야 인식됩니다.
- 파일이 체크아웃 상태여야 로컬에 캐시되고 wtws:// 경로로 접근 가능합니다.
- 워크스페이스 이름은 대소문자 구분할 수 있으니 정확히 확인하세요.
- 버전 정보 포함 (예: .1, .3) → 최신 버전이 아니면 명시 필요
- 공식 문서에는 이 메소드가 모델(asm/prt) 전체의 종속성(dependencies)을 자동으로 처리하지 않는다고 경고하고 있습니다. 즉, 단일 파일 복사용이지, 전체 어셈블리 + 참조 파일을 묶어서 가져오는 용도로는 권장되지 않습니다.
- 따라서 설계 변경이나 전체 모델 가져오기(Import/Export) 작업에는 ImportToCurrentWS 또는 ExportFromCurrentWS 등의 메소드를 사용하는 편이 낫습니다.
※ 유효한 SourceFile 예시 모음
| 설명예시 | 경로 |
| 부품 파일 (최신 버전) | wtws://MyWorkspace/Parts/bolt.prt |
| 어셈블리 (버전 5) | wtws://Design_WS/Assemblies/frame.asm.5 |
| 도면 | wtws://DefaultWorkspace/Drawings/gear.drw.1 |
| 문서 | wtws://Docs_WS/Specs/requirement.pdf.2 |
sample Code
Dim baseSession As IpfcBaseSession
Dim srcFile As String
Dim tgtDir As String
On Error GoTo ErrHandler
srcFile = "wtws://mywindchillserver/Windchill/Workspaces/WS_1234/MyPart.prt"
tgtDir = "C:\Temp\WindchillDownloads\"
'// 디렉토리 존재 여부 확인 및 생성 //'
If Dir(tgtDir, vbDirectory) = "" Then
MkDir tgtDir
End If
baseSession.CopyFileFromWS(srcFile, tgtDir)
MsgBox "파일 복사 완료: " & srcFile & vbCrLf & "→ " & tgtDir, vbInformation
ErrHandler:
MsgBox "오류 발생: " & Err.Number & " - " & Err.Description, vbCritical
by korealionkk@gmail.com

반응형
'업무 자동화 > VBA, VB.NET For Creo' 카테고리의 다른 글
| IpfcBaseSession : Method (Sub EraseUndisplayedModel) (0) | 2025.11.01 |
|---|---|
| IpfcBaseSession : Method (Sub CopyFileToWS) (0) | 2025.11.01 |
| IpfcBaseSession : Method (Sub AuthenticateBrowser) (0) | 2025.10.30 |
| IpfcBaseSession : Method (0) | 2025.10.29 |
| IpfcBaseSession (0) | 2025.10.28 |