Point deviation

Hi Charles - are you also seeing delays or ‘not-reposonding’ Rhino when making changes in this panel? Are you also running on Windows 7?



Yes, delays.
And no, Windows 10.

Hi David - thanks for the detailed test - can you tell if Worksession is relevant ? Here, an ‘attached’ mesh with 25 million points and two surfaces just… works. I do have a fairly hefty machine, I’ll try my dinky laptop at the other extreme…


Hi @Charles, @clement, all - we’re looking at restoring the Apply button. I hope it helps, but I am still a little mystified by the seemingly extreme variation in response time with the current system…


Thank you Pascal. I can try with a Win10 machine on the weekend to double check.


@pascal I had deleted my post before your reply appeared because I’m not certain whether some other variables such as other open software affected the results, and also not sure about the timings…

I don’t think Worksession is significant. I use it to have the background data such as meshes from photogrammetry in separate files from the modeling. I also usually use a considerably faster desktop, and have the files on an internal HDD. The files I loaded were from a project which is a couple of years old but were available.

I’ll try to run a more definitive test tomorrow.

Hi David - got it, thanks for testing…


@pascal - Test results

I systematically tested the V6 Beta and V5 versions of PointDeviation using a file with 697,476 points and a surface. The points are close to the surface but most are not on the surface.

V5 takes about 8 seconds to execute PointDeviation after selecting the points and the surface. The results are updated in about 2 seconds after changing the distance parameters for colors and clicking on “Apply”. Version 5 SR14 64-bit
(5.14.522.8390, 5/22/2017)

V6 Beta takes about 50 seconds to execute PointDeviation after selecting the points and the surface (8X longer than V5 for the same task). Changing one of the distance parameters results in a wait of another 50 seconds.
(6.0.17339.11131, 12/5/2017)

System Info from V6 Beta:

Rhino 6 SR0 2017-12-5 (Rhino WIP, 6.0.17339.11131, Git hash:master @ 01128be76fcfa21764b3cd10786b227fe05fc7bb)

Windows 10.0 SR0.0 or greater (Physical RAM: 12Gb)

GeForce GTX 860M/PCIe/SSE2 (OpenGL ver:4.5.0 NVIDIA 369.09)

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: Height

Vendor Name: NVIDIA Corporation
Render version: 4.5
Shading Language: 4.50 NVIDIA
Driver Date: NA
Driver Version: NA
Maximum Texture size: 16384 x 16384
Z-Buffer depth: 24 bits
Maximum Viewport size: 16384 x 16384
Total Video Memory: 2 GB

C:\Program Files\Rhino WIP\Plug-ins\Commands.rhp “Commands”
C:\Program Files\Rhino WIP\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino WIP\Plug-ins\RhinoBonusTools.rhp “Rhino Bonus Tools”
C:\Program Files\Rhino WIP\Plug-ins\RhinoRender.rhp “Rhino Render”
C:\Program Files\Rhino WIP\Plug-ins\rdk_etoui.rhp “RDK_EtoUI”
C:\Program Files\Rhino WIP\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Program Files\Rhino WIP\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino WIP\Plug-ins\RhinoCycles.rhp “RhinoCycles”
C:\Program Files\Rhino WIP\Plug-ins\Toolbars\Toolbars.rhp “Toolbars”
C:\Program Files\Rhino WIP\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino WIP\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino WIP\Plug-ins\Calc.rhp “Calc”

Hi David - thanks, that’s ugly for sure… We’ve added an ‘Apply’ button, here, and that works but I’m not convinced that we’re getting at the real problem. Still poking at it here.


Pascal - attached is the file I used for testing: PtDevTest20PC.3dm (16.0 MB)

The initial difference in speed is before the “Apply” button is relevant.

Hi David - thanks, testing it now…

@davidcockey, @clement, @Charles - I’ve attached a Commands.rhp plug-in. If you could, please give this a try as follows:

  1. Download the rhp.
  2. Right click on the saved file and choose Properties - if it is blocked, click on Unblock and then Apply. (https://wiki.mcneel.com/rhino/unblockplugin )
  3. Rename the Commands.rhp plug-in that is in the Rhino installation > Plug-ins folder.
  4. Copy the new plug-in into this folder.
    (You may need to provide need admin confirmation for steps 3 and 4)
  5. Start Rhino and drag and drop the new plug-in onto it to load it up.
  6. Try the same point deviation tests that were giving you head-aches before and let us know if there is any change…

Commands.rhp (7.3 MB)



Hi Pascal,

thank you for the update. Feels much better and i can change the text field values without interruption if i turn OFF the “automatic apply changed” checkbox. Once i click the Apply button it takes a while (20 seconds for testing a mesh with 759775 vertices against a surface with 32x32 control points) but that is ok. I have not compared the time to V5 yet as David did. If i cange some values and then use Apply again, it is faster, 8 seconds.

btw. After clicking the Apply button the dialog vanished. If i hover over a toolbar tab it comes up again. When i used the End button, then closed the dialog and run it again, it did not vanish after clicking the Apply button.


Hi Clement - that feels like progress anyway- thanks. The developer (Tim) found some inefficiencies in the interaction of the dialog and the calculation code that he was able to clean up in this latest. He guesses the quicker updates after the initial one is due to memory already being allocated. I do not know about the disappearing dialog though - that is odd.


I’ll try the commands.rhp.

I’ve seen similar behavior.

If you guys can figure out a pattern of steps to get consistent disappearance I can take a look at that.

https://mcneel.myjetbrains.com/youtrack/issue/RH-42985 is the issue to track the progress on the “Apply” button addition and speedup on start.

@pascal @tim With the new Commands.rhp installed the initial evaluationof my test file by PointsDeviation in V6 is 12 seconds, compared to 50 seconds previously, so it’s a major improvement. Still not as fast as V5 which is 8 seconds.

Updates in V6 now takes about 3 seconds after Apply is clicked, almost as fast as updates in V5.

Hi David,

There is likely to be a little bit of speed loss because of the extra layer of “stuff” everything goes through when we ported this to dotnet. Just an fyi on that. We didn’t do that simply for the sake of change and we didn’t do that because it was fun (well, kind of, something different at least), it allows us to use all of the same code on both the Windows and Mac platforms.


RH-42985 is fixed in the latest BETA

Hi @pascal,

i’ve found one issue with the _PointDeviation display, if i zoom close to an area to inspect it, points are shown in the viewport which are clearly behind the camera. This must be a bug. I can send an example privately if you cannot reproduce it.

Since i am spending hours using this command, i would like to express a few more wishes:

  1. The point deviation display is using a dynamic preview without depth buffering which makes it sometimes difficult to evaluate the results, especially when comparing parts which are thin. Would it be possible to optionally display the points with depth buffering ? (Something like CullControlPolygon, so i can only see the outside)

  2. When the End button is pressed, the command displays additional information in the CommandLine eg:

     Average distance: 0.009016009
     Median distance: 0.004664655
     Standard deviation: 0.01326047
     Maximum distance: 0.1571361
     Minimum distance: 9.982861E-08

    Would it be possible to include the min, max and average distance in the dialog while the command is running ?