본문 바로가기
  • 환영 합니다 ! Welcome!
VBA For Creo

Ghost 파일을 발생 시키는 Referance 오류 파일들 검색 기능 1/2

by ToolBOX01 2024. 6. 17.
반응형

□ 참조 오류 모델의  Feature 이름 검색

어셈블 파일을 WC에 체크-인 하기 위해서는 작업공간에 Local PC의 Creo 파일들을 대단위로 "Import" 합니다. Part파일의 Feature가 참조 파는 모델이 없는 경우, Ghost 파일이 생성됩니다.  참조 오류가 있는 Part 파일 이름과 Feature의 이름을 표시 하는 프로그램을 개발 합니다.

  프로그램 개발 순서도를 작성해 봅니다.

 

프로그램 개발 전 순서도(flow chart)를 작성해 보세요

프로그램을 개발하는 업무를 하다 보면 자신의 개발 프로그램을 타인에게 설명을 해야 할 때가 있습니다. 내부함수나 외부함수를 사용하고 클래스도 별도 정의한 라이브러리에서 읽어오는 등

lifelong-education-dr-kim.tistory.com

 

[프로그램 순서도]

▷   프로그램 개발 화면 입니다.

새로 고침, 참조 체크  Error 검색, 초기화 메뉴를 가지있습니다.


1. 새로 고침 기능 

creo를 연결 과 Creo Assy를 구성 하는 모든 파일의 이름을 표시합니다.또한 중복 파일을 제거 하는 기능을 코딩 합니다.
VBA의 모듈로 구성 하였습니다. 

1) Creo를 연결 하는 기능 입니다.

CreoVBAStart001.bas
0.00MB

 

Option Explicit
Public asynconn As New pfcls.CCpfcAsyncConnection
Public conn As pfcls.IpfcAsyncConnection
Public BaseSession As pfcls.IpfcBaseSession
Public model As pfcls.IpfcModel
Public solid As IpfcSolid
Public Sub CreoConnt()
     
     '// connect creo model
     Set conn = asynconn.Connect("", "", ".", 5)
     Set BaseSession = conn.Session
     Set model = BaseSession.CurrentModel
     Set solid = model
     
    '// creo model connection check
     If model Is Nothing Then
        MsgBox "There are No Active Creo Models", vbInformation, "www.idt21c.com"
        Exit Sub
     End If
             
End Sub



2) Creo Assy를 구성 하는 모든 파일의 이름을 표시, 중복 파일을 제거 하는 기능

Worksheet의 이름은 "Feature Cleansing"로 프로그램 코드에 정의되어 있습니다.  이 코드의 대부분은 PTC에서 제공 하는 코드를 사용 했습니다. Creo의 모든 파일 이름은 cells(5,:Z")아래로 표시 되고 제거 됩니다.

Creo 연결 모듈을 호출 하는 방법은 아래와 같습니다.

  '// Module Name : CreoVBAStart
     Call CreoVBAStart001.CreoConnt

ComponentList002.bas
0.01MB

 


2. 참조 체크 기능

모델의  Referance 모델 유/무를  검색 합니다.  Session에 없는  Referance 모델 유/무를 표시 합니다..

 

1) 모델이 가지고 있는 Referance 모델 유/무를 체크 합니다

Referance Model 있음 Referance Model 없음

 

2) Session에서 Referance 모델 유/ 무를 검색 합니다.

Session에서 Referance 모델 있음 Session에서 Referance 모델 없음

 

ReferanceCheck004.bas
0.00MB

 

3) 중요한 코드

IpfcBaseSession.GetModelFromFileName
- 파일 이름이 지정된 모델 핸들을 찾아 반환합니다.
- 파일 이름 형식은 경로 없이 <모델 이름>.<확장자> 형식이어야 합니다.
- 모델 핸들을 반환  또는 모델을 찾을 수 없는 경우 null을 반환 합니다.

Function	GetModelFromFileName	(FileName as String) as IpfcModel [optional]

 

아래와 같이 코드를 적용 하였습니다. Sesson에 있는 model 이름을 사용 할수 있습니다.

'//Dependency Model Open
Set DependencyRetrieveModelDescriptor = NewModelDescriptor.CreateFromFileName(DependencyFileName)
Set DependencySessioncheck = BaseSession.GetModelFromFileName(DependencyFileName)

 

▷  참조 체크 실행 결과

 

위 Referance 오류 Model의 리스트를 가지고 Ghost 파일을 수동으로 제거 합니다. 일부 기능은 Mapley를 이용하여, 자동으로 수행 할수 있습니다.

 

빠르게 Ghost 파일 제거 하기 #1

□ Ghost 파일 이란?Windchill에서 "고스트 파일(ghost file)"은 일반적으로 시스템에서 참조되지만 실제로 존재하지 않는 파일을 의미합니다. 이러한 파일은 데이터 무결성 문제, 시스템 오류 또는 데

tool-2020.tistory.com