Materials - Vật liệu
Các vật liệu cũng là các đối tượng trong SketchUp, để tìm hiểu hãy thực hiện các bước sau khi sử dụng SketchUp:
Asphalt New
. Bấm chuột vào ô đó để chọn nó là vật liệu hiện tại.
SeaGreen
Tạo vật liệu bằng Code
Các vật liệu Material được lưu trữ trong một đối tượng lớp Materials
, đối tượng này lấy từ Sketchup.active_model.materials
, để thêm một vật liệu mới dùng phương thức add
với tên vật liệu cần tạo ra:
# Tạo vật liệu mới tên ABC mats = Sketchup.active_model.materials # lấy đối tượng lớp Materials abc_mat = mats.add "ABC" # thêm vật liệu mới mats.current = "ABC" # kích hoạt vật liệu là hiện tại # hoặc mats.current = abc_mat
# 18.material.rb # load "/Users/xuanthulab/Desktop/learn-ruby/sketchup/18.material.rb" require 'sketchup.rb' require 'extensions.rb' # Hàm tạo ra vật liệu mới với tên name def create_matabc(name = "ABC") mats = Sketchup.active_model.materials new_mat = mats.find {|m| m.name == name} if (new_mat != nil) return new_mat end # Tạo mat mới new_mat = mats.add name # Thiết lập màu là đỏ # https://ruby.sketchup.com/Sketchup/Color.html new_mat.color = 'red' new_mat end def crete_face ents = Sketchup.active_model.entities p1 = [0, 1, 0] p2 = [-0.951, 0.309, 0] p3 = [-0.588, -0.809, 0] p4 = [ 0.588, -0.809, 0] p5 = [ 0.951, 0.309, 0] # tạo face face = ents.add_face p1, p2, p3, p4, p5 face.reverse! # gọi phương thức tạo mat matabc = create_matabc # Gán material vào face face.material = matabc end
Lớp Color - Màu sắc
Trong SketchUp có lớp biểu thị về màu sắc là Color, có thể tạo ra đối tượng lớp Color từ tên của màu trong SketchUp hoặc từ việc pha trộn các thành phần màu sắc RGB (red, green, blue). Ví dụ tạo màu đỏ:
Sketchup::Color.new [255,0,0] # [0,0,0] màu đen # [255,255,255] màu trắng ...
Cũng có thể khởi tạo từ tên màu sắc ví dụ các tên: Black, Blue, Green, White ... để liệt
kê các tên này dùng Sketchup::Color.names
, ví dụ:
Sketchup::Color.new "Navy"
Hệ thống màu tự động phát sinh khi gán một cách tương ứng, ví dụ:
purple_mat = Sketchup.active_model.materials.add "Purple" # Tạo vật liệu có tên Purple purple_mat.color = [128, 0, 128] # Gán màu vào vật liệu, màu tự sinh với mảng 3 tham số purple_group.material = purple_mat # Gán vật liệu cho một Group
Thậm chí có thể thi hành lệnh như sau:
purple_group.material = [128, 0, 128]
Lệnh trên tạo ra một vật liệu mới, vật liệu đó được thiết lập màu mới (màu này có RGB là 128,0,128)
Có thể trộn các màu để ra màu mới bằng Sketchup::Color.blend
blue = Sketchup::Color.new 0, 0, 255 red = Sketchup::Color.new 255, 0, 0 purple1 = Sketchup::Color.blend blue, red
Texture
Texture là các đối tượng tô bề mặt nó như giấy dán tường, để tạo ra một đối tượng Texture dùng phương thức texture của lớp Material, với tham số là file ảnh làm Texture.
mats = Sketchup.active_model.materials new_mat = mats.add "My Texture" new_mat.texture = "đường dẫn đến file ảnh" text = new_mat.texture