Đối Tượng Text 2D Và 3D Trong SketchUp Ruby
- 2D Text
- 3D Text
- Image
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ản
- point= 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ó leader
- vector= khoảng cách từ điểm chỉ đến bắt đầu dòng text
- line_weight= độ dày của đường leader
- arrow_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)
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- string nội dung text
- alignment căn lề TextAlignRight, TextAlignLeft, TextAlignCenter
- font - tên font chữ (Times, Arial ...)
- is_bold - true chữ đậm
- is_italic - true chữ nghiêng
- letter_height - chiều cao chữ
- tolerance
- z kích thước theo chiều z
- filled tô 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], groupImage - Ả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 ảnh
- width - thiết lập chiều rộng ảnh
- height - 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" endCó 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/") Mục lục bài viết 2D Text3D TextImage ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB Đăng ký nhận bài viết mớiTừ khóa » Font Chữ 2d
-
Hình ảnh Phông Chữ 2D Tải Xuống Miễn Phí - Pikbest
-
Phông Chữ Mã Vạch 2D Thường Dùng? - Aidcvn
-
380 .· 2D. Font ý Tưởng Trong 2022 - Pinterest
-
2D Fonts | Assets & Packs - Unity Asset Store
-
Java 2D – Font Chữ - Phở Code
-
Font Chữ đẹp Tải Về... - Free 2D CNC Vectors | Facebook
-
Tổng Hợp 50+ Bộ Font Chữ Việt Hóa đẹp Cho Photoshop
-
Top 25+ Font Chữ 3D Việt Hóa Hot Nhất 2022 - - Blog Phần Mềm
-
Cài đặt Một Font Chữ Mới Trong Phần Mềm SOLIDWORKS - ViHoth
-
[Thiết Kế Đồ Họa] 25 Font Chữ Cho Thiết Kế Tối Giản
-
Cách điệu Những Hình Khối 2D đơn điệu Bằng Cách Thay đổi Thị Giác ...
-
5 Cách Hướng Dẫn Tìm Font Chữ Bằng Hình ảnh Hiệu Quả
-
Font Chữ đổ Bóng