Open SowisLiuYiming opened 2 years ago
Hello,
As I understand it, you want to script snapshots of a 3D scene as you can with the CloudCompare GUI with the Render to file
menu action, after selecting what to display, choosing a viewpoint, and, perhaps, all the display options the GUI offers.
In CloudComPy's design, the Python wrapper does not take into account the GUI layer, and CloudComPy does not care about a 3D view, a viewpoint, what is displayed... No GUI Display
menu actions are available in CloudComPy.
Taking into account in CloudComPy all the possibilities offered by the Display
menu of the CloudCompare graphical interface implies a big redesign work, with many modifications in the CloudCompare sources. This is something I had imagined to do, but not in the near future. Nevertheless, I can check if it is possible to wrap a simple snapshot function with a virtual 3D view, without writing too much C++.
If you want to specify your use case, I can check, but no guarantees!
Regards,
Paul
Hello, Thank you for your reply. My requirement is to snapshot a bin file.The output format is unlimited. if you can check if it is possible to wrap a simple snapshot function with a virtual 3D view.I would appreciate it very much. Regards, Leo
Hello,
I have series of point clouds (several hundred), generated from several time-lapse cameras. I would like to make a time-lapse video from particular view point. In this case Render to File in CloudComPy would be very useful. So any update on this issue would be very appreciated from my side. Regards
Hello, I have a quick and dirty development on a branch on this problem, able to do the job, when it doesn't freeze the system completely! I need to find a clean way to do it, hoping not to rewrite too much code... Paul
Any update/progress on this "render to file" feature? One of the features I was hoping to do with CloudComPy was to trigger generation of 3D renderings to BMP/JPG when new xyz files are detected from data filesource.
Hello, for your information, the render to file feature has been added in the May 24, 2023 version. Please don't hesitate to ask for more information or improvements. Regards, Paul
@prascle Thanks for that upgraded version! I've tested it out and it works well.
@prascle a "nice to have" would be the ability to paint/highlight a difference area between two point clouds in different colours. We currently use CloudCompare to manually generate the render for two point clouds where a section of the cloud has changed in volume. Because there's no function to do so, someone will manually load the render in Photoshop and highlight/paint the area that has changed. This would be a nice option for the render to file feature.
@prascle a "nice to have" would be the ability to paint/highlight a difference area between two point clouds in different colours. We currently use CloudCompare to manually generate the render for two point clouds where a section of the cloud has changed in volume. Because there's no function to do so, someone will manually load the render in Photoshop and highlight/paint the area that has changed. This would be a nice option for the render to file feature.
Hi, we work on similar highlighting of volume changes (end up using powerpoint as a final product so it's fine anyways).
I just wanted to point out that I recently discovered PyVista has some very very nice visualization tools for point clouds that I find very easy to adjust and manipulate. It even has EDL shading like CloudCompare. It has been able to satisfy our needs for generating automatic images of point clouds that look similar to CloudCompare. PyVista also seems to be working fine in the CloudComPy environment, so I can use both in the same scripts.
Best, Luke
Hi @kxd195, I am sorry, i did not answer to your post.
I am not sure I understand your problem correctly, but, if you are able to compute a scalar field representing what has changed, it is possible to render this scalar field in the render function. In my example test051py I use cloud methods such as setCurrentDisplayedScalarField
or showNormals
to build the image.
If you think something is missing, let me know: if you are able to render manually with the CloudCompare GUI, tell me what you are doing, I will try to add what is missing.
Best, Paul
@prascle @lmweidner what we do is we have backhoes that excavate/dig the ground. Every 6 hours, we take a mapping of the work area and it generates the point cloud for us. Manually using CloudCompare, we can see the volume difference between the current point cloud vs the one 6 hours ago, which gives us the amount of area/volume that has been excavated.
Now we're trying to automate this process using CloudComPy, so that we can generate not just the 3D render, but we'd like to "paint" each 6hr excavated area a different colour. We understand that we'd most likely generate a 3D render of two point clouds at a time, and then merge these renders together (each render with a different colour), so that for example, we can see over a 24hr period, you can see which areas has been excavated and based on colour, see which area was done for each 6hr period.
Is there an interface to operate below in cloudCompy?
GUI Display -> render to file