Layers

class Layers

Parent: Entity | Class Index
Methods: [], add, at, count, each, length, unique_name |
Sample Code:layerstests.rb |

A collection of the Layers in a Model

Instance Methods

[]
The [] method is used to retrieve a layer by index or name
Syntax:
layer = layers[index] layer = layers["name"]
Arguments:
index - a number representing the layer's index in an array of Layer objects "name" - the name of the layer
Return Value:
layer - a Layer object
Comments:
Example:
model = Sketchup.active_model layers = model.layers status = layers.add "test layer" layer1 = layers[0]

add
The add method is used to add a new layer.
Syntax:
layer = layers.add("layer name")
Arguments:
"layer name" - the name of the added layer
Return Value:
layer - the new Layer object
Comments:
If you give the name of a Layer that is already defined, it will return the existing Layer rather than adding a new one.
Example:
model = Sketchup.active_model layers = model.layers status = layers.add "test layer"

at
The at method is an alias for []. See [].
Syntax:
Arguments:
Return Value:
Comments:
Example:

count
The count method is an alias for length. See length.
Syntax:
count = layers.count
Arguments:
Return Value:
Comments:
Example:

each
The each method is used to iterate through all of the layers.
Syntax:
layers.each {|layer| ...}
Arguments:
Return Value:
layer - a variable that will hold each Layer object as they are found.
Comments:
Example:
model = Sketchup.active_model layers = model.layers status = layers.add "test layer" layers.each {| layer | UI.messagebox layer }

length
The length method retrieves the number of layers.
Syntax:
length = layers.length
Arguments:
Return Value:
length - the number of entities in the collection of entities if successful
Comments:
Example:
model = Sketchup.active_model layers = model.layers status = layers.add "test layer"| length = layers.length

unique_name
The unique_name method generates a unique layer name.
Syntax:
newname = layers.unique_name <basename>
Arguments:
<basename> - (optional) basename used as part of the generated name
Return Value:
newname - the new layer name
Comments:

With no arguments it generates a new unique name using the default base. With a basename String passed in, it will generate a new unique name that uses the given base as a prefix.

For example you could get a Layer name that starts with the string "Walls" with the command:

name = layers.unique_name "Walls".

You could then use this new unique name to add a new Layer.

Example:
model = Sketchup.active_model layers = model.layers status = layers.add "test layer" uniquename = layers.unique_name "walls"