▣ 파트 또는 어셈블리에서 실패한 피처(failed features) 목록을 검색
(Retrieve a list of failed features in a part or assembly)
- IpfcSolid > ListFailedFeatures 함수는 Creo 모델(파트 또는 어셈블리)에서 재 생성중 오류가 발생하여 실패한 피처들을 식별하고 그 목록을 반환합니다. 실패한 피처는 예를 들어, 형상 생성 조건이 충족되지 않거나 참조가 손실된 등의 이유로 제대로 생성되지 않은 피처를 의미합니다.
- The IpfcSolid > ListFailedFeatures function identifies and returns a list of features in a Creo model (part or assembly) that failed to be recreated due to errors. A failed feature is one that was not created properly, for example, because the geometry creation conditions were not met or because references were missing.

Creo에서 기능 실패(Failed Features)는 모델 또는 외부 요인의 변경으로 인해 특정 Feature 나, 기능을 포함하는 구성요소가 재생성될 수 없을 때 발생합니다. 이러한 실패는 종종 모델 트리(Model Tree)나 인터페이스의 다른 영역에서 빨간색으로 표시됩니다 다음은 Creo에서 기능 실패를 식별하고 해결하는 방법에 대한 자세한 설명입니다.
▷ Feature 실패 식별 방법
- 모델 트리 (Model Tree): 실패한 Feature는 일반적으로 모델 트리 내에서 빨간색으로 강조 표시됩니다.
- 재생성 관리자 (Regeneration Manager):
재생성 관리자를 사용하여 실패한 Feature을 식별하고 해당 종속성을 조사할 수 있습니다. 효과적인 실패 분석 및 해결을 위해 재생성 관리자에 익숙해지는 것이 좋습니다. - Feature 실패 사용자 인터페이스 (Feature Failure User Interface):
Creo는 Feature 실패를 해결하기 위한 전용 인터페이스를 제공할 수 있습니다. - 실패 진단 창 (Failure Diagnostics Window):
이 창을 확인하면 실패 원인에 대한 특정 세부 정보를 얻을 수 있습니다. - Creo ModelCHECK 보고서:
Creo ModelCHECK 보고서에서 모델의 실패한 Feature을 확인할 수 있으며, 보고서에서 참조 뷰어에 접근하여 보고된 Feature과 관련된 모든 참조를 볼 수 있습니다.
▷ Feature 실패의 원인
Feature 실패의 원인은 다양하며 다음을 포함합니다:
- 부모 Feature 변경: 부모 Feature 변경은 자식 Feature의 실패를 유발할 수 있습니다.
- 누락된 참조: 스케치나 데이텀 평면과 같이 Feature에서 사용되는 모든 참조가 더 이상 유효하거나 접근 가능하지 않을 때 발생합니다.
- 가져온 형상 문제: 가져온 형상에 문제가 있거나 Feature Recognition Tool 사용 시 질량 속성(mass properties)의 변경이 실패를 야기할 수 있습니다.
- 교차하는 Feature (Self-intersecting features).
- 누락된 구성요소 (Missing components).
- 패턴 치수, 인스턴스 수, 옵션 문제.
▷ Feature 실패 해결 방법
Feature 실패를 해결하기 위한 주요 방법은 다음과 같습니다:
▣ example
- 아래 코드는 현재 open된 모델에서 재생성 오류가 있는 Feature를 검색 하는 기능 입니다.
- The code below is a function that searches for features with regeneration errors in the currently opened model.
Option Explicit
Sub failedfeatures()
On Error GoTo RunError
Application.EnableEvents = False
'// Creo Connection
Call CreoVBAStart02.CreoConnt02
Dim ws As Worksheet
Dim model As pfcls.IpfcModel
Dim Solid As pfcls.IpfcSolid
Dim Features As pfcls.IpfcFeatures
Dim Feature As pfcls.IpfcFeature
Dim i As Integer
Set ws = ThisWorkbook.Worksheets("failedfeatures")
Set model = BaseSession.CurrentModel
Set Solid = model
Set Features = Solid.ListFailedFeatures
If Not Features Is Nothing Then
For i = 0 To Features.Count - 1
Set Feature = Features.Item(i)
ws.Cells(6 + i, "C") = i + 1
ws.Cells(6 + i, "D") = model.fileName
ws.Cells(6 + i, "E") = Feature.Number
ws.Cells(6 + i, "F") = Feature.FeatTypeName
ws.Cells(6 + i, "G") = Feature.Status
Next i
Else
MsgBox "There are no failed Features", vbInformation, "korealionkk@gmail.com"
Exit Sub
End If
MsgBox "Completed failed feature validation", vbInformation, "korealionkk@gmail.com"
'// Disconnect with Creo
conn.Disconnect (2)
CleanUp:
Set asynconn = Nothing
Set conn = Nothing
Set BaseSession = Nothing
Set model = Nothing
RunError:
If Err.Number <> 0 Then
MsgBox "Process Failed: An error occurred." & vbCrLf & _
"Error No: " & CStr(Err.Number) & vbCrLf & _
"Error Description: " & Err.Description & vbCrLf & _
"Error Source: " & Err.Source, vbCritical, "Error"
If Not conn Is Nothing Then
If conn.IsRunning Then
conn.Disconnect (2)
End If
End If
End If
End Sub
▷ example : Assembly
- Creo model

