반응형
■ UI로 파일 저장
새로운 파일을 생성하고, UI를 통해 현재 활성화된 파일을 저장 합니다. 다음과 같은 순서로 코드를 생성 합니다.
▷ Creo 연결
Sub UI_SAVE()
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection
Dim oSession As IpfcSession
Set conn = asynconn.Connect("", "", ".", 5)
Set oSession = conn.session
▷ UI로 Creo 파일 저장 대화 상자 입력
반드시 현재 활성화 되어 있는 creo 파일을 선택 해야 합니다. "oFileSaveOptionsCreate.Create("*")" 에서
"*"는 파일 필터링 이며, "prt"/ "asm" /"drw"등을 선택할 수 있습니다
Dim oFileSaveOptionsCreate As New CCpfcFileSaveOptions
Dim oFileSaveOptions As IpfcFileSaveOptions
Set oFileSaveOptions = oFileSaveOptionsCreate.Create("*")
Dim oCreosave As String
oCreosave = oSession.UISaveFile(oFileSaveOptions)
▷폴더 이름, 파일 이름 , 버전 숫자 분리
Dim oEndword As String
Dim oEndpos As Integer
oCroeFileName As String
OcreoFileLength As Integer
oEndpos = Len(oCreosave) - InStrRev(oCreosave, "\", -1, vbTextCompare)
oEndword = Right(oCreosave, oEndpos)
OcreoFileLength = Len(oEndword) - InStr(oEndword, ".")
oCroeFileName = Left(oEndword, (Len(oEndword) - OcreoFileLength + 3))
▷ 파일 저장
ipfcmodel 클래스를 이용하여 파일을 저장 합니다. 파일 이름은 "IpfcModelDescriptor" 객체 타입 으로
정의 합니다
Dim ModelDescriptorCreate As New CCpfcModelDescriptor
Dim ModelDescriptor As IpfcModelDescriptor
Set ModelDescriptor = ModelDescriptorCreate.CreateFromFileName(oCroeFileName)
Dim session As IpfcBaseSession
Dim oModel As IpfcModel
Set session = conn.session
Set oModel = session.GetModelFromDescr(ModelDescriptor)
oModel.Save
'Disconnect with Creo
conn.Disconnect (2)
▷ 전체 프로그램 코드
Sub UI_SAVE()
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection: Set conn = asynconn.Connect("", "", ".", 5)
Dim oSession As IpfcSession: Set oSession = conn.session
Dim oFileSaveOptionsCreate As New CCpfcFileSaveOptions
Dim oFileSaveOptions As IpfcFileSaveOptions
Set oFileSaveOptions = oFileSaveOptionsCreate.Create("*")
Dim oCreosave As String
oCreosave = oSession.UISaveFile(oFileSaveOptions)
Dim oEndword As String, oCroeFileName As String
Dim oEndpos As Integer, OcreoFileLength As Integer
oEndpos = Len(oCreosave) - InStrRev(oCreosave, "\", -1, vbTextCompare)
oEndword = Right(oCreosave, oEndpos)
OcreoFileLength = Len(oEndword) - InStr(oEndword, ".")
oCroeFileName = Left(oEndword, (Len(oEndword) - OcreoFileLength + 3))
Dim ModelDescriptorCreate As New CCpfcModelDescriptor
Dim ModelDescriptor As IpfcModelDescriptor
Set ModelDescriptor = ModelDescriptorCreate.CreateFromFileName(oCroeFileName)
Dim session As IpfcBaseSession
Set session = conn.session
Dim oModel As IpfcModel
Set oModel = session.GetModelFromDescr(ModelDescriptor)
oModel.Save
'Disconnect with Creo
conn.Disconnect (2)
End Sub
Creo에서 현재 모델의 이름과 동일한 파일 이름을 선택 해야 저장 할수 있습니다. IpfcSession.UISaveFile는 자장할 파일의 이름과 path를 리턴 합니다. IpfcModel.save 으로 모델을 저장 합니다.
▷ 작업 공간 변경 코드
Dim oDirectorySelectionOptionsCreate As New CCpfcDirectorySelectionOptions
Dim oDirectorySelectionOptions As IpfcDirectorySelectionOptions
Set oDirectorySelectionOptions = oDirectorySelectionOptionsCreate.Create
Dim oCreopath As String
oCreopath = oSession.UISelectDirectory(oDirectorySelectionOptions)
Dim session As IpfcBaseSession
Set session = conn.session
session.ChangeDirectory (oCreopath)
▷ 프로그램 동작 동영상
영업 문의 : lionkk@idt21c.com
'VBA For Creo' 카테고리의 다른 글
#6 IpfcBaseSession 개체 : [Function] RetrieveModel (0) | 2021.01.15 |
---|---|
Interactive Selection - 미완성 (0) | 2021.01.14 |
#1 IpfcSession : 화면 UI를 이용하여 파일 오픈 하기 (0) | 2021.01.13 |
#2 - Hello 메세지 표시하기 (0) | 2021.01.12 |
#4 IpfcBaseSession - 지정된 디렉토리의 파일 목록 찾기 (0) | 2021.01.12 |