RhinoGet.GetFileName Method (GetFileNameMode, String, String, Object)

RhinoGetGetFileName Method (GetFileNameMode, String, String, Object)

[Missing <summary> documentation for "M:Rhino.Input.RhinoGet.GetFileName(Rhino.Input.Custom.GetFileNameMode,System.String,System.String,System.Object)"]

Namespace:  Rhino.Input
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
public static string GetFileName(
	GetFileNameMode mode,
	string defaultName,
	string title,
	Object parent
)
Public Shared Function GetFileName ( 
	mode As GetFileNameMode,
	defaultName As String,
	title As String,
	parent As Object
) As String

Parameters

mode
Type: Rhino.Input.CustomGetFileNameMode

[Missing <param name="mode"/> documentation for "M:Rhino.Input.RhinoGet.GetFileName(Rhino.Input.Custom.GetFileNameMode,System.String,System.String,System.Object)"]

defaultName
Type: SystemString

[Missing <param name="defaultName"/> documentation for "M:Rhino.Input.RhinoGet.GetFileName(Rhino.Input.Custom.GetFileNameMode,System.String,System.String,System.Object)"]

title
Type: SystemString

[Missing <param name="title"/> documentation for "M:Rhino.Input.RhinoGet.GetFileName(Rhino.Input.Custom.GetFileNameMode,System.String,System.String,System.Object)"]

parent
Type: SystemObject

[Missing <param name="parent"/> documentation for "M:Rhino.Input.RhinoGet.GetFileName(Rhino.Input.Custom.GetFileNameMode,System.String,System.String,System.Object)"]

Return Value

Type: String

[Missing <returns> documentation for "M:Rhino.Input.RhinoGet.GetFileName(Rhino.Input.Custom.GetFileNameMode,System.String,System.String,System.Object)"]

Examples
using Rhino;
using Rhino.Commands;
using Rhino.Input;
using Rhino.Input.Custom;
using System;
using System.Windows;
using System.Windows.Controls;

namespace examples_cs
{
  public class ExtractThumbnailCommand : Command
  {
    public override string EnglishName { get { return "csExtractThumbnail"; } }

    protected override Result RunCommand(RhinoDoc doc, RunMode mode)
    {
      var gf = RhinoGet.GetFileName(GetFileNameMode.OpenImage, "*.3dm", "select file", null);
      if (gf == string.Empty || !System.IO.File.Exists(gf))
        return Result.Cancel;

      var bitmap = Rhino.FileIO.File3dm.ReadPreviewImage(gf);
      // convert System.Drawing.Bitmap to BitmapSource
      var image_source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero,
        Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());

      // show in WPF window
      var window = new Window();
      var image = new Image {Source = image_source};
      window.Content = image;
      window.Show();

      return Result.Success;
    }
  }
}
Imports Rhino
Imports Rhino.Commands
Imports Rhino.Input
Imports Rhino.Input.Custom
Imports System.Windows
Imports System.Windows.Controls

Namespace examples_vb
  Public Class ExtractThumbnailCommand
    Inherits Command
    Public Overrides ReadOnly Property EnglishName() As String
      Get
        Return "vbExtractThumbnail"
      End Get
    End Property

    Protected Overrides Function RunCommand(doc As RhinoDoc, mode As RunMode) As Result
      Dim gf = RhinoGet.GetFileName(GetFileNameMode.OpenImage, "*.3dm", "select file", Nothing)
      If gf = String.Empty OrElse Not System.IO.File.Exists(gf) Then
        Return Result.Cancel
      End If

      Dim bitmap = Rhino.FileIO.File3dm.ReadPreviewImage(gf)
      ' convert System.Drawing.Bitmap to BitmapSource
      Dim imageSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions())

      ' show in WPF window
      Dim window = New Window()
      Dim image = New Image()
      image.Source = imageSource

      window.Content = image
      window.Show()

      Return Result.Success
    End Function
  End Class
End Namespace
Python
import Rhino
import rhinoscriptsyntax as rs
from scriptcontext import doc

import clr
clr.AddReference("System.Windows.Forms")
import System.Windows.Forms

def RunCommand():

  fn = rs.OpenFileName(title="select file", filter="Rhino files|*.3dm||")
  if fn == None:
    return

  bitmap = doc.ExtractPreviewImage(fn)

  f = System.Windows.Forms.Form()
  f.Height = bitmap.Height
  f.Width = bitmap.Width
  pb = System.Windows.Forms.PictureBox()
  pb.Image = bitmap
  pb.Height = bitmap.Height  #SizeMode = System.Windows.Forms.PictueBoxSizeMode.AutoSize
  pb.Width = bitmap.Width
  f.Controls.Add(pb);
  f.Show();

if __name__ == "__main__":
  RunCommand()
Version Information

Rhino for Mac

Supported in: 5.4

Rhino for Windows

Supported in: 6.14
See Also