Layer window refresh problem

Hello,

I have recently been having an issue with Rhino 8, it’s about the refreshing of layer window.
I use the same Plug-in, and it shows different results between Rhino 7 and Rhino 8.

As you can see in the videos below, Rhino 7 can successfully update the layer window when generating new object, but Rhino 8 can’t.
Futher more, when I change the panel between Layers and Display in Rhino 8, it will crash immediately. (video 2)
It seems that the Layer window has some problem in refreshing, seeing video 3, and I wondering it’s possible to get some debug string and check this out ?

Thanks,
Nick

Hi Nick,

What plugin? Please run Systeminfo and post your results.

https://discourse.mcneel.com/t/please-read-this-if-you-are-logging-a-bug-or-issue/173971/3

Hi Japhy,

Sure. Here is the Sysyeminfo:

Rhino 8 SR6 2024-4-10 (Rhino 8, 8.6.24101.05001, Git hash:master @ 32c244aa711e0034e75bec2e87d093c764820b96)
License type: Not For Resale Lab, build 2024-04-10
License details: LAN Zoo Network Node

Windows 10 (10.0.19044 SR0.0) or greater (Physical RAM: 32GB)
Running on a virtual machine: VMware7,1
.NET 7.0.0

Computer platform: DESKTOP 

Standard graphics configuration.
  Primary display and OpenGL: NVIDIA Quadro P2200 (NVidia) Memory: 5GB, Driver date: 8-5-2021 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 471.68
    > Accelerated graphics device with 4 adapter port(s)
        - Windows Main Display attached to adapter port #0

Secondary graphics devices.
  VMware SVGA 3D (VMware, Inc.) Memory: 0MB, Driver date: 5-14-2020 (M-D-Y).
    > External USB display device with 8 adapter port(s)
        - There are no monitors attached to this device!

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: 4x
  Mip Map Filtering: Linear
  Anisotropic Filtering Mode: High
  
  Vendor Name: NVIDIA Corporation
  Render version: 4.6
  Shading Language: 4.60 NVIDIA
  Driver Date: 8-5-2021
  Driver Version: 30.0.14.7168
  Maximum Texture size: 32768 x 32768
  Z-Buffer depth: 24 bits
  Maximum Viewport size: 32768 x 32768
  Total Video Memory: 5 GB

Rhino plugins that do not ship with Rhino
  C:\Program Files\Rhino 8\Moldex\Moldex3DMesh.rhp	"Moldex3D Mesh"	

Rhino plugins that ship with Rhino
  C:\Program Files\Rhino 8\Plug-ins\Commands.rhp	"Commands"	8.6.24101.5001
  C:\Program Files\Rhino 8\Plug-ins\rdk.rhp	"Renderer Development Kit"	
  C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp	"Rhino Render"	8.6.24101.5001
  C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp	"RDK_EtoUI"	8.6.24101.5001
  C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp	"Snapshots"	
  C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp	"MeshCommands"	8.6.24101.5001
  C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp	"RhinoCycles"	8.6.24101.5001
  C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp	"Toolbars"	8.6.24101.5001
  C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp	"3Dconnexion 3D Mouse"	
  C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp	"Displacement"	
  C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp	"SectionTools"	

This Plug-in is developed by my company, which is based on R8 SDK.
And I found out the reason might cause this problem, this function will use muti-thread to generate mesh objects. In this thread, it will call AddLayer() when one mesh object is done.

According to the situation above, I’m wondering if there is any method to get the signal from the main thread, so I can know that it is time to continue generating the next mesh object.

Thanks,
Nick

I ran into something similar yesterday after installing SR9 - the layer table didn’t update so i couldn’t see the new layers our plugin had created. Only saw it once though - will report if it reoccurs.