본문 바로가기
  • Welcome!
카테고리 없음

ChatGPT - CREO 모델의 사이즈(KB)를 구하는 VBA 코드

by ToolBOX01 2023. 2. 21.

CREO 모델의 사이즈를 구하는 VBA 코드는 다음과 같이 작성할 수 있습니다.

Public Function GetModelSize(ByVal filePath As String) As Double
    'CREO 모델 파일 경로 지정
    Dim modelFilePath As String
    modelFilePath = filePath

    'CREO Application 객체 생성
    Dim app As Object
    Set app = CreateObject("pfcCreoApplication.CreoApplication")

    'Model Descriptor 객체 생성
    Dim modelDesc As Object
    Set modelDesc = app.GetModelDescriptorFromFileName(modelFilePath)

    'Model 객체 생성
    Dim model As Object
    Set model = modelDesc.Model

    'Model Size 구하기
    Dim size As Double
    size = model.GetSize / 1024 '크기를 KB 단위로 반환하므로, 1024로 나누어 MB 단위로 변환

    '객체 해제
    Set model = Nothing
    Set modelDesc = Nothing
    Set app = Nothing

    'Model Size 반환
    GetModelSize = size
End Function

위 코드에서 GetModelSize 함수는 CREO 모델 파일의 경로를 인자로 받아 해당 파일의 사이즈를 반환합니다.

함수 내부에서는 CreateObject 함수를 사용하여 CREO Application 객체를 생성하고, GetModelDescriptorFromFileName 함수를 사용하여 Model Descriptor 객체를 생성합니다. 그 후, Model 속성을 사용하여 Model 객체를 생성하고, GetSize 함수를 사용하여 Model 파일의 크기를 KB 단위로 반환합니다.

마지막으로, 반환된 값에서 1024로 나누어 MB 단위로 변환한 뒤, 객체를 해제하고 함수를 종료합니다.

사용 예시:

Sub Test()
    Dim size As Double
    size = GetModelSize("C:\Users\example\model.prt")
    Debug.Print size & " MB"
End Sub