반응형
Feature Delete - V1이 어려워 프로그램 안에서 선택한 Feature를 삭제하는 프로그램 입니다.
Sub feature_delete()
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection
Set conn = asynconn.connect("", "", ".", 5)
Dim oSession As IpfcBaseSession
Set oSession = conn.Session
Dim oModel As IpfcModel
Set oModel = oSession.CurrentModel
Dim oSolid As IpfcSolid
Set oSolid = oModel
Dim oFeatures As IpfcFeatures
Set oFeatures = oSolid.ListFeaturesByType(False, EpfcFeatureType.EpfcFeatureType_nil)
Dim oFeature As IpfcFeature
Set oFeature = oFeatures.Item(9)
Dim featureOperations As New CpfcFeatureOperations
Dim oDeleteOperation As IpfcDeleteOperation
Set oDeleteOperation = oFeature.CreateDeleteOp
oDeleteOperation.Clip = True
Dim oRegenInstructionsCreate As New CCpfcRegenInstructions
Dim regenInstructions As IpfcRegenInstructions
Set regenInstructions = oRegenInstructionsCreate.Create(True, True, Nothing)
regenInstructions.UpdateInstances = False
Call featureOperations.Append(oDeleteOperation)
Call oSolid.ExecuteFeatureOps(featureOperations, regenInstructions)
Call oSession.CurrentWindow.Refresh
'Disconnect with Creo
conn.Disconnect (2)
End Sub
▶ Creo 모델에서 Feature들을 모두 가져오는 코팅 입니다
Set oFeatures = oSolid.ListFeaturesByType(False, EpfcFeatureType.EpfcFeatureType_nil)
▶9번째 Feature를 선택 합니다
Set oFeature = oFeatures.Item(9)
▶선택된 Feature를 삭제 하는 코딩 입니다.
Call oSolid.ExecuteFeatureOps(featureOperations, regenInstructions)
* 주의 사항 : Feaure를 삭제 하면 참조 관계가 있는 자식 Feature가 있습니다. 강제적으로 삭제하도록 코딩 했습니다.
oDeleteOperation.Clip = True
또한 Feature 삭제 함수에서 regen 명령을 수행 합니다. config.pro 에서 regen_failure_handing 값을
resolve_mode를 사용 해야 합니다.
비즈니스 문의 lionkk@idt21c.com
'VBA For Creo' 카테고리의 다른 글
# 2 2D pdf 파일 변환 프로그램 (0) | 2021.02.10 |
---|---|
# 1 3D Step 파일 변환 프로그램 (0) | 2021.02.09 |
자동화 오류 - 2147417851 (80010105) (0) | 2021.02.08 |
Feature Delete - V1 (0) | 2021.02.07 |
4-7 # Parameter : Part File List 프로그램 Ver 0.2 (0) | 2021.02.07 |