next msg
Dim v As RobotView
Set v = RobApp.Project.ViewMngr.GetView(1)
v.SetVisibilityStatus I_VVST_ENVELOPES, I_VVSV_ENVELOPES_MAX
'for bottom envelope
'v.SetVisibilityStatus I_VVST_ENVELOPES, I_VVSV_ENVELOPES_MIN
v.Redraw 1
Dim v As RobotView
Set v = RobApp.Project.ViewMngr.GetView(1)
Dim l As Double, t As Double, b As Double, r As Double
l = 0
t = 0
b = 0
r = 0
v.GetZoom l, t, r, b
v.SetVisibilityStatus I_VVST_ENVELOPES, I_VVSV_ENVELOPES_MAX
'for bottom envelope
'v.SetVisibilityStatus I_VVST_ENVELOPES, I_VVSV_ENVELOPES_MIN
v.Redraw 1
v.SetZoom l, t, r, b
RobApp.Project.ViewMngr.Refresh
Dim v As RobotView
Set v = RobApp.Project.ViewMngr.GetView(1)
v.SetVisibilityStatus I_VVST_ENVELOPES, I_VVSV_ENVELOPES_MAX
'for bottom envelope
'v.SetVisibilityStatus I_VVST_ENVELOPES, I_VVSV_ENVELOPES_MIN
RobApp.Project.ViewMngr.Refresh
Dim RSel As RobotSelection
Set RSel = RobApp.Project.Structure.Selections.CreateFull(I_OT_PANEL)
Dim PanelCol As RobotObjObjectCollection
Set PanelCol = RobApp.Project.Structure.Objects.GetMany(RSel)
Dim X As RobotGeoPoint3D, Y As RobotGeoPoint3D, Z As RobotGeoPoint3D
Dim Obj As RobotObjObject
Set X = RobApp.CmpntFactory.Create(I_CT_GEO_POINT_3D)
Set Y = RobApp.CmpntFactory.Create(I_CT_GEO_POINT_3D)
Set Z = RobApp.CmpntFactory.Create(I_CT_GEO_POINT_3D)
For ii = 1 To PanelCol.Count
Set Obj = PanelCol.Get(ii)
Obj.Main.Attribs.GetLCS X, Y, Z
Cells(12 + ii, 3) = Obj.Number
Cells(12 + ii, 4) = "LCS X=" + Str(X.X) + ";" + Str(X.Y) + ";" + Str(X.Z)
Cells(12 + ii, 5) = "LCS Y=" + Str(Y.X) + ";" + Str(Y.Y) + ";" + Str(Y.Z)
Cells(12 + ii, 6) = "LCS Z=" + Str(Z.X) + ";" + Str(Z.Y) + ";" + Str(Z.Z)
Next ii
Dim X As Double, Y As Double, Z As Double
Obj.Main.Attribs.GetDirX X, Y, Z
Sub screen_capture()
Dim viewRobot As IRobotView3
Set viewRobot = robapp.Project.ViewMngr.GetView(1)
Dim ScPar As RobotViewScreenCaptureParams
Set ScPar = robapp.CmpntFactory.Create(I_CT_VIEW_SCREEN_CAPTURE_PARAMS)
ScPar.Name = "capture"
ScPar.UpdateType = I_SCUT_CURRENT_VIEW
ScPar.Resolution = I_VSCR_4096
viewRobot.MakeScreenCapture ScPar
robapp.Project.PrintEngine.AddScToReport "capture"
End Sub
fichier_sortie = "d:\prb\outjpg.rtf"
RobApp.Project.PrintEngine.SaveReportToFile fichier_sortie, I_OFF_RTF_JPEG
fichier_sortie = "d:\prb\out.rtf"
RobApp.Project.PrintEngine.SaveReportToFile fichier_sortie, I_OFF_RTF
Dim ScPar As RobotViewScreenCaptureParams
Set ScPar = robapp.CmpntFactory.Create(I_CT_VIEW_SCREEN_CAPTURE_PARAMS)
ScPar.Name = "capture"
ScPar.UpdateType = I_SCUT_CURRENT_VIEW
ScPar.Resolution = I_VSCR_4096
ScPar.UpdateType = I_SCUT_COPY_TO_CLIPBOARD
view.MakeScreenCapture ScPar
Sub Copy_RobotCapture_To_WordDocument()
' Word
Dim wordApp As Word.Application
Dim wdDoc As Word.Document
Dim paragraph As Word.paragraph
Set wordApp = CreateObject("Word.Application")
Set wdDoc = wordApp.Documents.Add
' Autodesk Robot Structural Analysis
Dim RobApp As IRobotApplication
Dim ViewMngr As IRobotViewMngr
Dim ExportView As RobotView
Dim ScPar As RobotViewScreenCaptureParams
Set RobApp = New RobotApplication
If RobApp.Visible = False Then
Set RobApp = Nothing: Exit Sub
End If
Set ViewMngr = RobApp.Project.ViewMngr
For i = 1 To ViewMngr.ViewCount
If ViewMngr.GetView(i).Window.IsActive <> 0 Then
ActiveViewNumber = i: Exit For
End If
Next i
Set ExportView = ViewMngr.GetView(ActiveViewNumber)
' -------------
' Do something
' -------------
Set ScPar = RobApp.CmpntFactory.Create(I_CT_VIEW_SCREEN_CAPTURE_PARAMS)
ScPar.UpdateType = I_SCUT_COPY_TO_CLIPBOARD
ScPar.Resolution = I_VSCR_2048
ExportView.MakeScreenCapture ScPar
Set paragraph = wdDoc.Content.Paragraphs.Add
paragraph.Range.Text = " "
paragraph.Range.Paste
paragraph.Range.InsertParagraphAfter
wordApp.Visible = True
Set wdDoc = Nothing: Set wordApp = Nothing
Set RobApp = Nothing
End Sub
Stéphane Kapetanovic
Did you find this post helpful? If it gave you one or more solutions,
don't forget to accept the solution and leave a < like !
