# How to read a custom formatted PLY file?

**URL:** https://discourse.vtk.org/t/how-to-read-a-custom-formatted-ply-file/10718
**Category:** Support
**Created:** [February 17, 2023, 2:44am UTC](https://discourse.vtk.org/t/how-to-read-a-custom-formatted-ply-file/10718 "2023-02-17T02:44:43Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![saturdays13](https://discourse.vtk.org/user_avatar/discourse.vtk.org/saturdays13/32/6562_2.png) [@saturdays13](https://discourse.vtk.org/u/saturdays13)
#### Post date: [February 17, 2023, 2:44am UTC](https://discourse.vtk.org/t/how-to-read-a-custom-formatted-ply-file/10718/1 "2023-02-17T02:44:43Z")

</div>

I would like to know if VTK can load a PLY file of the following format.

* * *

## File header) ply format binary\_little\_endian 1.0 comment Zivid Point Cloud element vertex 2304000 property float x property float y property float z property uchar red property uchar green property uchar blue end\_header

* * *

Code)  
vtkSmartPointer reader = vtkSmartPointer::New();

```
reader->SetFileName(file_path.c_str());

char* c = reader->GetFileName();

// Visualize
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(reader->GetOutputPort(0));

vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);

vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();

vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New();

renderWindow->AddRenderer(renderer);

vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();

renderWindowInteractor->SetRenderWindow(renderWindow);

renderer->AddActor(actor);

renderer->SetBackground(0.1804, 0.5451, 0.3412); // Sea green

renderWindow->Render();

renderWindowInteractor->Start();

```

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [February 17, 2023, 10:11am UTC](https://discourse.vtk.org/t/how-to-read-a-custom-formatted-ply-file/10718/2 "2023-02-17T10:11:01Z")

</div>

please share an actual .ply file

---

<div class="post-metadata">

### Author: ![Jens\_Munk\_Hansen](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jens_munk_hansen/32/1215_2.png) [@Jens\_Munk\_Hansen](https://discourse.vtk.org/u/Jens_Munk_Hansen)
#### Post date: [February 19, 2023, 2:04am UTC](https://discourse.vtk.org/t/how-to-read-a-custom-formatted-ply-file/10718/3 "2023-02-19T02:04:43Z")

</div>

Your reader is just a vtkSmartPointer. Have you tried vtkPLYReader?

---

<div class="post-metadata">

### Author: ![saturdays13](https://discourse.vtk.org/user_avatar/discourse.vtk.org/saturdays13/32/6562_2.png) [@saturdays13](https://discourse.vtk.org/u/saturdays13)
#### Post date: [February 20, 2023, 12:46am UTC](https://discourse.vtk.org/t/how-to-read-a-custom-formatted-ply-file/10718/4 "2023-02-20T00:46:42Z")

</div>

Sorry for late reply. I’ll give you a link to the PLY file in question.

> **[Google Drive: Sign-in](https://accounts.google.com/v3/signin/identifier?dsh=S-1090442333%3A1676853945453014&continue=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1KgaJMR4qeHzYVf4xysMwyWQIvr862T-v%2Fview%3Fusp%3Dsharing&followup=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F1KgaJMR4qeHzYVf4xysMwyWQIvr862T-v%2Fview%3Fusp%3Dsharing&passive=1209600&service=wise&flowName=GlifWebSignIn&flowEntry=ServiceLogin&ifkv=AWnogHcyln5Ek7c0fj3i1GZwjXePHtVbn46cZcAwcK8pmU88_RsUUr2hWlH7jB6R_uuWypDH1u7fVQ)**
>
> Access Google Drive with a Google account (for personal use) or Google Workspace account (for business use).

---

<div class="post-metadata">

### Author: ![saturdays13](https://discourse.vtk.org/user_avatar/discourse.vtk.org/saturdays13/32/6562_2.png) [@saturdays13](https://discourse.vtk.org/u/saturdays13)
#### Post date: [February 20, 2023, 12:49am UTC](https://discourse.vtk.org/t/how-to-read-a-custom-formatted-ply-file/10718/5 "2023-02-20T00:49:59Z")

</div>

One line of code at the top of the text is missing.

vtkSmartPointer \< vtkPLYReader \> reader = vtkSmartPointer \< vtkPLYReader \> ::New();

The reader object is a vtkPLYReader.  
Is there any code I can add?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [February 20, 2023, 7:47am UTC](https://discourse.vtk.org/t/how-to-read-a-custom-formatted-ply-file/10718/6 "2023-02-20T07:47:36Z")

</div>

vtkPLYReader can read it fine, just make sure you are displaying your single poly vertex cell correctly.

```auto
Number of points: 2304000
Number of polygons: 0
Number of lines: 0
Number of vertices: 1

```
