Point cloud link in IFC Project
Hello! What is your favourite way to load a point cloud within an IFC so you do not have to reload it each time?
I use Point Cloud Visualizer, and I find it perfect, except that I have to reload the point cloud each time I need to revert the IFC Project.
Tagged:
Comments
Hi! Can you please show an example how it currently works for you with Point Cloud Visualizer?
Here you can find the steps:



1) Load an Ifc file, create an empty blender object, create a blender cube object and set its viewport visibility to "Wire"
2) Select the empty object and load the ply file with PCV, rotate it and align it with the model;
3) Enable clipping and set the cube as clipping object;
4) Repeat this operation for the other point clouds I need (generally at least 2-3: one for the external building and several for the interior).
Usually set just one clipping object for all the point clouds, so I can clip them together.
If it helps, you can store point cloud data in IFC by converting it to mesh after step 2 - https://jakubuhlik.com/docs/pcv/convert.html#mesh and then assigning IFC class. Then when you reopen IFC, you can generate PCV data from point cloud object's mesh vertices - https://jakubuhlik.com/docs/pcv/generate.html#mesh-vertices
But IFC doesn't have options to store any point cloud data besides the positions (such as colors, sizes, normals, ets) - https://github.com/IfcOpenShell/IfcOpenShell/issues/363. And it seems there is no native IFC way to link some .ply file to the element/representation.
Thanks @Andrej730 for the advice! The project i'm working on has more than 6 Gbyte of point cloud data, so I'd prefer to avoid to have it stored inside the IFC file.
Just thinking out loud, but what I'd think that could be nice would be to have it linked as a document (ProjectDocumentInformation ?) like we do with drawings (as they also are in the end external resources).
So in the "Drawings and Documents" tab we could host a dedicated menu for it, and in case PCV is installed, .... well, i don't know ... :)
Or perhaps something in the References tab under "Drawings and Documents"?
I can share a script I've used in the past when I had the same problem. Nowadays I elect on using the same Blend file all along the life of my project (which has its own quirks when things get corrupted but this happens WAYYY less than a few versions ago) so I don't need to reload PCV settings.
This creates a Pset on an IFC element that acts a proxy for the point cloud. It stores a number PCV settings and the clipping cube transform. There are two operators, one to store the settings when you quit Blender, and one to restore the settings when you imported the project in a blank blend file.
This should work as is, if you don't see the operators with F3 you need to enable developer extras in the preferences. You can add properties to store / restore by modifying the paths and property name in
pcv_mapping_dict
I can share a script I've used in the past when I faced the same problem. I don't use it anymore since I have since elected to using the same Blend file all throughout the project, which has its own drawbacks but far less than a few versions ago.
This creates a Pset on the selected IFC object with relevant PCV data. It also stores the clipping box transform.
You should be able to run this in the script editor and F3 > Store PCV Settings or F3 > Update PCV Settings. If you don't see these prompts enable Developer Extras in the preferences. You can setup other properties in the
pcv_mapping_dict
dictionary.