Import BUG: OBJ to current layer, PLY to Default layer

Import a OBJ object and it goes to the current layer.
Import a PLY object and it goes to the Default layer. If Default layer does not exist it is created.
The destination should be consistent, and the current layer is preferred.
OBJ and Mesh objects for verification/testing:
ImportPLY00.ply (160.9 KB)
test-mtl.mtl (157 Bytes)
ImortMesh00.obj (6.0 KB)

This is very annoying and wastes time.

Rhino 8 SR18 2025-3-17 (Rhino 8, 8.18.25076.15001, Git hash:master @ 49582fe32924623e5c8212768d1f6acbffaa7123)
License type: Commercial, build 2025-03-17
License details: Cloud Zoo

Windows 11 (10.0.26100 SR0.0) or greater (Physical RAM: 64GB)
.NET 7.0.20

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 2080 Ti (NVidia) Memory: 11GB, Driver date: 9-26-2024 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 565.90
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port 0

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: 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: 9-26-2024
Driver Version: 32.0.15.6590
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 11 GB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.18.25076.15001
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.18.25076.15001
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.18.25076.15001
C:\Program Files\Rhino 8\Plug-ins\import_PLY.rhp “PLY - Polygon File Format Import”
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.18.25076.15001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.18.25076.15001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.18.25076.15001
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”
C:\Program Files\Rhino 8\Plug-ins\import_OBJ.rhp “Import_OBJ” 8.18.25076.15001

Bumping so someone from McNeel will see and add it to the list.

Hi David,

I’ll see what I can do. My guess is no layer is set in PLY import because PLY doesn’t have layers. That’s why it goes to Default. It wasn’t meant to annoy anybody, I just wasn’t aware it mattered. I should be able to set the layer index to what is current.

Tim

https://mcneel.myjetbrains.com/youtrack/issue/RH-86607/Set-layer-index-to-current-in-PLY-import.

@Tim Thanks for responding. Both PLY and OBJ files created in and exported from software which do not have layers (Agisoft Metashape) go to different layers when imported as noted above. So it depends on the file type, not whether there was a layer already associated with the file.

Hi David,

Yes, I understand. OBJ doesn’t technically have layers either but it does have group names, “g” and object names, “o”. I know that "g"s can be imported as layers into Rhino if that option is chosen (maybe "o"s too I can’t remember offhand). Otherwise it uses the current layer. I was only speculating that PLY used the Default layer because it had no way to specify a layer (technically not entirely true since you define your file format in the header with PLY), it could just have easily also used the current layer. It was really an arbitrary choice when I first coded the PLY plugin, OBJ too, really. Now I know that current layer is preferred. The fix will be in the first release candidate of 8.19. If you need something sooner let me know and I can give you an inhouse build tomorrow.

Tim

RH-86607 is fixed in Rhino 8 Service Release 19 Release Candidate