123456789_123456789_123456789_123456789_123456789_

Class: Sketchup::Pages

Relationships
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Entity
Instance Chain:
self, Enumerable, Entity
Inherits: Sketchup::Entity

Overview

The Pages class contains methods for manipulating a collection of Pages (Named “scenes” in the ::UI.) in a model.

You get a handle to this collection by calling Model.pages.

Examples:

model = Sketchup.active_model
pages = model.pages

Version:

  • SketchUp 6.0

Constant Summary

Class Method Summary

Instance Attribute Summary

Entity - Inherited

#deleted?

The deleted? method is used to determine if your entity is still valid (not deleted by another script, for example.).

#valid?

The #valid? method is used to determine if your entity is still valid (not deleted by another script, for example).

Instance Method Summary

Entity - Inherited

#add_observer

The add_observer method is used to add an observer to the current object.

#attribute_dictionaries

The attribute_dictionaries method is used to retrieve the AttributeDictionaries collection attached to the entity.

#attribute_dictionary

The attribute_dictionary method is used to retrieve an attribute dictionary with a given name that is attached to an Entity.

#delete_attribute

The #delete_attribute method is used to delete an attribute from an entity.

#entityID

The entityID method is used to retrieve a unique ID assigned to an entity.

#get_attribute

The #get_attribute method is used to retrieve the value of an attribute in the entity’s attribute dictionary.

#inspect

The #inspect method is used to retrieve the string representation of the entity.

#model

The model method is used to retrieve the model for the entity.

#parent

The parent method is used to retrieve the parent of the entity.

#persistent_id

The #persistent_id method is used to retrieve a unique persistent id assigned to an entity.

#remove_observer

The remove_observer method is used to remove an observer from the current object.

#set_attribute

The set attribute is used to set the value of an attribute in an attribute dictionary with the given name.

#to_s

The #to_s method is used to retrieve the string representation of the entity.

#typename

The typename method retrieves the type of the entity, which will be a string such as “Face”, “Edge”, or “Group”.

Class Method Details

.add_frame_change_observer(object) ⇒ Integer

The .add_frame_change_observer method is used to add a new frame change observer that is called with each frame of an animation, meaning the end user has clicked on a Scene tab (aka Page) inside SketchUp and the camera is animating to that scene.

The method returns an integer id that can be stored and later used to remove the observer with the .remove_frame_change_observer method.

Examples:

class MyFrameChangeObserver
  def frameChange(from_page, to_page, percent_done)
    puts "From page #{from_page.name} to #{to_page.name} (#{percent_done * 100}%)"
  end
end
id = Sketchup::Pages.add_frame_change_observer(MyFrameChangeObserver.new)

Parameters:

Returns:

  • (Integer)

    A unique id of the observer

See Also:

Version:

  • SketchUp 6.0

.remove_frame_change_observer(observer_id) ⇒ Boolean

The .remove_frame_change_observer method is used to remove a frame change observer

Examples:

Sketchup::Pages.remove_frame_change_observer(id)

Parameters:

Version:

  • SketchUp 6.0

Instance Attribute Details

#selected_pageObject (rw)

The selected_page method is used to retrieve the currently selected page.

Examples:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
page = pages.selected_page

Returns:

  • page - the currently selected Page object if successful

Version:

  • SketchUp 6.0

#selected_page=(page) ⇒ Object (rw)

The selected_page method is used to set the currently selected page. Once you set this, SketchUp will animate to that page as if the user had clicked on its scene tab.

Examples:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
pages.selected_page = model.pages[1]

Parameters:

Returns:

  • status - true if successful

Version:

  • SketchUp 6.0

Instance Method Details

#[](index_or_name) ⇒ Object

The [] method retrieves a page by either name or index.

Examples:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
page = pages["Page 2"]
if (page)
  UI.messagebox page
else
  UI.messagebox "Failure"
end

Parameters:

  • index_or_name

    The index or the string name of the specific page.

Returns:

  • page - a Page object if successful

Version:

  • SketchUp 6.0

#add(name = nil, flags = PAGE_USE_ALL, index = self.size) ⇒ Sketchup::Page

The #add method is used to add a new Page object to the collection.

If no name is given, then a new name is generated using the default name for new Pages. If a name is given, then a new Page with that name is added.

If the flags parameter is given, it controls which properties are saved with the Page. See the Page#update method for a description of the flags that can be set.

If index is given, it specifies the position in the page list that the new page is added. Otherwise the new page is added to the end.

