class Sketchup::Importer

The Importer interface lets you build your own importers for SketchUp. To use this, you create a subclass of Importer and implement all of the methods described below. This will make your importer appear in the list that users see under File > Import, and you can use Ruby to do all of the work of opening the file and creating whatever you need inside SketchUp.

Here is an example of a complete script that imports a .txt file and displays its contents in a messagebox.

@example

class TextImporter < Sketchup::Importer

  # This method is called by SketchUp to determine the description that
  # appears in the File > Import dialog's pulldown list of valid
  # importers.
  def description
    return "Custom Text Importer (*.txt)"
  end

  # This method is called by SketchUp to determine what file extension
  # is associated with your importer.
  def file_extension
    return "txt"
  end

  # This method is called by SketchUp to get a unique importer id.
  def id
    return "com.sketchup.importers.custom_txt"
  end

  # This method is called by SketchUp to determine if the "Options"
  # button inside the File > Import dialog should be enabled while your
  # importer is selected.
  def supports_options?
    return true
  end

  # This method is called by SketchUp when the user clicks on the
  # "Options" button inside the File > Import dialog. You can use it to
  # gather and store settings for your importer.
  def do_options
    # In a real use you would probably store this information in an
    # instance variable.
    my_settings = UI.inputbox(['My Import Option:'], ['1'],
      "Import Options")
  end

  # This method is called by SketchUp after the user has selected a file
  # to import. This is where you do the real work of opening and
  # processing the file.
  def load_file(file_path, status)
    UI.messagebox(file_path)

    return Sketchup::Importer::ImportSuccess
  end
end

Sketchup.register_importer(TextImporter.new)

@version SketchUp 6.0

Constants

ImportCanceled

Constants

ImportFail
ImportFileNotFound
ImportSuccess

Public Instance Methods

description() click to toggle source

This method is called by SketchUp to determine the description that appears in the File > Import dialog's pulldown list of valid importers.

Though it is common for the description to include the file extension supported by the importer (such as “Text Importer (.txt)”), the actual extension is defined in the file_extension method.

@example

def description
  return "Custom Text Importer (*.txt)"
end

@return description - a brief string description

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb, line 90
def description
end
do_options() click to toggle source

This method is called by SketchUp when the user clicks on the “Options” button inside the File > Import dialog. You can use it to gather and store settings for your importer.

Only applicable if the importer supports options, meaning its supports_options method returns true.

@example

def id
  return "com.sketchup.importers.custom_txt"
end

@return id - an id string

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb, line 108
def do_options
end
file_extension() click to toggle source

This method is called by SketchUp to determine a single file extension is associated with your importer. Only files that match this extension will be shown to the user as they browse their harddrive for things to import.

Ruby importers are only allowed to support a single extension.

@example

def file_extension
  return "txt"
end

@return extension - typically a 3-letter string

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb, line 125
def file_extension
end
id() click to toggle source

This method is called by SketchUp to determine a unique identifier for your importer, typically something like “com.sketchup.importers.dxf”.

@example

def id
  return "com.sketchup.importers.custom_txt"
end

@return id - an id string

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb, line 139
def id
end
load_file(file_path, status) click to toggle source

This method is called by SketchUp after the user has selected a file to import. This is where you do the real work by opening the file via Ruby's File object and processing it in whatever way you need.

You must return an integer success code to SketchUp when you are done. These are the codes that SketchUp understands:

- Sketchup::Importer::ImportSuccess
- Sketchup::Importer::ImportFail
- Sketchup::Importer::ImportCanceled - SketchUp will show a "cancelled" dialog
- Sketchup::Importer::ImportFileNotFound - SketchUp will show a "not found" dialog

@example

def load_file(file_path, status)
  # Here is where you would open the file and process it.
  puts file_path

  return Sketchup::Importer::ImportSuccess
end

@param file_path

Absolute path to the file the user selected

@param status

The status of the import so far. Contains true.

@return success - an integer status code. See above.

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb, line 171
def load_file(file_path, status)
end
supports_options?() click to toggle source

This method is called by SketchUp to determine if the “Options” button inside the File > Import dialog should be enabled while your importer is selected.

@example

def supports_options?
  return true
end

@return [Boolean] supports_options - a boolean

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb, line 186
def supports_options?
end