본문 바로가기
  • 환영 합니다 ! Welcome!
VBA For Creo

#6 IpfcBaseSession 개체 : [Function] RetrieveModel

by ToolBOX01 2021. 1. 15.
반응형

■ 하드 디스크에 있는 파일 POPUP 창으로 불러오가

IpfcBaseSession.RetrieveModel은 하드 디스크에 있는 Creo 파일을 Creo Session으로가져오는 함수 입니다.
(작업 폴더에서 Creo Parametric 세션으로 지정된 모델을 읽어들입니다.) 이 함수는 Creo 화면에 표시되지 않습니다. IIpfcBaseSession.Open를 사용 해야만  Creo 화면에 표시됩니다. 

IpfcBaseSession.RetrieveModel 문법]

[Function] RetrieveModel (MdlDescr as IpfcModelDescriptor) as IpfcModel
IpfcModel 함수를 사용한 변수로 IpfcBaseSession.Retrieve (파일 이름) 에 정의한 CREO 파일을 하드디스크에서 "Session"으로 읽어 옵니다.

IpfcBaseSession.RetrieveModel 코드]

Sub SessionOpen()

    Dim asynconn As New pfcls.CCpfcAsyncConnection
    Dim conn As pfcls.IpfcAsyncConnection
    Dim oSession As pfcls.IpfcBaseSession
    Dim oModel As IpfcModel
    Set conn = asynconn.Connect("", "", ".", 5)
    Set oSession = conn.session
    
    '// OPEN 파일 이름
    Dim oNewModelDescriptor As New CCpfcModelDescriptor
    Dim oModelDescriptor As IpfcModelDescriptor
    Set oModelDescriptor = oNewModelDescriptor.CreateFromFileName("korea.prt")

    Set oModel = oSession.RetrieveModel(oModelDescriptor)
    
    'Disconnect with Creo
    conn.Disconnect (2)

End Sub

 

함수 옵션 정의] - 파일 이름 정의]

함수 "RetrieveModel"의 옵션 변수 "oModelDescriptor" 의 값으로 "korea.prt"로 정의 합니다. 만일 dim oCreofilename as String 으로 정의 하고,  oCreofilename = Cells ( 5, "E") 로정의 하고 CreateFromFileName(oCreofilename)로 변경 한다면 Cells 값에 따라 Open 되는 파일 다릅니다.

    Dim oNewModelDescriptor As New CCpfcModelDescriptor
    Dim oModelDescriptor As IpfcModelDescriptor
    dim oCreofilename as String
    oCreofilename = Cells ( 5, "E") 
    Set oModelDescriptor = oNewModelDescriptor.CreateFromFileName(oCreofilename)

 

VBA와 CREO 파일 연결 끊기] 

    'Disconnect with Creo
    conn.Disconnect (2)

 

프로그램을 실행 하면, Creo 화면에는 아무런 변화가 없습니다. 하지만 Session을 확인하면 Creo 파일을 확인 할수 있습니다.

[ Session에 있는 "korea.prt" ]


IpfcBaseSession.OpenFile 문법]

[Function] OpenFile (MdlDescr as IpfcModelDescriptor) as IpfcWindow
- 지정된 모델을 검색하여 Creo 창에 표시합니다

IpfcBaseSession.OpenFile 코드]

Sub Sessionwindow()

    Dim asynconn As New pfcls.CCpfcAsyncConnection
    Dim conn As pfcls.IpfcAsyncConnection
    Dim oSession As pfcls.IpfcBaseSession
    Dim Window As IpfcWindow
    Dim Model As IpfcModel
    
    Set oSession = conn.session
    Set conn = asynconn.Connect("", "", ".", 5)
    
    '// OPEN 파일 이름
    Dim oNewModelDescriptor As New CCpfcModelDescriptor
    Dim oModelDescriptor As IpfcModelDescriptor
    Set oModelDescriptor = oNewModelDescriptor.CreateFromFileName("korea.prt")

    Set Window = oSession.OpenFile(oModelDescriptor)
    Set model = Window.model
    
    '// Open 모델 활성화
    Window.Activate
    
    '// Open 모델 저장 위치
    MsgBox model.Origin
    
    'Disconnect with Creo
    conn.Disconnect (2)

* CREO VBA API 문서를 참고 하여 다양한 프로그램을 만들어 보십시요


영업 문의 : lionkk@idt21c.com