Class: Sketchup::AttributeDictionary

Inherits:
Entity show all
Includes:
Enumerable
Defined in:
lib/attributedictionary.rb

Overview

The AttributeDictionary class allows you to attach arbitrary collections of attributes to a SketchUp entity. The attributes are defined by key/value pairs where the keys are strings. An Entity or Model object can have any number of AttributeDictionary objects.

The Entity class is a popular parent class in SketchUp, meaning you can attach AttributeDictionaries to almost anything, from geometric items like edges and faces and components to more conceptual things like pages or materials.

See Also:

Since:

  • SketchUp 6.0

Instance Method Summary collapse

Methods inherited from Entity

#add_observer, #attribute_dictionaries, #attribute_dictionary, #delete_attribute, #deleted?, #entityID, #get_attribute, #model, #parent, #remove_observer, #set_attribute, #to_s, #typename, #valid?

Instance Method Details

#[](key) ⇒ Object

Get attribute value.

Examples:

model = Sketchup.active_model
value = model.set_attribute "test_dictionary", "test", 115
attr_dicts = model.attribute_dictionaries
attr_dicts = attr_dicts["test_dictionary"]

# value will contain 115
value = attr_dicts["test"]

Since:

  • SketchUp 6.0


35
36
# File 'lib/attributedictionary.rb', line 35

def [](key)
end

#[]=(key, value) ⇒ Object

Set attribute value.

Examples:

model = Sketchup.active_model
value = model.set_attribute "test_dictionary", "test", 110
attr_dicts = model.attribute_dictionaries
attr_dicts = attr_dicts["test_dictionary"]
value = attr_dicts["test2"] = 120
if (value)
  UI.messagebox value
end

Since:

  • SketchUp 6.0


55
56
# File 'lib/attributedictionary.rb', line 55

def []=(key, value)
end

#delete_key(key) ⇒ Object

Delete an attribute with a given key.

Examples:

create_if_nil = true
model = Sketchup.active_model
attr_dict = model.attribute_dictionary "test_dict", create_if_nil
attr_dict["attr_one"] = "one"
attr_dict["attr_two"] = "two"

# Gets an array of values
attr_dict = model.attribute_dictionaries['test_dict']
value = attr_dict.delete_key("attr_one")

Since:

  • SketchUp 6.0


75
76
# File 'lib/attributedictionary.rb', line 75

def delete_key(key)
end

#each {|key, value| ... } ⇒ nil Also known as: each_pair

Iterate through all of the attribute keys and values.

Examples:

create_if_nil = true
model = Sketchup.active_model
attr_dict = model.attribute_dictionary "test_dict", create_if_nil
attr_dict["attr_one"] = "one"
attr_dict["attr_two"] = "two"

# Iterates through all attributes and prints the key to the screen
attr_dict = model.attribute_dictionaries['test_dict']
attr_dict.each { | key, value |
  UI.messagebox key.to_s + '=' + value.to_s
}

Yield Parameters:

Since:

  • SketchUp 6.0


97
98
# File 'lib/attributedictionary.rb', line 97

def each
end

#each_key {|key| ... } ⇒ nil

Iterate through all of the attribute keys.

Examples:

create_if_nil = true
model = Sketchup.active_model
attr_dict = model.attribute_dictionary "test_dict", create_if_nil
attr_dict["attr_one"] = "one"
attr_dict["attr_two"] = "two"

# iterates through all attributes and prints the key to the screen
attr_dict = model.attribute_dictionaries['test_dict']
attr_dict.each_key { | key | UI.messagebox key }

Yield Parameters:

  • key (String)

    The key of each attribute as it is found.

Since:

  • SketchUp 6.0


116
117
# File 'lib/attributedictionary.rb', line 116

def each_key
end

#keysArray

Get an array with all of the attribute keys.

Since:

  • SketchUp 6.0


124
125
# File 'lib/attributedictionary.rb', line 124

def keys
end

#lengthFixnum Also known as: size

Get the number of attributes in the attribute dictionary.

Examples:

model = Sketchup.active_model
model.set_attribute('Example', 'Hello', 'World')
dictionary = model.attribute_dictionary('Example')
number = dictionary.length

Since:

  • SketchUp 6.0


136
137
# File 'lib/attributedictionary.rb', line 136

def length
end

#nameString

Get the name of an attribute dictionary.

Examples:

create_if_nil = true
model = Sketchup.active_model
attr_dict = model.attribute_dictionary "test_dict", create_if_nil
attr_dict["attr_one"] = "one"
attr_dict["attr_two"] = "two"

# Show the name.
UI.messagebox attr_dict.name

Since:

  • SketchUp 6.0


154
155
# File 'lib/attributedictionary.rb', line 154

def name
end

#valuesArray

Get an array with all of the attribute values.

Examples:

create_if_nil = true
model = Sketchup.active_model
attr_dict = model.attribute_dictionary "test_dict", create_if_nil
attr_dict["attr_one"] = "one"
attr_dict["attr_two"] = "two"

# Gets an array of values
attr_dict = model.attribute_dictionaries['test_dict']
values = attr_dict.values

Since:

  • SketchUp 6.0


171
172
# File 'lib/attributedictionary.rb', line 171

def values
end