- Running a vba program

프로그램을 실행 하면, 재생성시 발생 하는 오류 Feature를 검색 합니다. 누락 컴포넌트, 기간 만료 Feature (컴포넌트)를 검색 합니다. 어셈블리 파일을 기준으로 재생성 오류가 있는 컴포넌트를 검색 할수 있습니다.
When you run the program, it searches for features that occur during regeneration. It searches for missing components and expired features. You can search for components with regeneration errors based on the assembly file.
위 코드는 하위 어셈블리의 Feature (컴포넌트)는 검색이 불가능 합니다. 현재 레벨의 상태만 검색 가능 합니다.
.The above code cannot search for Features (components) in subassemblies. It can only search for the status of the current level.
그러나 응용된 프로그램을 개발 하는데 사용 할수 있습니다Session에 있는 Part 파일들을 리스트로 만들고, 오류가 발생하는 Feature들의 이름과 번호를 검색할수 있습니다
However, you can use it to develop an applied program. You can create a list of Part files in a Session and search for the names and numbers of Features that are causing errors.
Creo Parametric에서 "기간 만료 배치 또는 Feature 오류" 메시지는 모델의 컴포넌트 배치나 개별 피쳐에 문제가 생겼을 때 나타나는 일반적인 알림입니다. 이 메시지는 주로 참조 누락, 모델 변경, 또는 종속성 문제와 관련이 있으며, 모델의 재생성에 실패했음을 의미합니다.
메시지의 의미
- 기간 만료 배치 (Outdated Placement): 어셈블리의 컴포넌트(부품 또는 서브 어셈블리)가 참조하는 기준(예: 기준면, 축, 점)이 변경되거나 더 이상 유효하지 않아 배치가 최신 상태가 아님을 나타냅니다.
- Feature 오류: 돌출, 구멍, 스케치와 같은 특정 피쳐의 정의에 문제가 있거나, 피쳐가 참조하는 지오메트리(참조 형상)가 누락되거나 변경되어 모델 재생성이 실패했음을 의미합니다.
- 알림 코드: 메시지와 함께 'nmgr_reference_changed'와 같은 코드가 표시될 수 있으며, 이는 참조 변경이나 세션 내 참조 누락을 직접적으로 가리킵니다.
주요 원인
- 참조 누락: 피쳐나 컴포넌트가 의존하는 참조(기준면, 축, 모서리 등)가 삭제되었거나 현재 세션에 없는 경우 발생합니다. 예를 들어, 스케치 치수의 참조가 사라지거나 어셈블리에서 부품의 배치 기준이 변경될 수 있습니다.
- 모델 변경: 모델을 "다른 이름으로 저장(Save As)"하거나 템플릿 모델을 사용하는 과정에서 원본 참조가 올바르게 복사되지 않거나 누락될 때 오류가 발생할 수 있습니다. 또한, 참조 모델이 재생성에 실패하거나 원본 모델과 동기화되지 않은 경우에도 나타납니다.
- 종속성 문제: 대칭복사(Mirror), 패턴(Pattern) 등 원본 피쳐에 종속된 복사된 피쳐나 파생된 피쳐가 원본 피쳐의 변경으로 인해 유효하지 않게 될 때 이 오류가 발생합니다.
- 설정 문제: Creo의 설정 파일인 config.pro에서 참조 복사 관련 옵션이 부적절하게 구성된 경우입니다. 예를 들어, fail_ref_copy_when_missing_orig 옵션이 yes로 설정되어 있으면, 원본 참조 누락 시 오류가 발생합니다.
해결 방법
- 참조 재정의: 모델 트리에서 오류가 발생한 피쳐를 찾아 마우스 오른쪽 버튼을 클릭한 후 **"재정의(Edit Definition)"**를 선택합니다. 누락된 참조(예: 기준면, 축)를 새로 지정하여 피쳐를 업데이트해야 합니다.
- config.pro 설정 변경: fail_ref_copy_when_missing_orig 옵션을 no로 설정하여 Creo가 누락된 참조를 자동으로 처리하고 복사된 형상을 생성하도록 합니다.
fail_ref_copy_when_missing_orig no - 모델 트리 확인: 모델 트리에서 오류가 표시된 피쳐(일반적으로 빨간색 원 또는 노란색 삼각형으로 표시)를 확인하고, 오류 메시지 창에서 세부 정보를 검토합니다. 필요한 경우 참조 모델을 세션에 로드하거나, 누락된 컴포넌트를 현재 작업 디렉토리에서 찾아 로드합니다.
- 알림 센터 설정 조정: Creo의 **알림 센터(Notification Center)**에서 "만료된 배치 또는 피쳐" 알림의 표시 방식을 "경고" 또는 "표시 안 함"으로 변경하여 작업 중 방해를 줄일 수 있습니다. 설정 경로는 파일 > 옵션 > 알림 센터 > 만료된 배치 또는 피쳐입니다.
- 모델 재생성: 모델을 수동으로 재생성하여 오류를 확인하고 실패한 피쳐를 수정합니다. 모델 > 재생성 메뉴를 사용하거나, 문제가 되는 피쳐를 삭제하고 새로 생성하는 방법을 고려할 수 있습니다.
- 템플릿 및 파일 관리: 템플릿 모델을 사용할 때는 참조가 올바르게 유지되는지 확인하고, 작업 디렉토리 및 파일 서버에서 모든 참조 파일이 올바른 위치에 있는지 주기적으로 확인해야 합니다.
주의사항
- 오류 수정 작업을 시작하기 전에 반드시 파일을 백업하여 예기치 않은 데이터 손실을 방지하십시오.
- 복잡한 어셈블리에서는 참조 문제가 자주 발생하므로, 설계 초기부터 명명 규칙과 참조 관리를 체계적으로 설정하는 것이 중요합니다.
by korealionkk@gmail.com

'업무 자동화 > VBA, VB.NET For Creo' 카테고리의 다른 글
| Creating a Creo Connection Module (0) | 2025.07.13 |
|---|---|
| Excel VBA Study] Retrieves the list of failed features #2 (4) | 2025.07.13 |
| Excel VBA Study] Analyze the surface type of the part model (2) | 2025.07.10 |
| Excel VBA Study] Assembling the Part File #2 (0) | 2025.07.10 |
| Excel VBA Study] Assembling the Part File #1 (0) | 2025.07.08 |