반응형
□ Save As & Open
기존 파일("D3")을 새로운 파일 이름으로("D5") 저장 하고, Open 하는 기능 입니다
IpfcModel.CopyAndRetrieve()
Function
CopyAndRetrieve (NewName as String, Instructions as IpfcCopyInstructions [optional]) as IpfcModel
모델을 새 모델에 복사하고 새 모델을 메모리로 검색합니다.
- 기존 모델을 새로운 모델로 하드 디스크 (Current Working Folder)에 저장 합니다
- 새로운 모델 이름은 "확장자" 까지 포함 해야 합니다. 예) korea1000.prt
- 하드 디스크에 동일한 이름이 존재 한다면 새로운 모델 이름으로 덮어 쓰기를 합니다.
- 동일한 이름이 Session에 존재 한다면, 스크립트 오류 메세지를 표시 합니다.
- Creo 9.0에서는 Instructions as IpfcCopyInstructions [optional] 은 제공 하지 않습니다. Null로 입력 합니다.
Code
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection
Dim BaseSession As pfcls.IpfcBaseSession
Dim model As pfcls.IpfcModel
Dim Newmodel As pfcls.IpfcModel
Dim ModelDescriptor As IpfcModelDescriptor
Dim Window As pfcls.IpfcWindow
Set conn = asynconn.Connect("", "", ".", 5)
Set BaseSession = conn.Session
Set model = BaseSession.CurrentModel
'// New Model Create & Open
Set Newmodel = model.CopyAndRetrieve(NewFileName, Null)
Set ModelDescriptor = NewModelDescriptor.CreateFromFileName(NewFileName)
Set Window = BaseSession.OpenFile(ModelDescriptor)
Set model = Window.model
'// Open 모델 활성화
Window.Activate
다음과 같은순서로 모델을 저장 하고, Open 합니다.
- IpfcModel.CopyAndRetrieve() : 새로운 파일 하드 디스크와 Session에 저장 합니다.
- IpfcBaseSession.OpenFile() : Session에 있는 새로운 파일을 Creo에 불러옵니다.
- IpfcWindow.Model : Creo에 불러온 모델을 Window에 표시 합니다
□ Dimension Update
모델에 지정한 이름의 치수를 입력된 값으로 저장 합니다.
IpfcBaseDimension.DimValue
치수의 값입니다. 모델이 완전히 재생성되면 항상 양수입니다. IpfcBaseDimension.ExtendsInNegativeDirection 속성을 사용하여 치수 방향이 피쳐 기본값과 반대 방향인지 여부를 확인합니다. 이 속성을 설정할 때 음의 값을 입력하면 치수의 방향이 반전됩니다.
Usage example code
Dim NewDimensionNameCount As Long
NewDimensionNameCount = Worksheets("Program01").Cells(13, Columns.Count).End(xlToLeft).Column
NewDimensionNameCount = NewDimensionNameCount - 3 '// "D13". "E13", "F13". . .
Dim Modelowner As IpfcModelItemOwner
Dim BaseDimension As IpfcBaseDimension
Dim I As Long
Set Modelowner = model
For I = 0 To NewDimensionNameCount - 1
Set BaseDimension = Modelowner.GetItemByName(EpfcModelItemType.EpfcITEM_DIMENSION, Cells(13, I + 3))
BaseDimension.DimValue = Cells(14, I + 3)
Next I
cell에 입력된 값을 모델에 보내는 기능 입니다.
'VBA, VB.NET For Creo' 카테고리의 다른 글
변수 선언 : CREO 활성화된 Window 연결 (0) | 2024.04.10 |
---|---|
#4 데이터를 선택하여, 모델을 변경 하기 (1) | 2024.04.07 |
#2 데이터를 선택하여, 모델을 변경 하기 (0) | 2024.04.01 |
#1 데이터를 선택하여, 모델을 변경 하기 (0) | 2024.03.30 |
Creo 서피스 분석 (0) | 2024.03.27 |