Example #1
0
        private Model3DGroup LoadModel(string path)
        {
            if (string.IsNullOrWhiteSpace(path))
            {
                return(null);
            }
            if (!System.IO.Path.HasExtension(path) || !System.IO.File.Exists(path))
            {
                return(null);
            }

            HelixToolkit.Wpf.IModelReader reader = null;
            string fileExtension = System.IO.Path.GetExtension(path).ToLower();

            switch (fileExtension)
            {
            case ".3ds":
                reader = new HelixToolkit.Wpf.StudioReader();
                break;

            case ".lwo":
                reader = new HelixToolkit.Wpf.LwoReader();
                break;

            case ".obj":
                reader = new HelixToolkit.Wpf.ObjReader();
                break;

            case ".objz":
                reader = new HelixToolkit.Wpf.ObjReader();
                break;

            case ".stl":
                reader = new HelixToolkit.Wpf.StLReader();
                break;

            case ".off":
                reader = new HelixToolkit.Wpf.OffReader();
                break;

            default:
                return(null);
            }
            Model3DGroup model = reader.Read(path);

            if (_useTransparensy)
            {
                foreach (var mod in model.Children)
                {
                    if (mod is GeometryModel3D)
                    {
                        ((GeometryModel3D)mod).Material     = new DiffuseMaterial(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#40FFFFFF")));
                        ((GeometryModel3D)mod).BackMaterial = new DiffuseMaterial(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#40FFFFFF")));
                    }
                }
            }
            return(model);
        }
Example #2
0
 private void LoadModel()
 {
     lock (this)
     {
         if (this.visualizationObject?.Source != null && this.root.Content == null)
         {
             HelixToolkit.Wpf.StLReader reader = new HelixToolkit.Wpf.StLReader();
             var model = reader.Read(this.visualizationObject.Source);
             model.Freeze();
             this.root.Content = model;
         }
     }
 }
        private Model3DGroup LoadModel(string path)
        {
            if (string.IsNullOrWhiteSpace(path))
            {
                return null;
            }
            if (!System.IO.Path.HasExtension(path) || !System.IO.File.Exists(path))
            {
                return null;
            }

            HelixToolkit.Wpf.IModelReader reader = null;
            string fileExtension = System.IO.Path.GetExtension(path).ToLower();
            switch (fileExtension)
            {
                case ".3ds":
                        reader = new HelixToolkit.Wpf.StudioReader();
                        break;
                case ".lwo":
                        reader = new HelixToolkit.Wpf.LwoReader();
                        break;
                case ".obj":
                        reader = new HelixToolkit.Wpf.ObjReader();
                        break;
                case ".objz":
                        reader = new HelixToolkit.Wpf.ObjReader();
                        break;
                case ".stl":
                        reader = new HelixToolkit.Wpf.StLReader();
                        break;
                case ".off":
                        reader = new HelixToolkit.Wpf.OffReader();
                        break;
                default:
                        return null;
            }
            Model3DGroup model = reader.Read(path);
            if (_useTransparensy)
            {
                foreach (var mod in model.Children)
                {
                    if (mod is GeometryModel3D)
                    {
                        ((GeometryModel3D)mod).Material = new DiffuseMaterial(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#40FFFFFF")));
                        ((GeometryModel3D)mod).BackMaterial = new DiffuseMaterial(new SolidColorBrush((Color)ColorConverter.ConvertFromString("#40FFFFFF")));
                    }
                }
            }
            return model;
        }