Hi guys,
I am wondering to ask for your feedback about the possibility to convert a pointcloud data (ascii, xyz, ply, ptx..) to a IFC format and to visualize the "Pointcloud.ifc" with the compatible software on the market. The reason is to validate the data trough the foudation classes and Building Smart protocols. Would it be possible? Thanks for sharing!
Lorenzo
Depends on how much effort you want to invest.
Object recognition from point clouds is a widely researched topic, for example: https://www.sciencedirect.com/science/article/pii/S0097849315001119
There is also research on efficiently embedding point clouds into IFC https://pure.tue.nl/ws/files/60197483/krijnen_beetz_ifc_pointclouds.pdf but it breaks compatibility with existing software
I don't think there are off the shelves solutions that you can readily use now. Neither is existing IFC software equipped to meaningfully explore point cloud datasets.
Well, these are such useful articles, even if these go far beyond my real purpose.
If the entity IfcCartesianPoint would be splayed as proper element it would be possible to identify the point cloud as a group of IfcCartesianPoints. Adding also the direction of each point it will be possible to splay also the normal of the vector of each point. So is it right to look for a relation between IfcCartesianPoint and point cloud data?
IfcCartesianPoint would be splayed
Like I said, I don't think currently viewers will display those. But in open source viewers adding support for that would be fairly trivial.
Adding also the direction of each
Currently the IFC schema has no means for associating any metadata with an IfcCartesianPoint or IfcCartesianPointList3D. The research in https://pure.tue.nl/ws/files/60197483/krijnen_beetz_ifc_pointclouds.pdf does provide ways for that though.
Perhaps it's helpful if you can share a bit more about what software you are using and for what use cases. The discussion on a hypothetical level is not always useful if you need to work with particular proprietary software packages.
pythonOCC can at least display .pcd data:
https://github.com/tpaviot/pythonocc-demos/blob/master/examples/core_display_point_cloud.py
Not sure whether that helps at all!?
Indeed AIS_PointCloud is a great idea if you're willing to quickly prototype you're own viewer for mashing up BIM and PC data! Keep in mind that the PCD loading [1] is a bit naive (e.g. assumes ASCII pcd, specific num of header rows and no additional fields per point).
[1] https://github.com/tpaviot/pythonocc-demos/blob/master/examples/core_display_point_cloud.py#L51
@thorade's link is an extension ( supporting per vertex color's from .pcd file ) on the core_display_point_cloud.py demo
Most helpful comment
Depends on how much effort you want to invest.
Object recognition from point clouds is a widely researched topic, for example: https://www.sciencedirect.com/science/article/pii/S0097849315001119
There is also research on efficiently embedding point clouds into IFC https://pure.tue.nl/ws/files/60197483/krijnen_beetz_ifc_pointclouds.pdf but it breaks compatibility with existing software
I don't think there are off the shelves solutions that you can readily use now. Neither is existing IFC software equipped to meaningfully explore point cloud datasets.