업무 자동화/VBA, VB.NET For Creo
IpfcModel : Function IsCommonNameModifiable()
ToolBOX01
2025. 11. 14. 22:08
반응형
◎ Function IsCommonNameModifiable()
특정 모델의 공통 이름(Common Name)을 수정할 수 있는지 여부를 확인하는 데 사용됩니다. 모델 객체 (IpfcModel)의 속성 중 하나인 CommonName을 프로그래밍 방식으로 변경하는 것이 허용되는지 여부를 확인합니다.
반환값:
- True (Boolean): 모델의 공통 이름을 수정할 수 있습니다.
- False (Boolean): 모델의 공통 이름을 수정할 수 없습니다 (읽기 전용).
🛠️ 사용 시나리오
이 함수는 모델의 메타데이터를 수정하는 자동화 스크립트에서 사전 검사 용도로 주로 사용됩니다.
- 조건부 이름 수정:
스크립트가 여러 모델을 순회하며 공통 이름을 표준화해야 할 때, 이 함수를 사용하여 수정 가능한 모델에 대해서만 이름 변경 로직을 실행하도록 할 수 있습니다. 이를 통해 불필요한 API 호출 오류(IpfcXToolkitNoPermission 등)를 방지할 수 있습니다. - 권한 확인:
모델 파일의 상태(예: PDM 시스템에 체크인된 상태, 읽기 전용으로 잠긴 상태 등)에 따라 이름 수정 권한이 달라질 수 있습니다. 이 함수는 현재 Creo 세션 상태에서 쓰기 권한이 있는지 간접적으로 확인하는 데 도움이 됩니다.
💻 Sample code
현재 활성화된 모델의 공통 이름 수정 가능 여부를 확인하고, 수정이 가능하다면 새로운 이름으로 변경하는 VBA 코드 예시입니다.
Dim session As pfcls.IpfcBaseSession
Dim CurrentModel As IpfcModel
Set CurrentModel = Session.CurrentModel
'// 공통 이름 수정 가능 여부 확인 (FunctionIsCommonNameModifiable) //'
Dim IsModifiable As Boolean
IsModifiable = CurrentModel.FunctionIsCommonNameModifiable()
Dim CurrentCommonName As String
CurrentCommonName = CurrentModel.CommonName
If IsModifiable = True Then
'// 수정이 가능할 경우 새로운 공통 이름 설정 //'
Dim NewCommonName As String
NewCommonName = "STANDARDIZED_" & CurrentModel.FileName '// 예시 새 이름 '//
'// 공통 이름 변경 //'
CurrentModel.CommonName = NewCommonName
MsgBox "✅ 공통 이름 수정 가능: " & vbCrLf & _
"기존 이름: " & CurrentCommonName & vbCrLf & _
"새 이름: " & CurrentModel.CommonName, vbInformation
Else
'// 수정이 불가능할 경우 //'
MsgBox "❌ 공통 이름 수정 불가능: " & CurrentCommonName & vbCrLf & _
"이 모델은 공통 이름을 수정할 수 없습니다 (읽기 전용 상태일 수 있습니다).", vbExclamation
End If
by korealionkk@gmail.com

반응형