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

IpfcBaseSession : Method

by ToolBOX01 2025. 10. 29.
반응형
VBA(Visual Basic for Applications)에서 **Property, Sub, Function**은 코드의 구조를 만드는 
프로시저(Procedure)의 세 가지 주요 형태입니다.

프로시저(Procedure)
하나의 목적을 가진 코드 묶음으로, 프로그램의 기본 구성 단위입니다.
작업 단위를 이름으로 묶어서 나중에 불러 쓸 수 있는 코드 덩어리
VBA 실행 프로그램입니다. 이름을 가지고 있습니다.

 

 

구분 반환값 호출 방식 주 사용 위치 예시
Sub ❌ 없음 단독 실행 일반 모듈 Call DoSomething
Function ✅ 있음 수식처럼 사용 가능 일반 모듈 result = Add(3,4)
Property ✅ 있음 속성 접근처럼 사용 클래스 모듈 obj.Name = "홍길동"

**클래스(Class)**란,
“현실 세계의 어떤 개념(사람, 자동차, 제품 등)을 코드로 표현한 설계도” 입니다  예를 들어 **사람(Person)**이라는 개념을 코드로 만들면 아래와 같은 객체를 만들어 사용 합니다.

  • 이름(name)
  • 나이(age)
  • 인사하기(sayHello)

이런 속성과 동작을 가진 클래스를 만들 수 있습니다.


Property — “객체의 속성”을 정의하는 절차

설명:

클래스 모듈(Class Module)에서 사용되며, 객체의 **속성(프로퍼티)**을 정의합니다.
즉, 변수처럼 보이지만 내부적으로 값을 가져오거나 설정할 때 코드가 실행되도록 만듭니다.

종류:

유형 설명
Property Get 속성값 읽기(Get)
Property Let 속성값 쓰기(Set) – 일반 데이터형
Property Set 속성값 쓰기(Set) – 객체형

 

예시 : 

'// 클래스 모듈 (예: clsPerson)'//
Private pName As String

Property Get Name() As String
    Name = pName
End Property

Property Let Name(Value As String)
    pName = Value
End Property
'// 일반 모듈//'
Sub TestProperty()
    Dim person As New clsPerson
    person.Name = "홍길동"      ' Property Let 실행
    MsgBox person.Name          ' Property Get 실행
End Sub

👉 이렇게 하면, person.Name은 단순한 변수처럼 보이지만, 내부적으로 Property 코드를 거쳐 처리됩니다.


Sub 프로시저

동작만 수행하고 결과는 반환하지 않음 . 아래 Sub 프로시저 ( ShowMessage()) 를 실행 합니다.

Sub ShowMessage()
    MsgBox "안녕하세요!"
End Sub

호출 :  작성된 Sub 프로시저 ( ShowMessage())를, 자신이 만든 코드에 삽입하여 실행 합니다.

Call ShowMessage
'// 또는 그냥 //'
ShowMessage

Function 프로시저

결과값을 반환할 수 있음

Function Add(a As Integer, b As Integer) As Integer
    Add = a + b
End Function

호출: 작성된 Function  프로시저 (Function Add ())를, 자신이 만든 코드에 삽입하여 실행 합니다.

Sub TestAdd()
    Dim result As Integer
    result = Add(3, 5)
    MsgBox result   ' 8 출력
End Sub

 


◎ Sub AllowDuplicateModelItems (val as Boolean)

이 메서드는 Creo 세션 내에서 **동일한 Creo Parametric 항목(예: 동일한 이름을 가진 매개변수)**에 대해 API 모델 항목 객체가 두 번 이상 생성되는 것을 허용할지 여부를 설정합니다.

주의사항:

설명에 언급된 것처럼, 이것이 응용 프로그램(VBA 코드)에서 제대로 처리되지 않으면 **메모리 손상(memory corruption)**을 유발할 수 있는 잠재적 위험이 있습니다.

val 값 메서드 호출 중복 제어 기능 중복 생성 허용 여부
True SubAllowDuplicateModelItems(True) 꺼짐 (Off) 허용 (기본 동작)
False SubAllowDuplicateModelItems(False) 켜짐 (On) 금지/제한

예제 코드

Dim Session As IpfcBaseSession
Session.AllowDuplicateModelItems (False)

MsgBox "Creo 세션에서 중복 모델 항목 생성 제어 기능이 활성화되었습니다 (False 전달).", vbInformation

 

by korealionkk@gmail.com


반응형