본문 바로가기
  • Welcome!
VBA, VB.NET For Creo

Creo] Interface IpfcBaseSession 개념

by ToolBOX01 2025. 1. 13.
반응형

□ 소개

IpfcBaseSession은 Creo Parametric 세션에 대한 정보를 담고 있는 클래스입니다. 쉽게 말해, Creo Parametric 프로그램이 실행되고 있는 동안 현재 작업 환경에 대한 다양한 정보를 제공하는 역할을 합니다.

Creo Parametric 세션: Creo Parametric 프로그램이 시작되어 종료될 때까지의 기간을 의미합니다. 
하나의 Creo Parametric 프로그램 실행은 하나의 세션에 해당합니다.

클래스: 객체 지향 프로그래밍에서 객체를 정의하는 틀입니다. 클래스를 통해 객체의 속성(attribute)과 
행동(behavior)을 정의할 수 있습니다.

▷Interface란?

Interface는 객체 지향 프로그래밍에서 클래스 간의 관계를 정의하는 추상적인 타입입니다. Interface는 클래스가 반드시 구현해야 하는 메서드(method)의 집합을 정의합니다.

Interface의 특징:

  • 추상적: Interface는 객체를 생성할 수 없으며, 오직 클래스가 Interface를 구현해야 합니다.
  • 다중 상속: 클래스는 여러 개의 Interface를 구현할 수 있습니다.
  • 계약: Interface는 클래스가 제공해야 하는 기능에 대한 일종의 계약입니다. Interface를 구현하는 클래스는 Interface에서 정의된 모든 메서드를 구현해야 합니다.

Interface는 표준화된 기능의 약속: Interface는 IpfcBaseSession이 반드시 갖춰야 할 기능들을 정의해 놓은 일종의 '계약서'와 같습니다. IpfcBaseSession은 이 계약서에 명시된 기능들을 모두 구현해야 합니다.

▷ Direct Parent Classes 란

Creo API에 문서에 있는 Direct Parent Classes 란 무엇 일까요. 상속(Inheritance) 개념과 관련이 있습니다. 간단히 말해, 어떤 클래스가 다른 클래스로부터 특정 기능이나 속성을 물려받는 경우, 물려준 클래스를 "Parent Class" 또는 "부모 클래스"라고 부릅니다. 여기서 Direct Parent Classes는 바로 위에 있는 부모 클래스를 뜻합니다. 예를 들어:
클래스 A가 클래스 B와 C로부터 상속을 받는다면, B와 C는 A의 Direct Parent Classes입니다.

'=== Parent Class 정의 ===
Class ParentClass
    Public Function ShowMessage() As String
        ShowMessage = "Hello from Parent Class!"
    End Function
End Class

'=== Child Class 정의 ===
Class ChildClass
    Inherits ParentClass
    
    Public Function ShowChildMessage() As String
        ShowChildMessage = "Hello from Child Class!"
    End Function
End Class

'=== 실행 코드 (Module) ===
Sub TestInheritance()
    Dim ParentObj As ParentClass
    Dim ChildObj As ChildClass

    ' Parent Class 사용
    Set ParentObj = New ParentClass
    MsgBox ParentObj.ShowMessage() ' "Hello from Parent Class!" 출력

    ' Child Class 사용
    Set ChildObj = New ChildClass
    MsgBox ChildObj.ShowMessage()       ' 부모 클래스의 함수 호출
    MsgBox ChildObj.ShowChildMessage() ' 자식 클래스의 함수 호출
End Sub

1. ParentClass:
    ShowMessage() 함수만 가짐.
    부모 클래스의 역할을 함.

2. ChildClass:
    ParentClass를 상속받음 (Inherits ParentClass).
   부모 클래스의 메서드와 함께 자신의 메서드(ShowChildMessage)도 추가로 가짐.

3. 실행 결과:
   자식 클래스(ChildClass)는 부모 클래스의 메서드도 사용할 수 있음.

▷ Interface IpfcBaseSession VBA API 메뉴얼 

API 문서에서 "IpfcBaseSession"을 클릭하면 "Description", "Direct Parent Classes", "Direct Known Subclasses:" 설명을 볼수 있습니다  "IpfcSession"는 하위 클래스 입니다. 이것은 Creo의 내부 명령을 호출 할수 있습니다.

IpfcSession 예제 코드
IpfcSession는 "IpfcBaseSession의 하위 함수 입니다. 그러므로 " IpfcBaseSession"와 같이 현재 연결된 개체를 가져올수 있습니다. 

 

