如何以编程方式创建MapModel3D?



我正在开发一个使用Windows MapControl的UWP项目。 我想将 3D 模型添加到地图。我知道如何从 3mf 文件中执行此操作。 但是现在我想制作程序网格并将其添加到地图中。

我找到了有关如何在代码中创建 3mf 文件的文档: https://learn.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: 'undesignated error

无法从 3MF 流创建 MapModel3D。

所以我想这些流不兼容。

有谁知道如何做到这一点?

试试这个:

…
await package.SaveModelToPackageAsync(model);
var packageStream = await localPackage.SaveAsync();
var streamReference = RandomAccessStreamReference.CreateFromStream(packageStream );
var myModel = await MapModel3D.CreateFrom3MFAsync(streamReference, MapModel3DShadingOption.Smooth);

相关内容

  • 没有找到相关文章

最新更新