SketchUp có hai công cụ để tạo văn bản text: Công cụ Text và công cụ 3-D Text. Công cụ Text để tạo các ghi chú, loại văn bản này thường kèm theo mũi tên chỉ, khi bạn tạo văn bản 2-D bằng code, kết quả là đối tượng Text trả về.
Đối với loại văn bản 3-D, code viết phức tạp hơn, cần chỉ ra các tham số như font chữ, cỡ chữ và căn lề. 3D text không trả về đối tượng Text
2D Text - Văn bản 2D
Đối tượng lớp Text được tạo ra bởi phương thức add_text
        trong lớp Entities. Để thêm text cần 2 tham số, gồm nội dung chuỗi text và tọa độ bắt đầu của văn bản. Ví dụ hiện thị dòng text "xin chào" ở tọa độ [100.mm, 100.mm, 100.mm]
ents = Sketchup.active_model.entities hello = ents.add_text "xin chào", [100.mm, 100.mm, 100.mm]
Text luôn định vị về hướng người nhìn, cỡ chữ - font chữ thiết lập mặc định ở hộp thoại Windows > Model Info tại mục Screen Text, tại mỗi đối tượng Text cũng có thể thiết lập riệng ở hộp thoại Entity Info
Khi thêm text cũng có thể một mũi tên được gọi là leader, khi gọi add_text cho thêm tham số thứ 3, là vector từ mũi tên đến dòng chữ.
        Ví dụ, vector [4,4,0] chỉ vào điểm [0,0,0] - gốc của vector bắt đầu nội dung dòng chũ
    
ents = Sketchup.active_model.entities xinchao = ents.add_text "Xin chào!", [0, 0, 0], [4, 4, 0]
        Sau khi có đối tượng Text, có thể gọi các phương thức từ đối tượng đó như:
text=thiết lập nội dung văn bảnpoint=chỉ ra điểm bắt đầu của dòng chữ hoặc là điểm cuối của mũi tên nếu cóleadervector=khoảng cách từ điểm chỉ đến bắt đầu dòng textline_weight=độ dày của đường leaderarrow_type=cấu hình hiện thị mũi tên. 0 không mũi tên, 2 điểm, 3 - mũi tên đóng, 4 - mũi tên mởleader_type=cấu hình hiện thị leader. 0 ẩn, 1 chế độ view-based (cố định hướng nhìn), 2 chế độ pushpin (quay theo model)
ents = Sketchup.active_model.entities text = ents.add_text "Xyz!", [1, 1, 0], [3, 0, 0] text.text = "Abc!" text.leader_type = 2 # Pushpin-style leader text.line_weight = 4 text.arrow_type = 2 # Dotted arrow
3D Text - Văn bản 3D
Không có lớp (class) nào biểu diễn 3D Text, để tạo 3D Text dùng phương thức add_3d_text của lớp Entities, phương thức này cần tới 10 tham số:
add_3d_text(string, alignment, font, is_bold = false,
    is_italic = false, letter_height = 1.0, tolerance = 0.0, z = 0.0, is_filled = true,
    extrusion = 0.0) ⇒ Boolean
    stringnội dung textalignmentcăn lề TextAlignRight, TextAlignLeft, TextAlignCenterfont- tên font chữ (Times, Arial ...)is_bold- true chữ đậmis_italic- true chữ nghiêngletter_height- chiều cao chữtolerancezkích thước theo chiều zfilledtô chữextrusionđẩy chữ
Khi tạo ra 3D Text, thực tế nó tạo ra nhiều Face và Edge. 3D Text tạo ra nằm trên mặt X-Y, với tọa độ thiết lập ở z. Chỉ có thể thay đổi vị trí của 3D Text sau khi tạo ra bằng cách sử dụng transform_entities
# 14.3dtext.rb # load "/Users/xuanthulab/Desktop/learn-ruby/sketchup/14.3dtext.rb" require 'sketchup.rb' require 'extensions.rb' ents = Sketchup.active_model.entities # thêm group group = ents.add_group # lấy entities trong group ents = group.entities string1 = "3D Text căn lề trái, font Times New Roman,\n cao 10.mm, dày 1.mm, có tolerance of 0.mm." ents.add_3d_text string1, TextAlignLeft, "Times", false, false, 10.mm, 0.mm, 0, true, 1.mm ents.transform_entities [100.mm, 200.mm, 50.mm], group
Image - Ảnh trong SketchUp
Hình ảnh Image, được tạo ra với phương thức add_image trong Entities, nó nạp ảnh từ ngoài vào Model:
add_image(filename, point, width, height = 0.0) ⇒ Sketchup::Image?
filename- tên file ảnh nạp vào (hỗ trợ các định dạng *.jpg, *.png, *.bmp, *.tga, and *.bmp )point- tọa độ điểm sẽ chèn ảnhwidth- thiết lập chiều rộng ảnhheight- mặc định là 0.0 (chiều cao tự động theo tỷ lệ ảnh) - chiều cao ảnh nếu muốn thiết lập.
Phương thức trả về đối tượng Image, ảnh chèn vào nằm trên mặt song song với X-Y, sau khi chèn có thể biến đổi bởi Transformation. Ví dụ chèn ảnh có ở đườn dẫn /Users/xuanthulab/Desktop/logo.png
# 15.image.rb # load "/Users/xuanthulab/Desktop/learn-ruby/sketchup/15.image.rb" require 'sketchup.rb' require 'extensions.rb' model = Sketchup.active_model entities = model.active_entities # Điểm chèn ảnh point = Geom::Point3d.new 10,20,30 imgpath = "/Users/xuanthulab/Desktop/logo.png" # Chèn ảnh image = entities.add_image imgpath, point, 300 if (image) # Quay 90 độ quanh trục X tr = Geom::Transformation.new [0, 0, 0], [1, 0, 0], 90.degrees entities.transform_entities tr, image UI.messagebox image else UI.messagebox "Không chèn được" end
Có thể dùng phương thức Sketchup.find_support_file để lấy đường dẫn của file trong các thư mục cài đặt phần mềm SketchUp, ví dụ - lấy đường dẫn đầy đủ có của file help.jpg
    trong thư mục Plugins của SketchUp
help_file = Sketchup.find_support_file("help.jpg", "Plugins/")
    
        