Hi Alexey,
Can you please provide the processing log related to the mesh generation end export operations?
And please provide some additional information regarding the following steps:
- chunk.dense_cloud.assignClass[2]
- buildModel - HighFaceCount, HeightField, EnabledInterpolation, ElevationData, classes=[2]
- buildTexture - size=2048
The steps we followed are:
Assign all points to class 2 (Ground) in point cloud)
Buildmodel (we had originally used the elevation data source for this call but since tested with the dense cloud with the same results)
Build UV map and Build Texture
Here are the function calls for each step respectively:
chunk.dense_cloud.assignClass(2)
chunk.buildModel(
surface=PhotoScan.HeightField,
interpolation=PhotoScan.EnabledInterpolation,
face_count=PhotoScan.HighFaceCount,
source=PhotoScan.DenseCloudata,
classes=[2]
)
chunk.buildUV(mapping=PhotoScan.AdaptiveOrthophotoMapping)
chunk.buildTexture(size=2048)
chunk.exportModel(
output_file,
format=PhotoScan.ModelFormat.ModelFormatDXF_3DF,
texture=False,
projection=chunk.crs
)
We haven't submitted the crash report. What is the proper process for submitting these reports? Is there a way to configure PhotoScan to automatically submit crash logs to you when this happens?
We noticed that on the same project, exporting the DXF from the menu completes in half a second, making what we would expect to be the same call through the Python API takes upwards of an hour for the exact same chunk.
Is there something wrong with the way we're calling export Model?
We also stumbled upon a peculiar behaviour where specifying the callback function parameter in the export Model function causes it to take an order of magnitude longer than calling the function without the callback.
IE: The command below completes in a second for our test case
chunk.exportModel('test.dxf',
format=PhotoScan.ModelFormat.ModelFormatDXF_3DF,
texture=False)
While this command takes >10 seconds
chunk.exportModel('test.dxf',
format=PhotoScan.ModelFormat.ModelFormatDXF_3DF,
texture=False,
projection=chunk.crs, progress=lambda arg: print(arg))
Is it possible that the callback is being called too frequently? We really only need this every few seconds or so.
Cheers,
J