Cách Tạo Dynamic Component SketchUp: Hướng Dẫn Làm Kệ

Wall Shelf Resizable Sketchup Dynamic

Bài hướng dẫn Dynamic Component này dùng một chiếc kệ gỗ treo tường đơn giản để minh họa cách thay đổi kích thước mà không làm biến dạng tỷ lệ các chi tiết, scale đúng cách. Đây là bài học cơ bản nhất về Dynamic Component trong SketchUp. Bài cũng chỉ cách giảm số điểm neo (grip) của lệnh Scale.

Cách Tạo Dynamic Component Trong SketchUp: Video Hướng Dẫn

Xem toàn bộ quy trình ở video dưới đây. Chiếc kệ là ví dụ dễ làm cho người mới: hai tấm hông cố định và một nhịp ván giữa có thể co giãn. Mọi kỹ thuật trong video đều áp dụng được cho bất kỳ cấu kiện nội thất hay kiến trúc nào bạn muốn làm cho co giãn được.

Tải Model Mẫu

Dynamic-Wall-Shelf.skp

Cần Chuẩn Bị Gì Trước Khi Bắt Đầu

Để tạo dynamic component trong SketchUp bạn cần SketchUp Pro hoặc Studio (gói thuê bao trả phí trên máy tính). Các công cụ tạo Dynamic Component — hộp thoại Component Attributes và hộp thoại Component Options — chỉ có trong ứng dụng desktop bản Pro.

  • SketchUp Pro / Studio: toàn quyền tạo và chỉnh sửa. Bạn có thể thêm thuộc tính, viết công thức và công khai các tùy chọn.
  • SketchUp Go (web, trả phí): không thể tương tác, tạo hay chỉnh sửa dynamic component — giống mọi gói web khác, nó không chạy được extension mà Dynamic Components phụ thuộc vào.
  • SketchUp Free (web): dynamic component hoàn toàn không hoạt động — không xem, không tương tác được.
  • SketchUp Make 2017 (bản desktop miễn phí đời cũ): xem và tương tác được, nhưng các hộp thoại tạo bị khóa.

Dynamic Components chạy trên một Ruby API tích hợp sẵn, chỉ có trong ứng dụng desktop. Với bản web không có cách nào lách được.

Mục Tiêu Bài Học

  • Hiểu hộp thoại Component Attributes và cách thêm thuộc tính tùy chỉnh cho component.
  • Viết các công thức cơ bản liên kết kích thước component con với một giá trị kích thước của component cha.
  • Kiểm soát các grip hiện ra khi người dùng scale component — bỏ những grip làm hỏng tỷ lệ.
  • Đưa một tùy chọn “Width” ra hộp thoại Component Options để người dùng cuối đổi kích thước kệ mà không cần đụng tới các thuộc tính.

Bước 1 — Dựng Hình Học Trước

Trước khi thêm bất kỳ thuộc tính nào, hãy dựng kệ như một component SketchUp bình thường. Cấu trúc rất quan trọng: các công thức scale tham chiếu tới tên của các component con, nên phải làm đúng cây phân cấp trước khi mở hộp thoại thuộc tính.

  • Tạo ba component con: Left Panel, Right Panel và Shelf Board.
  • Đặt tên rõ ràng cho từng component con. Cho phép dùng khoảng trắng nhưng nên tránh ký tự đặc biệt — chúng sẽ xuất hiện làm tên thuộc tính.
  • Đặt gốc (origin) của mỗi component con ở góc dưới-trái-trước. Gốc nhất quán giúp công thức vị trí dễ đoán.
  • Cho component cha bao quanh cả ba. Không nhóm hình học thô và component chung ở cùng một cấp.

Hình học sạch ngay từ đầu giúp tiết kiệm thời gian gỡ lỗi về sau. Mọi mặt nên ở layer/tag “Untagged”. Hình học ẩn nằm ngoài hộp bao (bounding box) của component sẽ làm lệch các giá trị LenX/LenY/LenZ mà SketchUp tự đọc.

