# 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 lessThanGreaterThanMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" status = m <=> m2 # Yields a 1 if (status) UI.messagebox status else UI.messagebox "Failure" end # Yields a -1 status = m2 <=> m if (status) UI.messagebox status else UI.messagebox "Failure" end end def equalsMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" status = m == m2 # Yields a False if (status) UI.messagebox status else UI.messagebox "The Materials are not Equal" end end def alphaMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" alpha = m.alpha if (alpha) UI.messagebox alpha else UI.messagebox "Failure" end end def alphaEqualsMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" alpha = m.alpha=0 if (alpha) UI.messagebox alpha else UI.messagebox "Failure" end end def colorMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" color = m.color if (color) UI.messagebox color else UI.messagebox "Failure" end end def colorEqualsMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" color = m.color="Blue" if (color) UI.messagebox color else UI.messagebox "Failure" end end def displayNameMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" name = m.display_name if (name) UI.messagebox name else UI.messagebox "Failure" end end def materialTypeMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" type = m.materialType if (type) UI.messagebox type else UI.messagebox "Failure" end end def nameMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" name = m.name if (name) UI.messagebox name else UI.messagebox "Failure" end end def textureMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" texture = m.texture if (texture) UI.messagebox texture else UI.messagebox "Failure" end end def textureEqualsMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" texture = m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" if (texture) UI.messagebox texture else UI.messagebox "Failure" end end def useAlphaMaterialTest model = Sketchup.active_model materials = model.materials # Adds a material to the "in-use" material pallet. m = materials.add "Joe" m2 = materials.add "Fred" # Returns nil if not successful, path if successful. Should return a texture object m.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\Carpet.jpg" m2.texture="c:\\Program Files\\@Last Software\\SketchUp 4\\Materials\\BlueTile.jpg" status = m.use_alpha? if (status) UI.messagebox status else UI.messagebox "Failure" end end if( not file_loaded?("materialtests.rb") ) # This will add a separator to the menu, but only once add_separator_to_menu("Plugins") plugins_menu = UI.menu("Plugins") Material_menu = plugins_menu.add_submenu("Material Tests") Material_menu.add_item("Material <=>") { lessThanGreaterThanMaterialTest } Material_menu.add_item("Material ==") { equalsMaterialTest } Material_menu.add_item("Material.alpha") { alphaMaterialTest } Material_menu.add_item("Material.alpha=") { alphaEqualsMaterialTest } Material_menu.add_item("Material.color") { colorMaterialTest } Material_menu.add_item("Material.color=") { colorEqualsMaterialTest } Material_menu.add_item("Material.display_name") { displayNameMaterialTest } Material_menu.add_item("Material.materialType") { materialTypeMaterialTest } Material_menu.add_item("Material.name") { nameMaterialTest } Material_menu.add_item("Material.texture") { textureMaterialTest } Material_menu.add_item("Material.texture=") { textureEqualsMaterialTest } Material_menu.add_item("Material.use_alpha?") { useAlphaMaterialTest } end #----------------------------------------------------------------------------- file_loaded("materialtests.rb")