Community Tip - You can subscribe to a forum, label or individual post and receive email notifications when someone posts a new topic or reply. Learn more! X
Hello.
I would like to change the active sheet on a drawing using VBA-API, but I can't find any way to do it, I'm new to VBA-API. The best I cold manage was to use macro to change sheets, which worked, but did produce somr undesired effect.
The documentation states "You can regenerate a sheet only if it is displayed.", so it must be possible to change the displayed sheet.
My code so far
Public Sub change_sheet_parameter() Dim conn As IpfcAsyncConnection Dim cAC As CCpfcAsyncConnection Dim session As IpfcBaseSession Dim model1 As IpfcModel Dim sheetData As IpfcSheetData Dim sheetowner As IpfcSheetOwner Dim sheetInfo As IpfcSheetInfo Set cAC = New CCpfcAsyncConnection Set conn = cAC.Connect("", "", ".", 5) Set session = conn.session Dim oModelDescriptorCreate As New CCpfcModelDescriptor Dim oModelDescriptor As IpfcModelDescriptor name_w = "SHM-7457-004.drw" 'Name of the drawing Set oModelDescriptor = oModelDescriptorCreate.Create(EpfcMDL_DRAWING, name_w, Null) Set model1 = session.RetrieveModel(oModelDescriptor) Set sheetowner = model1 Dim oWindow As pfcls.IpfcWindow Set oWindow = session.OpenFile(oModelDescriptor) oWindow.Activate Set sheetInfo = sheetowner.GetSheetInfo(1) test_ = sheetInfo.Height MsgBox test_ 'The part where I would like to change the displayed sheet. sheetowner.RegenerateSheet (1) End Sub
The .x_b is the binary format of a .x_t file. My guess is that PTC is only licensing the text format and not the binary format so you will only get the .x_t files. The only difference would be in the size of the exported file.
The results when imported into another system should be the same.