Bước 2 — Mở Component Attributes Và Thêm Biến Width

Đây là bước cốt lõi để tạo dynamic component trong SketchUp. Chọn component cha, rồi vào Window > Component Attributes.

  • Bấm nút + để thêm thuộc tính mới cho component cha. Đặt tên là Width.
  • Đặt giá trị mặc định — ví dụ 600 (milimét, nếu model của bạn dùng mm).
  • Tích chọn Display in Component Options. Việc này đưa giá trị ra cho người dùng cuối qua hộp thoại Component Options (Window > Component Options).
  • Có thể đặt nhãn (“Width”) và đơn vị để hộp thoại tùy chọn hiện một ô nhập gọn gàng.

Thuộc tính Width của component cha giờ là nguồn giá trị duy nhất. Mọi công thức của component con sẽ tham chiếu tới nó. Đổi một con số này là cả cụm đổi kích thước theo.

Bước 3 — Viết Công Thức Cho Các Component Con

Chuyển sang từng component con trong hộp thoại thuộc tính và viết công thức cho vị trí và kích thước của nó.

Shelf Board

  • LenX (chiều rộng): =Parent!Width - (2 * Left_Panel!LenX) — tấm ván lấp đầy khoảng trống giữa hai tấm hông cố định.
  • Vị trí X: =Left_Panel!LenX — bắt đầu ngay chỗ tấm hông trái kết thúc.
  • LenY và LenZ giữ cố định (độ dày và chiều sâu của tấm ván không đổi).

Right Panel

  • Vị trí X: =Parent!Width - Right_Panel!LenX — ghim vào mép phải.
  • Mọi kích thước giữ cố định — bản thân tấm hông không scale, chỉ vị trí X của nó dịch chuyển.

Left Panel

  • Vị trí X: 0. Không cần công thức — nó nằm ở gốc.
  • Mọi kích thước cố định.

Thử công thức ngay: chọn component cha, mở Component Options và đổi Width. Tấm ván phải giãn ra và tấm hông phải trượt theo. Nếu không có gì dịch chuyển, hãy kiểm tra tên component con trong công thức có khớp chính xác với tên trong hộp thoại thuộc tính không (phân biệt hoa thường).

Bước 4 — Kiểm Soát Các Grip Của Scale

Mặc định SketchUp hiện 26 grip scale (góc, cạnh, mặt). Với chiếc kệ chỉ cần co giãn theo chiều ngang, phần lớn grip gây hiểu nhầm. Bạn có thể ẩn chúng bằng thuộc tính ScaleTool trên component cha.

  • Thêm thuộc tính ScaleTool cho component cha.
  • Đặt giá trị 1 để chỉ cho phép grip ở mặt trái/phải (scale theo trục X). Các giá trị 1–26 mỗi giá trị ứng với một grip cụ thể; có thể kết hợp bằng phép cộng hoặc dùng các giá trị bitmask riêng trong tài liệu SketchUp DC.
  • Giá trị 0 ẩn toàn bộ grip — hữu ích nếu bạn muốn người dùng chỉ đổi kích thước qua hộp thoại Component Options, không kéo trực tiếp.

Giới hạn grip giúp người dùng không vô tình ép dẹt kệ theo chiều đứng, làm hỏng tỷ lệ các tấm hông cố định. Với chiếc kệ này, chỉ hiện các grip ngang.

Bước 5 — Công Khai Và Kiểm Tra

Mở Window > Component Options khi component cha đang được chọn. Bạn sẽ thấy ô nhập Width vừa tạo. Nhập giá trị mới và nhấn Enter — kệ phải cập nhật ngay mà các tấm hông không bị biến dạng.

  • Thử các giá trị cực đoan: rất hẹp (gần bằng 2 lần chiều rộng tấm hông) và rất rộng. Kiểm tra hình học không chồng lấn hay bị lật.
  • Dùng công cụ Interact (con trỏ bàn tay trên thanh công cụ) để xác nhận component phản hồi khi click, nếu bạn đã thêm hành vi OnClick.
  • Lưu model. Dữ liệu thuộc tính Dynamic Component được lưu ngay trong file .skp — không cần file ngoài nào.

