Read E57 pointcloud in IronPython

Has anyone found a way to read pointclouds with E57 format in IronPython or C++?

Regards,
Terry.

Easiest would be to just script that:

import Rhino

# loaded manitou.e57 from http://www.libe57.org/data.html
f=r"E:\RhinoModels\e57\manitou.e57"

Rhino.RhinoApp.RunScript("_Import \"{0}\" _Enter".format(f), False)

What I did not mention is that the pointcloud is too big and must be decimated before being added to the Rhino Document. Thus I need to read the file into memory and then create the pointcloud geometry. After this it can added to the Document. This is what I now do with XYZ and PLY format files. Rhino’s current limit is no more than 2GB of pointcloud data (points@12B each + colors@3B each + normals@12B each + intensities@4B each). This means clouds with over about 200M points will not be fully displayed.

The E57 format is an open standard with C++ code available for reading/writing files. I have looked at the code and the provided examples but do not yet have my head around how to do this for pointclouds. Eventually I will puzzle it out. But if someone has already done this, then it would be great to ride their wave into the beach.

For Lidar scans it seems that the E57 format is the most used and so I want to provide direct support for it.

My script also provides other benefits besides decimation for pointclouds like filtering by distance, computing normals, creating elevation, contour, slope and slope direction maps. It has an aggressive performance goal of less than 1 minute for pointclouds with 1 billion points. This includes import, decimation, computation of normals and creation of a color map.

Regards,
Terry.

Hello Terry,

Sorry for waking up this old thread but libE57Format is, I think, the most widely used C++ library for this with (slightly outdated) python bindings in pye57.

There is a new rust library e57, which I have started wrapping in Python here

Best regards,

Graham

1 Like

Thanks for the references. Finishing E57 support for my pointcloud code is still on my list of things to do. So your references should be a big help.

Regards,
Terry.

1 Like