Rh8 Beta: Import of .ply pointcloud not working?

Dear fabricators of my favourite 3D tool,

I’m using the Rh8 Beta on an M1 Mac and when I import a .ply point cloud I get the menu to choose which scale and so on, but the actual point cloud doesn’t get imported:

Command: Import
Successfully read file “…/231114_Hafenstraße_51_Scan.ply”
Command: SelLast
SelLast selection set is empty.

Importing the same .ply in RH7 on M1 works.

Any hints? Thank you in advance

Hello- can you post the ply or send to tech@mcneel.com, to my attention, with a link back here in your comments?

-Pascal

Since the .ply is very large I sent a link to your e-mail.

Importing/opening the .ply in RH7 or CloudCompare is working fine. Also a different file format like .e57 doesn’t work in RH8 Beta

Works here.

Can you run Rhino’s SystemInfo command and post the output?

– Dale

I found one problem. The importer places the file on the layer “Default” which was locked and disabled/invisible, although another layer had been activated while importing… That’s not how it should work, right?

Which is very odd though, is that the .PLY file gets cropped. The .E57 file is complete…

On the left is the complete .e57 file, on the right the .PLY

System Info:
Rhino 8 SR0 2023-10-24 (Rhino 8 BETA, 8.0.23297.13304, Git hash:master @ 4368ce4c82870d4ce7b0ef004198da23d48ffe5f)
License type: Educational Lab License, build 2023-10-24
License details: Cloud Zoo
Expires on: 2023-12-08

Apple macOS Version 12.5.1 (Build 21G83) (Physical RAM: 32Gb)
Mac Model Identifier: MacBookPro18,2
Language: en-DE (MacOS default)
.NET 7.0.0

Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Apple M1 Max
Color LCD (1728 x 1117 @ 120.00Hz)

USB devices
None

Bluetooth devices
None

Third party kernel extensions
None

Third party plugins
/usr/lib/swift/libswiftAppKit.dylib
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftCoreData.dylib
/usr/lib/swift/libswiftCoreFoundation.dylib
/usr/lib/swift/libswiftCoreGraphics.dylib
/usr/lib/swift/libswiftCoreImage.dylib
/usr/lib/swift/libswiftDarwin.dylib
/usr/lib/swift/libswiftDispatch.dylib
/usr/lib/swift/libswiftFoundation.dylib
/usr/lib/swift/libswiftIOKit.dylib
/usr/lib/swift/libswiftMetal.dylib
/usr/lib/swift/libswiftObjectiveC.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswiftCloudKit.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftCryptoTokenKit.dylib
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftContacts.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCoreML.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftOSLog.dylib
/usr/lib/swift/libswiftVision.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswiftNetwork.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftFileProvider.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftPrivate_BiomePubSub.dylib
/usr/lib/swift/libswiftPrivate_BiomeStreams.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/usr/lib/log/liblog_network.dylib

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
/Applications/RhinoWIP.app/Contents/Frameworks/RhMaterialEditor.framework “Renderer Development Kit” 8.0.23297.1002
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp “Commands” 8.0.23297.13304
/Applications/RhinoWIP.app/Contents/PlugIns/NamedSnapshots.rhp “Snapshots” 8.0.23297.1002
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCodePlugin.rhp “RhinoCodePlugin” 8.0.23297.13304
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp “RDK_EtoUI” 8.0.23297.13304
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/MeshCommands.rhp “MeshCommands” 8.0.23297.13304
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp “Rhino Render” 8.0.23297.13304
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp “RhinoCycles” 8.0.23297.13304
/Applications/RhinoWIP.app/Contents/PlugIns/import_E57.rhp “E57 Import” 8.0.23297.1002
/Applications/RhinoWIP.app/Contents/PlugIns/SectionTools.rhp “SectionTools” 8.0.23297.1002
/Applications/RhinoWIP.app/Contents/PlugIns/RhinoRender.rhp “Legacy Rhino Render” 8.0.23297.1002
/Applications/RhinoWIP.app/Contents/PlugIns/Displacement.rhp “Displacement” 8.0.23297.1002
/Applications/RhinoWIP.app/Contents/PlugIns/import_PLY.rhp “PLY - Polygon File Format Import” 8.0.23297.1002
/Applications/RhinoWIP.app/Contents/PlugIns/PanelingTools.rhp “PanelingTools” 8.0.23297.1002
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp “IronPython” 8.0.23297.13304
/Applications/RhinoWIP.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp “Grasshopper” 8.0.23297.13304

Hello- here, on Windows at least, I get the full point set from the ply file as far as I can tell.

image

I will try on Mac.

looks OK. @ice if you select the ‘truncated’ version and type in ‘What’ and Enter, what is the number of points shown? Should be 12,477,926

I beleive this works correctly in the latest V8s here and should be fixed in an SR soon.

-Pascal

Hello, I landed here because I’m having the same problem on an M1 macbook air with what I assume is the latest SR build.

The PLY pointclouds are inserted via the command and when I select-all the bottom log reports they are added to selection. However, the points were not rendering after placement. Further, the gumball wasn’t appearing on select.

Orbiting, I noticed the gumball was actually there, just placed really far away from the model, and the pointcloud would render as long as that gumball was in the view frustum. A lot of these 3D photogrammetry pipelines create garbage distant origins, which is probably the root problem. I think some metal-based ptimization is just breaking the rendering in this case.


Visible when placing.

Disappears on place.

Returns when origin is in view frustum.

Loving the rendering performance on metal.

Rhino 8 SR5 2024-3-12 (Rhino 8, 8.5.24072.13002, Git hash:master @ e3530849b75f00b2b977766a567ae29b055837e9)
License type: Evaluation, build 2024-03-12
License details: Cloud Zoo
Expires on: 4703907-01-08

Apple macOS Version 14.3.1 (Build 23D60) (Physical RAM: 8GB)
Mac Model Identifier: MacBookAir10,1
Language: en-US (MacOS default)
.NET 7.0.0

Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Apple M1
Color LCD (1440 x 900 @ 60.00Hz)
Rhino 8 SR5 2024-3-12 (Rhino 8, 8.5.24072.13002, Git hash:master @ e3530849b75f00b2b977766a567ae29b055837e9)
License type: Evaluation, build 2024-03-12
License details: Cloud Zoo
Expires on: 4703907-01-08

Apple macOS Version 14.3.1 (Build 23D60) (Physical RAM: 8GB)
Mac Model Identifier: MacBookAir10,1
Language: en-US (MacOS default)
.NET 7.0.0

Metal GPU Family Apple 7
Metal GPU Family Common 3
Metal GPU Family Mac 2
Graphics processors
Apple M1
Color LCD (1440 x 900 @ 60.00Hz)

Hi Partiform -

Reading through this thread, it looks like quite a few things are being discussed, and from your post, I’m not sure what the problem is. Please post or upload the PLY file so there’s something to check here.
-wim

Of course! Here’s a download link. The link expires in 3 days and units are in meters.
RE the thread, this might be a different issue, but same symptom and platform.

I can see on MacOS Rhino 8, point clouds get unexpectedly culled if the PLY origin is far away and outside the view frustum. After importing, it appears like the point cloud didn’t load into the scene, similar to OP’s description.

The linked file should have the problem, I’d expect it only on the metal renderer, because the issue isn’t there in rhino 7 on this machine.

For now I fixed the rendering issue by moving all PLY points towards the origin using python.