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

#1 IpfcBaseSession 클래스 이해 - Sub ChangeDirectory

by ToolBOX01 2021. 1. 11.
반응형

■ 현재 활성화된 모델 이름 가져오기.

메세지 창 으로 현재 연결된 파일 이름을 표시 하는 코드 입니다

Sub  modelName ()

        Dim asynconn As New pfcls.CCpfcAsyncConnection
        Dim conn As pfcls.IpfcAsyncConnection
        Dim session As pfcls.IpfcBaseSession
        Dim model As IpfcModel
        
        Set conn = asynconn.Connect("", "", ".", 5)
        Set session = conn.session
        Set model = session.CurrentModel
        
       MsgBox oModel.Filename

End Sub

 


■ Creo Session에 있는 파일 개수 카운트.

Sub ModeList()

        Dim asynconn As New pfcls.CCpfcAsyncConnection
        Dim conn As pfcls.IpfcAsyncConnection
        Dim oSession As pfcls.IpfcBaseSession
        Dim oModels As IpfcModels
        
        Set conn = asynconn.Connect("", "", ".", 5)
        Set oSession = conn.session
        Set oModels = oSession.ListModels()

        MsgBox oModels.count

    conn.Disconnect (2)

End Sub

IpfcBaseSession.ListModel 
ListModel() 함수를 사용 하여 현재 session의 파일들을 반환 받고, "IpfcModels" 클래스의 "Count" 속성을 이용하여 Session에 있는 모델 수량을 카운트 합니다.

▷ Method의 "Sub"로 표시 되어 있는  프로시져를 사용 하는 방법에  대해 알아 봅니다.

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

작업 디렉토리 변경 하기

IpfcBaseSession.ChangeDirectory () 함수를 이용 하여  Creo Parametric에서  다른 작업 디렉토리로 변경합니다.

Sub  ChangeDirectory (Path as String)
   -  (Path as String) 은 String 타입의 변수 입니다

Sub Change_Directory()

    Dim asynconn As New pfcls.CCpfcAsyncConnection
    Dim conn As pfcls.IpfcAsyncConnection
    Dim session As pfcls.IpfcBaseSession 
    
    Set conn = asynconn.Connect("", "", ".", 5)
    Set session = conn.session
    
    ' 현재의 작업공간을 "D:\IDT"로 변경 합니다
    session.ChangeDirectory ("d:\idt")
        
     'Disconnect with Creo
    conn.Disconnect (2)
    
    'Cleanup
    Set asynconn = Nothing
    Set conn = Nothing
    Set session = Nothing
    Set model = Nothing

End Sub

 


옵션 (Config.pro) 변경 하기

IpfcBaseSession.SetConfigOption 을 사용하여 VBA 프로그램에서만 동작하는 옵션 (confog.pro)을 설정 할수 있습니다.
* 주의 : confog.pro 파일 자체를 변경 할수 없습니다.  

Sub SetConfigOption (Name as String, Value as String)
1) Name as String : 구성 파일 옵션(config.pro) 이름이며, 타입은 String 입니다
2) Value as String : 구성 파일 옵션(config.pro)  값이며, 타입은 String 입니다

Sub config_option()

    Dim asynconn As New pfcls.CCpfcAsyncConnection
    Dim conn As pfcls.IpfcAsyncConnection
    Dim session As pfcls.IpfcBaseSession
    Set conn = asynconn.Connect("", "", ".", 5)
    Set session = conn.session
    
    Call session.SetConfigOption("regen_failure_handling","no_resolve_mode")
        
    'Disconnect with Creo
    conn.Disconnect (2)
    
    'Cleanup
    Set asynconn = Nothing
    Set conn = Nothing
    Set session = Nothing
    Set model = Nothing

End Sub

SetConfigOption은 "call"을 추가 해야 하는 sub(프로시져) 입니다. call을 추가 안하면  VBA  에디터 에서 아래와 같이 오류가 발생 합니다. 

[ VBA 에디터 오류 ]

Croe VBA 메뉴얼은 친절 하지 않습니다. 많은 시행 착오를 거쳐야 완성 (?) 할수 있습니다. ㅜ ㅜ


영업 문의 : lionkk@idt21c.com