본문 바로가기
  • You find inspiration to create your own path !
업무 자동화/VBA, VB.NET For Creo

IpfcBaseSession : Method (Sub CopyFileFromWS)

by ToolBOX01 2025. 10. 31.
반응형

◎ Sub CopyFileFromWS(SourceFile, TargetDirectory)

Windchill 워크스페이스에 있는 파일을 로컬 디스크로 복사하는 명령입니다.

  • SourceFile → Windchill 워크스페이스 경로 (예: wtws://...)
  • TargetDirectory → 복사할 로컬 폴더 경로 (예: C:\Temp\)

작업공간 (Workspace)

※ 오류 발생 조건

  • IpfcXToolkitInvalidFile → 파일이 존재하지 않거나 경로가 잘못됨
  • IpfcXToolkitInvalidDir → 지정한 폴더가 없음
  • IpfcXToolkitCantAccess → 읽기/쓰기 권한이 없음

※ 주의사항

  1. wtws:// 경로는 Windchill 클라이언트가 설치된 환경에서만 유효합니다. → Windchill Desktop Integration (DTI) 또는 Creo, Windchill Workgroup Manager 등이 설치되어 있어야 인식됩니다.
  2. 파일이 체크아웃 상태여야 로컬에 캐시되고 wtws:// 경로로 접근 가능합니다.
  3. 워크스페이스 이름은 대소문자 구분할 수 있으니 정확히 확인하세요.
  4. 버전 정보 포함 (예: .1, .3) → 최신 버전이 아니면 명시 필요
  5. 공식 문서에는 이 메소드가 모델(asm/prt) 전체의 종속성(dependencies)을 자동으로 처리하지 않는다고 경고하고 있습니다. 즉, 단일 파일 복사용이지, 전체 어셈블리 + 참조 파일을 묶어서 가져오는 용도로는 권장되지 않습니다.
  6. 따라서 설계 변경이나 전체 모델 가져오기(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




반응형