Hi everyone, let me start with a short praise of this software, it is amazing!
And now to the point. I often export images from CloudCompare, which I then insert into CAD software for further work (I use the "Render to File" tool for this). All the export dialog settings are very useful, thanks for those. However, I quite miss the information about the position of the image.
When I import an image into CAD software (for example to create a floor plan), the program asks me for the coordinates of one of the corners, the scale of the image and the rotation. I don't know this information, so I use the default settings and manually enlarge the image according to the graphic scale in the bottom right corner of the image (you must check "Render overlay items" during export for the scale to be displayed).
After some time I found out how to get the exact "real size" dimensions of the image (scale). It's the "image width [px]" (file property) multiplied by "pixel size" (Adjust Zoom dialog) divided by "zoom" (Render to File dialog). If I divide this value by the "image width" and multiply it by the DPI (file property) and divide by 0.0254 (inches to meters conversion), I get a number that will enlarge the image to a real size when imported into CAD software. (I hope I wrote this correctly...)
The orientation (rotation) of the image can somehow be obtained from the "Camera Settings" dialog (but I haven't found the exact workflow and formulas there yet)
And now my biggest (and only) question: Can I somehow get the position of the image (for example, the coordinates of one of the image corners)?
Thanks!
Getting a real size location of the rendered image
Re: Getting a real size location of the rendered image
Ah, that's not easy! We should probably display these pieces of information somewhere at export time (even if I'm not sure for the 'orientation' part either).
Meanwhile, if you were using the default camera orientation (axis aligned), you could use the camera eye/center in the Camera settings dialog. Then shift the X or Y coordinate for instance by half the screen/image size multiplied by the pixel size.
If you have a rotated camera, then you would need once again to know the camera coordinate system/matrix... And surprisingly it seems there's no way to 'read' it anywhere at the moment... Definitely something to fix.
Meanwhile, if you were using the default camera orientation (axis aligned), you could use the camera eye/center in the Camera settings dialog. Then shift the X or Y coordinate for instance by half the screen/image size multiplied by the pixel size.
If you have a rotated camera, then you would need once again to know the camera coordinate system/matrix... And surprisingly it seems there's no way to 'read' it anywhere at the moment... Definitely something to fix.
Daniel, CloudCompare admin
Re: Getting a real size location of the rendered image
Hi Daniel, thanks a lot for the very quick reply!
Can I add an idea or a tip. In my field of work (GIS, Geographic information systems), we use the so called "World Files" for georeferencing raster files. It is a plain text file (with standardized syntax) with information about the raster transformation. The software then uses these values to deform the raster to the correct position (and preserves the original file without modification). I think this file can be used to determine the position of one of the corners, the rotation, the X scale, the Y scale, and maybe a little more. But I think there is one limitation though - this standardized World File is meant only for 2D...
You can find information about this file on the web:
https://en.wikipedia.org/wiki/World_file
https://pro.arcgis.com/en/pro-app/lates ... tasets.htm
Maybe when exporting an image from CloudCompare (Render to File) it could be possible to generate this file at the same time. As far as I know, CAD programs can't read these files automatically, however, it is a text file, so the information can be also read by a human (not just software).
Also, the values can be copied this way, which would not be possible if they were burned directly into the image.
I'm glad this is being considered as a feature worthy of adding to CloudCompare. I could really use it in my workflow.
Let us know in case there is any progress in this area. Thanks a lot again!
Can I add an idea or a tip. In my field of work (GIS, Geographic information systems), we use the so called "World Files" for georeferencing raster files. It is a plain text file (with standardized syntax) with information about the raster transformation. The software then uses these values to deform the raster to the correct position (and preserves the original file without modification). I think this file can be used to determine the position of one of the corners, the rotation, the X scale, the Y scale, and maybe a little more. But I think there is one limitation though - this standardized World File is meant only for 2D...
You can find information about this file on the web:
https://en.wikipedia.org/wiki/World_file
https://pro.arcgis.com/en/pro-app/lates ... tasets.htm
Maybe when exporting an image from CloudCompare (Render to File) it could be possible to generate this file at the same time. As far as I know, CAD programs can't read these files automatically, however, it is a text file, so the information can be also read by a human (not just software).
Also, the values can be copied this way, which would not be possible if they were burned directly into the image.
I'm glad this is being considered as a feature worthy of adding to CloudCompare. I could really use it in my workflow.
Let us know in case there is any progress in this area. Thanks a lot again!
Re: Getting a real size location of the rendered image
So playing with this idea (but in a very simple way ;), I realized that there's no way we can determine the corner unless the camera looks straight (and in orthographic mode). Otherwise, the coordinate of the corner depends on the depth (along the camera direction, and along something more complication in perspective mode).
Anyway, I added a 'info' button on the 'Render to file' dialog, and also a 'Display > Current 3D view information' method, which will display various pieces of information (that you can copy-paste): I'll let you play with that (with the latest 2.14.alpha release).
Anyway, I added a 'info' button on the 'Render to file' dialog, and also a 'Display > Current 3D view information' method, which will display various pieces of information (that you can copy-paste): I'll let you play with that (with the latest 2.14.alpha release).
Daniel, CloudCompare admin