# Copyright 2005, @Last Software, Inc. # This software is provided as an example of using the Ruby interface # to SketchUp. # Permission to use, copy, modify, and distribute this software for # any purpose and without fee is hereby granted, provided that the above # copyright notice appear in all copies. # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. #----------------------------------------------------------------------------- require 'sketchup.rb' #----------------------------------------------------------------------------- def getLayersTest model = Sketchup.active_model layers = model.layers status = layers.add "test layer" layer1 = layers[0] if (layer1) name = layer1.name UI.messagebox name else UI.messagebox "Failure" end end def addLayersTest model = Sketchup.active_model layers = model.layers status = layers.add "test layer" if (status) UI.messagebox status else UI.messagebox "Failure" end end def eachLayersTest model = Sketchup.active_model layers = model.layers status = layers.add "test layer" layers.each {| layer | UI.messagebox layer } end def lengthLayersTest model = Sketchup.active_model layers = model.layers status = layers.add "test layer" length = layers.length if (length) UI.messagebox length else UI.messagebox "Failure" end end def uniqueNameLayersTest model = Sketchup.active_model layers = model.layers status = layers.add "test layer" uniquename = layers.unique_name "walls" if (uniquename) UI.messagebox uniquename else UI.messagebox "Failure" end end if( not file_loaded?("layerstests.rb") ) # This will add a separator to the menu, but only once add_separator_to_menu("Plugins") plugins_menu = UI.menu("Plugins") Layers_menu = plugins_menu.add_submenu("Layers Tests") Layers_menu.add_item("Layers[]") { getLayersTest } Layers_menu.add_item("Layers.add") { addLayersTest } Layers_menu.add_item("Layers.each") { eachLayersTest } Layers_menu.add_item("Layers.length") { lengthLayersTest } Layers_menu.add_item("Layers.unique_name") { uniqueNameLayersTest } end #----------------------------------------------------------------------------- file_loaded("layerstests.rb")