Nếu muốn chia sẻ model, bất kỳ ai có SketchUp Pro đều mở được Component Attributes để xem công thức của bạn. Hãy dùng Window > Component Options làm giao diện cho người dùng cuối; hộp thoại thuộc tính thô dành cho người tạo.

Ghi Chú

  • Tên thuộc tính phân biệt hoa thường. Width và width là hai thuộc tính khác nhau.
  • Công thức bắt đầu bằng dấu =. Thiếu dấu bằng, giá trị bị coi là số hoặc chuỗi tĩnh chứ không phải công thức.
  • Đơn vị phụ thuộc đơn vị của model. Nếu model dùng inch, hãy ghi giá trị bằng inch. Trộn đơn vị trong công thức gây lỗi âm thầm.
  • Các thuộc tính LenX, LenY, LenZ được SketchUp tự điền từ hộp bao của hình học component. Bạn có thể ghi đè bằng công thức, nhưng phần ghi đè chỉ áp dụng trong lúc tái tạo — hộp bao được tính lại sau mỗi thay đổi.
  • Dynamic Components không hoạt động với component thư viện 3dshouse Dynamic trừ khi bạn tự thêm thuộc tính sau khi đặt chúng.

Tiến Xa Hơn Với Dynamic Components

Chiếc kệ được cố ý làm tối giản. Khi đã quen với kiến thức cơ bản, hãy thử các kỹ thuật sau để tạo dynamic component nâng cao hơn trong SketchUp:

  • Công thức Visible: dùng thuộc tính Visible trên component con để hiện hoặc ẩn các bộ phận theo một tùy chọn của component cha. Hữu ích cho các tính năng bật/tắt — ví dụ cánh cửa có hoặc không có tay nắm.
  • Thuộc tính Copies: tự động lặp một component con N lần. Đặt Copies cho component chốt kệ và điều khiển N theo chiều rộng kệ — kệ càng rộng thì càng có nhiều chốt.
  • Hành vi OnClick: thêm các thay đổi trạng thái có hoạt ảnh, kích hoạt bằng công cụ Interact. Ngăn kéo mở ra, nắp lật lên — tất cả đều điều khiển bằng OnClick và một thuộc tính trạng thái.
  • Dynamic component lồng nhau: một DC cha có thể chứa các DC con. Mỗi cấp có thuộc tính riêng. Giữ độ lồng nông (tối đa 2–3 cấp) để tránh khó gỡ lỗi công thức.

Để tham khảo thư viện các component nội thất dynamic dựng sẵn mà bạn có thể nghiên cứu và chỉnh sửa, xem 3dshouse Dynamic cho SketchUp. Các component dùng cùng hệ thống Component Options / Interact Tool — không cần plugin nào khác để sử dụng.

Thêm công cụ SketchUp của 3dshouse
  • BevelUp — bo tròn hoặc vát cạnh thành hình học thật, chỉ một cú nhấp
  • Decimify — giảm số mặt (polygon) cho model nặng
  • Tracepen — chuyển ảnh thành mặt SketchUp
  • TileUp — biến một mặt thành gạch 3D thật, kèm bảng bóc tách
  • Texturic — tạo texture gạch liền mạch kèm bản đồ PBR
  • SheetUp — biến mô hình SketchUp thành bảng khối lượng và dự toán chi phí
  • PatchUp — turn selected edges into faces, flat or curved
Nguyen Huu Khanh

Architect turned developer

Thuê tôi: viết plugin & phần mềm 3D theo yêu cầu. Từ $45/giờ.

khanhnhkts@gmail.com · 0914340133 · Zalo