class DefinitionList

 

Parent: Entity

Class Index

Methods: [], add, at, count, each, length, load, unique_name  

 

Sample Code: definitionlisttests.rb

 

A DefinitionList object holds a list of all of the ComponentDefinition objects in a model. This class contains methods for  adding and retrieving definitions from the list.

Instance Methods

 

[]

The [] method is used to retrieve a component definition from the list. You can give an integer index in the range 0 to length, a string which represents the GUID for the component definition, or a string that is the name of the component definition.

Syntax:

componentdefinition = definitionlist[index]

componentdefinition = definitionlist[guid]

componentdefinition = definitionlist["componentdefinitionname"]

Arguments:

index - the index for a specific component definition

guid - the unique ID for the component definition

“componentdefinitionname” – the name of an existing component definition

Return Value:

componentdefinition - a ComponentDefinition object if successful, nil if not found

Comments:

 

Example:

path=Sketchup.find_support_file "BedTraditional.skp" ,"Components/Furniture/"
model = Sketchup.active_model
definitions = model.definitions
componentdefinition = definitions.load path
component = definitions[0]


 

add

The add method is used to add a new component definition to the definition list with the given name.

Syntax:

componentdefinition = definitionlist.add "componentdefinitionname"

Arguments:

componentdefinitionname - the new component definition to add to the definition list

Return Value:

componentdefinition - the ComponentDefinition object that was added (if successful)

Comments:

 

Example:

model = Sketchup.active_model
definitions = model.definitions
componentdefinition = definitions.add "BedTraditional"
component = definitions[0]

 
 

at

The at method is used to retrieve a component definition at a specific index.

Syntax:

componentdefinition = definitionlist.at[index]

Arguments:

index - the index of the component definition

Return Value:

componentdefinition - the ComponentDefinition object at the specific index if successful, nil if unsuccessful

Comments:

 

Example:

model = Sketchup.active_model
definitions = model.definitions
componentdefinition = definitions.add "BedTraditional"
component = definitions.at 0       

 
 

count

The count method is an alias for length. See also length.

Syntax:

count = definitionlist.length

Arguments:

 

Return Value:

count - the number of component definitions in the definition list if successful

Comments:

 

Example:

model = Sketchup.active_model
definitions = model.definitions
componentdefinition = definitions.add "BedTraditional"
number = definitions.count       

 
 

each

The each method is used to iterate through all of the component definitions in the definition list.

Syntax:

definitionlist.each {| componentdefinition | ...}

Arguments:

componentdefinition – a variable that will hold each ComponentDefinition object as they are found

Return Value:

 

Comments:

Throws an exception if there are no component definitions.

Example:

model = Sketchup.active_model
definitions = model.definitions
componentdefinition = definitions.add "BedTraditional"
number = definitions.each {|definition| UI.messagebox definition }

 
 

length

The length method is used to retrieve number of component definitions in the list.

Syntax:

length = definitionlist.length

Arguments:

 

Return Value:

length - the number of component definitions in the definition list (if successful)

Comments:

 

Example:

model = Sketchup.active_model
definitions = model.definitions
componentdefinition = definitions.add "BedTraditional"
number = definitions.count       
if (number)
UI.messagebox number
else
UI.messagebox "Failure"
end               

 
 

load

The load method is used to load a component from a file.

Syntax:

componentdefinition = definitionlist.load path

Arguments:

path - the path where the component definition file is located

Return Value:

componentdefinition - the loaded ComponentDefinition object if successful

Comments:

 

Example:

path=Sketchup.find_support_file "BedTraditional.skp" ,"Components/Furniture/"
model = Sketchup.active_model
definitions = model.definitions
componentdefinition = definitions.load path

 
 

unique_name

The unique_name method is used to generate a unique name for a component definition.

Syntax:

name = definitionlist.unique_name "startingname"

Arguments:

"startingname" - the starting or base name which will be used to form the unique name

Return Value:

name - the unique name if successful

Comments:

 

Example:

path=Sketchup.find_support_file "BedTraditional.skp" ,"Components/Furniture/"
model = Sketchup.active_model
definitions = model.definitions
componentdefinition = definitions.load path
name = componentdefinition.name
newname = definitions.unique_name name