Hello ManyPixels,
Dense point cloud has the option to be referenced in the coordinate system that is different from the chunk's coordinate system, but mesh model doesn't have such option.
There's a workaround script for importing models (from OBJ format) that asks for the coordinate system and properly applied chunk.transform matrix that you can use:
import Metashape
def import_mesh():
doc = Metashape.app.document
chunk = doc.chunk
path = Metashape.app.getOpenFileName("Select mesh file for import:", filter = "OBJ files (*.obj)")
if not path:
print("Nothing to import, script aborted.")
return 0
crs = Metashape.app.getCoordinateSystem("Specify CRS for imported mesh:")
if not crs:
print("Invalid CRS, script aborted.")
return 0
chunk.crs = crs
file = open(path, "rt")
lines = file.readlines()
for line in lines:
if line[0] != "v":
continue
params = line.strip().split(" ")
break
x = float(params[1])
y = float(params[2])
z = float(params[3])
file.close()
chunk.transform.matrix = Metashape.Matrix.Translation(crs.unproject((x, y, z)))
chunk.importModel(path, Metashape.ModelFormatOBJ, crs)
chunk.resetRegion()
#doc.save()
#chunk.buildTiledModel(source=Metashape.ModelData, transfer_texture=True)
label = "Custom menu/Import mesh"
Metashape.app.addMenuItem(label, import_mesh)
print("To execute this script press {}".format(label))
If you are interested in different import formats, please name those formats. It should be rather easy to adapt the script for plain-text (i.e. non-binary) formats.