Component Trong SketchUp Ruby
Có thể bạn quan tâm
- Component - Trong giao diện SketchUp
- Tạo Component bằng Code Ruby
- Nạp ComponentDefinition từ file
- Component Behavior
- ComponentInstance
Giống như Group, Component trong SketchUp chứa các đối tượng Entity để có thể thi hành tác vụ trên nhiều Entity một lúc. Nhưng Component mạnh mẽ hơn, có thể điều khiển ứng sử của Component, tạo Component dễ dàng, một phiên bản copy của Component có ứng sử biến đổi giống nhau trong bản vẽ thiết kế. Có hai lớp làm việc với Component là: ComponentDefinition (có vai trò như class) và ComponentInstance (có vai trò như object).
Component - Trong giao diện SketchUp
Trước khi viết code tương tác với Component, hãy tìm hiểu về nó trong giao diện ứng dụng SketchUp
1 chọn menu Windows > Components, hộp thoại xuất hiện hiện thị các Component sử dụng trong SketchUp 2 bấm chọn biểu tượng Home, chọn mũi tên bên cạnh - đổ xuống menu chọn Components, từ danh sách chọn Component Sample - bấm chọn mục Bed 3 Kéo component chọn vào Model. Nếu bấm vào Icon Home, thì xuất hiện mục Bed, chuyển sang tab Edit bạn có thể biết Component nạp từ file .ksp, Tab Static cho biết số lượng các Entity trong Component. 4 Component đã kéo vào Model bạn có thể copy thành vài phiên bản, thực hiện scale, move ... 5 Nhấn phải chuột vào Component (hoặc nháy kép), từ context menu chọn Edit Component để vào chỉnh sửa trực tiếp Component. Khi chỉnh sửa component thì tất cả các bản copy của Component được chỉnh sửa theo.Tạo Component bằng Code
Nếu trong cửa sổ SketchUp đơn giản tạo Component bằng cách chọn các hình và nhấn phải chuột chọn Make component ..., còn trong code cần quan tâm hai đối tượng gồm:
- Đối tượng lớp ComponentDefinition lưu thông tin về model của Component, đối tượng này có thể đọc và lưu ra file.
- Đối tượng lớp ComponentInstance là đối tượng triển khai trong thiết kế hiện tại
Có hai cách tạo component, thứ nhất nếu có Group, có thể chuyển nó thành một ComponentInstant bằng phương thức to_component, khi đó SketchUp cũng tự động tạo ra một ComponentDefinition. Thứ hai, có thể truy cập DefinitionList từ Mode, nó cung cấp phương thức add với tham số là tên ComponentDefinition. Ví dụ tạo ra ComponentDefinition mới và lưu ra file newcomp.skp
def_list = Sketchup.active_model.definitions new_def = def_list.add "NewComp" new_def.save_as "newcomp.skp"Ví dụ sau, tạo ComponentDefinition sau đó thêm các Entity vào nó, lưu ra file với đường dẫn đầy đủ
# 21.component.rb # load "/Users/xuanthulab/Desktop/learn-ruby/sketchup/21.component.rb" require 'sketchup.rb' require 'extensions.rb' def create_com # Tạo ComponentDefinition tên Cube list = Sketchup.active_model.definitions comp_def = list.add "Khối lập phương" comp_def.description = "Đây là component khối lập phương." # Thêm các Entity vào ents = comp_def.entities face = ents.add_face [0,0,0], [1,0,0], [1,1,0], [0,1,0] face.reverse! face.pushpull 1 # Lưu ra file save_path = Sketchup.find_support_file "Components", "" comp_def.save_as(save_path + "/myshape.skp") puts "Path: " + comp_def.path endNạp ComponentDefinition từ file
DefinitionList của Model có hai phương thức giúp nạp ComponentDefinition từ file
- load để nạp file skp từ máy cục bộ
- load_from_url nạp từ địa chỉ Url
Component Behavior
Mỗi ComponentDefinition có một đối tượng Behavior liên kết với nó, nó xác định ứng xử của Component trong màn hình thiết kế, có 6 loại:
- always_face_camera Component quay quanh trục z để hướng theo hướng nhìn camera
- shadows_face_sun đổ bóng
- no_scale_mask hệ số tỷ lệ không hiệu lực (không thu phóng)
- is2d là loại 2D
- snapto
- cuts_opening
Tạo ComponentInstance
Khi đã có ComponentDefinition có thể tạo các ComponentInstance bằng phương thức add_instance của Entity. Chú ý điểm gốc chèn trong ComponentDefinition có thể xem bằng phương thức insertion_point của ComponentDefinition
ent = Sketchup.active_model.entities t = Geom::Transformation.translation [3, 3, 0] inst = ent.add_instance comp_def, t Mục lục bài viết Component - Trong giao diện SketchUpTạo Component bằng Code RubyNạp ComponentDefinition từ fileComponent BehaviorComponentInstance ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB Đăng ký nhận bài viết mớiTừ khóa » Cách Tạo Dynamic Component Trong Sketchup
-
Bài 01: Dynamic Components Sketchup Là Gì, Có Thật Sự Hiệu Quả
-
Cách Tạo Dynamic Component Trong Sketchup: Ví Dụ Kệ Gỗ Treo Tường
-
Cách Tạo Dynamic Component Trong Sketchup - YouTube
-
Hướng Dẫn Dynamic Component Sketchup Tuỳ Chỉnh Kích Thước Theo ...
-
Dynamic Components Sketchup - Làm Cánh Cửa Và Ngăn Kéo Mở ...
-
Hướng Dẫn Dynamic Component Sketchup - YouTube
-
Dynamic Components Sketchup - Làm Tủ Bếp Tự Động Mở Cánh ...
-
TẠO MỘT DYNAMIC COMPONENTS
-
TẠO MỘT COMPONENTS CƠ BẢN
-
Sketchup Dynamic Components PDF - Scribd
-
Cách Tạo Dynamic Component Trong Sketchup | Tin Tức Mới Nhất Về ...
-
Bài 17 - Thanh Công Cụ Dynamic Components Trong Sketchup 2018.
-
Bài 01: Dynamic Components Sketchup Là Gì, Có Thật Sự Hiệu Quả
-
Các Hàm Trong Component SketchUp - Cùng Hỏi Đáp