#3 IpfcSession - UI로 작업 공간을 선택 하는 프로그램

■ IpfcSession.UISelectDirectory IpfcSession 클래스 ▶ Function UISelectDirectory를 사용하여 작업공간을 선택 하는 프로그램 Sub UI_WORK_FOLDER() Dim asynconn As New pfcls.CCpfcAsyncConnection Dim conn As pfcls.IpfcAsyncConnection Dim

tool-2020.tistory.com

 

1. Property란 무엇인가?

VBA에서 Property는 객체의 특성이나 속성을 나타내는 개념입니다. 객체의 상태를 나타내는 변수라고 생각하면 됩니다. 예를 들어, 엑셀의 셀 객체를 생각해 볼까요? 셀의 색깔, 글꼴, 값 등이 모두 셀 객체의 Property라고 할 수 있습니다.

Property의 특징

  • 읽기 및 쓰기: Property는 일반적으로 읽기(Get) 가능합니다. 즉, Property의 값을 직접 가져올수 있습니다. 
  • 계산된 Property: 다른 Property의 값을 기반으로 계산된 값을 반환하는 Property도 만들 수 있습니다.
  • 이벤트: Property의 값이 변경될 때 특정 이벤트를 발생시킬 수 있습니다.

Property    ConnectionId     as String
이것은 현재 연결된 Creo 개체의 ID를 읽을수 있습니다. 변수 타입 " String"으로 정의한 변수에 결과 값을 보냅니다.

Dim BaseSession As pfcls.IpfcBaseSession
Dim ID As String

ID = BaseSession.ConnectionId

 

2. Function Method 란 무엇인가?

특정 작업을 수행하고 그 결과를 반환하는 일종의 함수입니다. 특정한 계산이나 처리를 수행하고 그 결과값을 다른 곳에서 사용할 수 있도록 제공하는 도구라고 할 수 있습니다.

Function Method의 특징

  • 반환값: Function Method는 항상 특정한 데이터 형태(숫자, 문자열, 객체 등)의 값을 반환합니다.
  • 입력값: Function Method는 필요에 따라 여러 개의 입력값(인자)을 받아서 처리할 수 있습니다.
  • 재사용성: 한 번 작성된 Function Method는 코드의 여러 부분에서 반복적으로 사용할 수 있어 코드의 효율성을 높입니다.
  • 모듈화: 복잡한 작업을 작은 단위의 Function Method로 나누어 관리함으로써 코드의 가독성을 높이고 유지보수를 용이하게 합니다.

Function Method의 구조

Function 함수이름(인자1 As 데이터형, 인자2 As 데이터형, ...) As 반환형
    ' 함수 내부에서 수행할 작업
    함수이름 = 결과값
End Function


함수이름: 함수를 식별하기 위한 고유한 이름입니다.
인자: 함수가 처리하는 입력 데이터입니다.
반환형: 함수가 반환하는 데이터의 형태를 지정합니다.
함수 내부: 실제로 작업을 수행하는 부분입니다.
함수이름 = 결과값: 함수가 반환할 값을 지정합니다.

Function Method 예제

sub 원의면적계산프로그램 ()
	Dim inputradius As Double
    inputradius = 30
    Msgbox "원의 면적은 : " & GetCircleArea(inputradius)
end sub

Function GetCircleArea(radius As Double) As Double
    ' 원의 면적 계산
    GetCircleArea = 3.14159 * radius * radius
End Function

 

 

3. Sub Method 란 무엇인가?

Sub는 특정 작업을 수행하는 하나의 단위를 의미합니다.특정한 일련의 명령어들을 모아놓은 블록이라고 생각할 수 있습니다. 예를 들어, 부품을 생성하거나, 치수를 변경하는 등의 작업을 하나의 Sub로 만들어서 사용할 수 있습니다.

Sub의 특징

  • 반환값 없음:
    Sub는 특정 작업을 수행한 후에 어떤 값을 반환하지 않습니다. 단순히 지정된 작업만 수행하고 끝납니다.
  • 호출 가능: 다른 Sub나 Function에서 호출하여 사용할 수 있습니다.
  • 모듈화: 
    복잡한 작업을 여러 개의 작은 Sub로 나누어 관리함으로써 코드의 가독성을 높이고 유지보수를 용이하게 합니다.


by korealionkk@gmail.com