【问题标题】:How to import a 3D model in WPF using Helix Toolkit?如何使用 Helix Toolkit 在 WPF 中导入 3D 模型?
【发布时间】:2012-12-27 00:58:22
【问题描述】:

我正在尝试使用 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;
    }

}
}

【问题讨论】:

  • 你做了什么?您是否遇到运行时错误、编译时错误?您是否收到错误消息?不知道写什么代码?
  • @Rob 问题是到目前为止我已经为我们的项目搜索了它。我还没有编写任何代码来做到这一点。我是这方面的初学者。我正在研究 WPF 项目,确实需要导入 3D 模型。 thnx fo 查询 Rob
  • 我的问题旨在引导您提供更多详细信息并让您提出正确的问题。就好像有人走到我跟前,握着锤子的头说:“这怎么不帮我把这颗螺丝从墙上取下来?”好的问题概述了你想要完成的事情,关于你为什么追求你正在追求的东西的背景,以及你尝试过做什么。我什至不确定您目前是否尝试过编写代码,那么我该如何帮助您呢?这是在本网站上获得好的答案的最佳方式。
  • 代码在@Rob 上面给出。我是新手。

标签: c# wpf 3d-modelling helix-3d-toolkit


【解决方案1】:

只有你需要把这个:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-07-26
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      相关资源
      最近更新 更多