如何使用Helix Toolkit在WPF中导入3D模型?

9

我正在尝试使用Helix Toolkit导入3D模型,但是我无法弄清楚如何操作。是否有关于使用此工具包导入3D模型的在线指南,或者是否有其他更容易的方法来导入3D模型,除了使用Helix?

谢谢。

这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System;
using System.IO;
using System.Windows.Media.Media3D;


namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{

    public MainWindow()
    {
        InitializeComponent();
    }

    Model3DGroup group = HelixToolkit.Wpf.ModelImporter.Load(@"C:\Jack_Shephard\Jack_Shephard.obj");
     public static Model3DGroup Load(string path)
    {
        if (path == null)
        {
            return null;
        }

        Model3DGroup model = null;
        string ext = System.IO.Path.GetExtension(path).ToLower();
        switch (ext)
        {
            case ".3ds":
                {
                    var r = new HelixToolkit.Wpf.StudioReader();
                    model = r.Read(path);
                    break;
                }

            case ".lwo":
                {
                    var r = new HelixToolkit.Wpf.LwoReader();
                    model = r.Read(path);

                    break;
                }

            case ".obj":
                {
                    var r = new HelixToolkit.Wpf.ObjReader();
                    model = r.Read(path);
                    break;
                }

            case ".objz":
                {
                    var r = new HelixToolkit.Wpf.ObjReader();
                    model = r.ReadZ(path);
                    break;
                }

            case ".stl":
                {
                    var r = new HelixToolkit.Wpf.StLReader();
                    model = r.Read(path);
                    break;
                }

            case ".off":
                {
                    var r = new HelixToolkit.Wpf.OffReader();
                    model = r.Read(path);
                    break;
                }

            default:
                throw new InvalidOperationException("File format not supported.");
        }

        return model;
    }

}
}

1
你做了什么?你遇到运行时错误、编译时错误吗?你收到错误信息吗?你不知道写什么代码吗? - Rob
@Rob,问题是我已经为我们的项目搜索了很久,但还没有编写任何代码来完成它。而且我在这方面是个初学者。我一直在开发WPF项目,需要导入一个3D模型。感谢您的查询,Rob。 - Ali Naqi
3
我的问题旨在引导您提供更多细节并让您提出正确的问题。这就好像有人拿起锤子的头部问我:“为什么这不帮助我取下墙上的螺丝?”好的问题应该概述您想要达成的目标,说明您追求该目标的背景,以及您已经尝试过哪些方法。我甚至不确定您此时是否已经尝试编写代码,那么我如何帮助您呢?这是在本网站上获取良好答案的最佳方法。 - Rob
代码已在@Rob处给出。我是新手。 - Ali Naqi
2个回答

9

他们的文档仍在构建中,但通过查看他们的源代码,似乎您需要使用ModelImporter方法。它返回一个Model3dGroup,并且其用法将如下所示。

 Model3DGroup group = HelixToolkit.Wpf.ModelImporter.Load(@"Your path here");

2

只需要将以下内容放入:

<HelixToolkit:FileModelVisual3D x:Name="model1" Source="C:\$path\test_obj.obj"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接