Examples:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
if (status)
  UI.messagebox status
else
  UI.messagebox "Failure"
end

Parameters:

  • name (String) (defaults to: nil)

    The name of the specific page.

  • flags (Integer) (defaults to: PAGE_USE_ALL)

    Bit flags in integer form.

  • index (Integer) (defaults to: self.size)

    Index of where to inset.

Version:

  • SketchUp 6.0

#add_matchphoto_page(image_filename, camera = nil, page_name = nil) ⇒ Sketchup::Page

The #add_matchphoto_page method is used to add a photomatch page to the model. This is an advanced feature that was added to support internal SketchUp work, so it is unlikely to be useful to you.

Examples:

pages = Sketchup.active_model.pages
page = pages.add_matchphoto_page("/path/to/image.png")

Parameters:

  • image_filename (String)

    The image file to use as the background.

  • camera (Sketchup::Camera) (defaults to: nil)
  • page_name (String) (defaults to: nil)

Version:

  • SketchUp 7.0

#add_observer(observer) ⇒ Object

The add_observer method is used to add an observer to the Pages object. See the PagesObserver interface for more details.

Examples:

pages = Sketchup.active_model.pages
status = pages.add_observer observer

Parameters:

  • observer

    An observer.

Returns:

  • true if successful, false if unsuccessful.

Version:

  • SketchUp 6.0

#countInteger

Note:

Since SketchUp 2014 the count method is inherited from Ruby’s Enumerable mix-in module. Prior to that the #count method is an alias for #length.

Examples:

pages = Sketchup.active_model.pages
pages.add('Page 1')
pages.add('Page 2')
number = pages.count

See Also:

Version:

  • SketchUp 6.0

#each {|page| ... } ⇒ nil

The #each method is used to iterate through pages in the model.

Examples:

model = Sketchup.active_model
pages = model.pages
pages.add("Page 1")
pages.add("Page 2")
pages.each { |page| puts page.name }

Yield Parameters:

Version:

  • SketchUp 6.0

#erase(page) ⇒ Boolean

The #erase method is used to remove a page from the collection.

Examples:

page = Sketchup.active_model.pages.add('Hello World')
Sketchup.active_model.pages.erase(page)

Parameters:

Version:

  • SketchUp 6.0

#lengthInteger

The #length method is an alias for #size.

Examples:

pages = Sketchup.active_model.pages
pages.add('Page 1')
pages.add('Page 2')
number = pages.length

See Also:

Version:

  • SketchUp 2014

#parentObject

The parent method is used to determine the model for the Pages collection.

Examples:

model = Sketchup.active_model
pages = model.pages
status = pages.add "Page 1"
status = pages.add "Page 2"
model = pages.parent

Returns:

  • model - the model that contains the pages if successful

Version:

  • SketchUp 6.0

#remove_observer(observer) ⇒ Object

The remove_observer method is used to remove an observer from the current object. See the PagesObserver interface for more details.

Examples:

pages = Sketchup.active_model.pages
status = pages.remove_observer observer

Parameters:

  • observer

    An observer.

Returns:

  • true if successful, false if unsuccessful.

Version:

  • SketchUp 6.0

#show_frame_at(seconds) ⇒ Array(Sketchup::Page, Float)?

Note:

In versions prior to SketchUp 2019 this method will crash if called when there are no pages in the model.

The #show_frame_at method is used to show a frame in animation (of the slide show) at a given time in seconds.

Examples:

model = Sketchup.active_model
pages = model.pages
pages.add("Page 1")
pages.add("Page 2")
page, ratio = pages.show_frame_at(1.8)

Parameters:

  • seconds (Float)

    The time in seconds.

Returns:

  • (Array(Sketchup::Page, Float), nil)

    Upon success it returns the page that is displayed and a parameter between 0.0 and 1.0 that is tells how far along the transition to next page you are at.

Version:

  • SketchUp 6.0

#sizeInteger

The #size method is used to retrieve the number of pages.

Examples:

pages = Sketchup.active_model.pages
pages.add('Page 1')
pages.add('Page 2')
number = pages.size

See Also:

Version:

  • SketchUp 6.0

#slideshow_timeObject

The slideshow_time method is used to get the amount of time that a slideshow of all of the pages will take. This takes into account the transition time for each Page and the amount of time that each Page is displayed.

Examples:

pages = Sketchup.active_model.pages
time = pages.slideshow_time

Returns:

  • status - true if successful

Version:

  • SketchUp 6.0