The Layers collection allows you to see and manage all of the layers in a model. You get a pointer to the Layers object from within the Model.
model = Sketchup.active_model
layers = model.layersThe [] method is used to retrieve a layer by index or name.
Arguments:
Returns:
model = Sketchup.active_model layers = model.layers new_layer = layers.add "test layer" layer_by_number = layers[1] layer_by_name = layers["test layer"]
The add method is used to add a new layer.
If you give the name of a Layer that is already defined, it will return the
existing Layer rather than adding a new one.
Arguments:
Returns:
model = Sketchup.active_model layers = model.layers new_layer = layers.add "test layer"
The add_observer method is used to add an observer to the layers collection.
Arguments:
Returns:
layers = Sketchup.active_model.layers status = layers.add_observer observer
The at method is an alias for []. See [].
Returns:
model = Sketchup.active_model
layers = model.layers
new_layer = layers.add "test layer"
layer_by_number = layers.at(1)
layer_by_name = layers.at("test layer")The count method is an alias for length. See length.
Returns:
model = Sketchup.active_model
layers = model.layers
count = model.layers.count
UI.messagebox("You have " + count.to_s + " layers in your model.")The each method is used to iterate through all of the layers.
Returns:
model = Sketchup.active_model
layers = model.layers
new_layer = layers.add "test layer"
layers.each {| layer | UI.messagebox layer }The length method retrieves the number of layers.
Returns:
model = Sketchup.active_model
layers = model.layers
length = model.layers.length
UI.messagebox("You have " + length.to_s + " layers in your model.")The purged_unused method is used to remove unused layers.
Returns:
layers = Sketchup.active_model.layers status = layers.purge_unused
The remove_observer method is used to remove an observer from the current object.
Arguments:
Returns:
layers = Sketchup.active_model.layers status = layers.remove_observer observer
The unique_name method can be used to get a string that will be a unique layer name inside this collection.
Arguments:
Returns:
model = Sketchup.active_model layers = model.layers # Will return "Joe" since there are probably no other layers named that. # Or might return something like "Joe #2" if there is already a layer # named Joe. good_name = layers.unique_name "Joe"