Hi,
I’m using Rhino 7 and encountering a strange behavior where simply reading viewport data in GhPython causes Parallel Viewports to shift or drift away. Maybe it might be related to RH-53871?
Even with the most basic script (strictly using getters), the camera in Parallel views moves slightly every time the component solves:
import Rhino
# GetViewList(True, False) gets only standard model views, excluding page views
all_views = Rhino.RhinoDoc.ActiveDoc.Views.GetViewList(True, False)
planes = []
for v in all_views:
success, frame = v.ActiveViewport.GetCameraFrame()
if success:
planes.append(frame)
a = planes
Observations:
- This only happens in Parallel viewports (Top, Front, Right); the Perspective view remains stable.
- The movement occurs even if Preview is Disabled and no other components are connected to the output.
- It feels like a feedback loop where the act of querying the viewport property triggers an internal update.
Has anyone experienced this before? I am looking for a stable way to capture these camera planes for downstream components without causing the view to shift.
systemInfo:
Rhino 7 SR38 2024-12-3 (Rhino 7, 7.38.24338.17001, Git hash:master @ 97e36efa02d7f71638988290bb2d190fcf1b18c5)
License type: Commercial, build 2024-12-03
License details: LAN Zoo Network Node
Windows 10 (10.0.19045 SR0.0) or greater (Physical RAM: 64Gb)
Computer platform: DESKTOP
Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 2070 SUPER (NVidia) Memory: 8GB, Driver date: 8-12-2020 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 452.06
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0
- Secondary monitor attached to adapter port #1
OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU's maximum)
Anti-alias mode: None
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High
Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 8-12-2020
Driver Version: 27.21.14.5206
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 8 GB
Rhino plugins that do not ship with Rhino
C:\ProgramData\McNeel\Rhinoceros\packages\7.0\LadybugTools\1.39.0\Ladybug.RH.Loader.rhp "Ladybug.RH.Loader" 1.39.0.0
C:\ProgramData\McNeel\Rhinoceros\packages\7.0\Pollination\1.65.9\Pollination.RH.Loader.rhp "Pollination.RH.Loader" 1.65.9.0
Rhino plugins that ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Commands.rhp "Commands" 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\rdk.rhp "Renderer Development Kit"
C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp "Rhino Render" 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp "RDK_EtoUI" 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp "Renderer Development Kit UI"
D:\Users\xxxxx\AppData\Roaming\McNeel\Rhinoceros\packages\7.0\PanelingTools\2021.3.2.446\PanelingTools.rhp "PanelingTools"
C:\Program Files\Rhino 7\Plug-ins\NamedSnapshots.rhp "Snapshots"
C:\Program Files\Rhino 7\Plug-ins\IronPython\RhinoDLR_Python.rhp "IronPython" 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp "RhinoCycles" 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\Grasshopper\GrasshopperPlugin.rhp "Grasshopper" 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp "Toolbars" 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp "3Dconnexion 3D Mouse"
C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp "Displacement"
