Một thuộc tính (attribute) là đối tượng dữ liệu tùy chọn thêm, nó liên kết với một Entity. Dữ liệu này có thể thuộc bất kỳ kiểu nào, thuộc tính như là phần tử của mảng liên kết, map, dictionary: mỗi thuộc tính có tên (gọi là key) và dữ liệu của nó (value). Xem cấu trúc dữ liệu này tại Bảng băm Ruby
Các thuộc tính được đưa vào Entity với cấu trúc dữ liệu gồm:
- Các Entity có
AttributeDictionaries
là cấu trúc dữ liệu mảng hash chứa tập hợp cácAttributeDictionary
AttributeDictionary
là cấu trúc dữ liệu mảng hash, chứa các phần tử - mà mỗi phần tử có key/value chính là thuộc tính
Các phương thức làm việc với Attribute của Entity:
Phương thức | Diễn giải |
---|---|
set_attribute |
set_attribute(dict_name, key, value) ⇒ Object
Thêm một thuộc tính vào Entity
set_attr thiết lập thuộc tính cho phần tử chọn đầu tiên
# 22.set_attr.rb # load "/Users/xuanthulab/Desktop/learn-ruby/sketchup/22.set_attr.rb" require 'sketchup.rb' require 'extensions.rb' def set_attr(nameattr, valueattr, dictname = "mydic") ents = Sketchup.active_model.entities # @type [Sketchup::Entity] ent = Sketchup.active_model.selection[0] # lấy phần tử chọn đầu tiên if ent ent.set_attribute dictname, nameattr, valueattr puts "Đã thêm Attribute cho #{ent.to_s}" else puts "Không có đối tượng nào" end endĐể kiểm tra, chọn các phần tử và thi hành lệnh set_attr "abc", "1000" nó sẽ thêm thuộc tính cho phần tử chọn đầu tiên nếu có, thuộc tính tên abc vào Dictionary có tên mydic , giá trị thuộc tính là 1000
|
get_attribute |
get_attribute(dict_name, key, default_value = nil) ⇒ Object
Lấy giá trị thuộc tính, các tham số của phương thức là:
# vẽ một đường (tạo Entity) model = Sketchup.active_model entities = model.active_entities edge = entities.add_line([0, 0, 0], [9, 9, 9]) # Đọc thuộc tính có tên MyProperty trong dictionary MyExtention, # nếu không thấy nó trả về giá trị 42 value = edge.get_attribute("MyExtension", "MyProperty", 42) |
attribute_dictionaries |
attribute_dictionaries ⇒Sketchup::AttributeDictionaries?
phương thức lấy AttributeDictionaries chứa các AttributeDictionary trong Entity
|
attribute_dictionary |
attribute_dictionary(name, create = false) ⇒ Sketchup::AttributeDictionary?
Lấy hoặc tạo AttributeDictionary
|