如何以编程方式创建 MapModel3D?
How to create a MapModel3D programmatically?
我正在开发一个使用 Windows MapControl 的 UWP 项目。
我想在地图上添加 3d 模型。我知道如何从 3mf 文件执行此操作。
但是现在我想制作程序网格并将它们添加到地图中。
我找到了关于如何在代码中创建 3mf 文件的文档:
https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/generate-3mf
我按照此文档创建了一个 Printing3D3MFPackage。
但后来我尝试从这个 3mf 包创建一个 MapModel3D,如下所示:
//package is of type Printing3D3MFPackage
var streamReference = RandomAccessStreamReference.CreateFromStream(package.ModelPart);
var myModel = await MapModel3D.CreateFrom3MFAsync(streamReference, MapModel3DShadingOption.Smooth);
我得到这个例外:
System.Runtime.InteropServices.COMException: 'Unspecified error
Failed to create MapModel3D from 3MF stream.'
所以我猜这些流不兼容。
有人知道怎么做吗?
试试这个:
…
await package.SaveModelToPackageAsync(model);
var packageStream = await localPackage.SaveAsync();
var streamReference = RandomAccessStreamReference.CreateFromStream(packageStream );
var myModel = await MapModel3D.CreateFrom3MFAsync(streamReference, MapModel3DShadingOption.Smooth);
我正在开发一个使用 Windows MapControl 的 UWP 项目。 我想在地图上添加 3d 模型。我知道如何从 3mf 文件执行此操作。 但是现在我想制作程序网格并将它们添加到地图中。
我找到了关于如何在代码中创建 3mf 文件的文档: https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/generate-3mf
我按照此文档创建了一个 Printing3D3MFPackage。
但后来我尝试从这个 3mf 包创建一个 MapModel3D,如下所示:
//package is of type Printing3D3MFPackage
var streamReference = RandomAccessStreamReference.CreateFromStream(package.ModelPart);
var myModel = await MapModel3D.CreateFrom3MFAsync(streamReference, MapModel3DShadingOption.Smooth);
我得到这个例外:
System.Runtime.InteropServices.COMException: 'Unspecified error
Failed to create MapModel3D from 3MF stream.'
所以我猜这些流不兼容。
有人知道怎么做吗?
试试这个:
…
await package.SaveModelToPackageAsync(model);
var packageStream = await localPackage.SaveAsync();
var streamReference = RandomAccessStreamReference.CreateFromStream(packageStream );
var myModel = await MapModel3D.CreateFrom3MFAsync(streamReference, MapModel3DShadingOption.Smooth);