Bài 09: Tạo ngăn kéo Dynamic thay đổi kích thước và mở được trong Sketchup

Dyamic Resizable Movement Drawer

Ngăn kéo mở được, thay đổi kích thước được là bài thực hành hữu ích và đầy đủ, giúp bạn thấy rõ cách của Dynamic Sketchup vận hành, độ khó của bài học ở mức trung bình. Qua bài học này bạn sẽ nắm chắc hơn về ràng buộc kích thước và thuộc tính Onclick Animate đồng thời trau đồi kỹ năng phối hợp các lệnh trong sketchup Dynamic

Dyamic Resizable Movement Drawer
Tạo ngăn kéo Dynamic thay đổi kích thước và mở được trong Sketchup

Lưu ý từ năm 2020, việc tạo và chỉnh sửa Dynamic Component (mở bảng Component Attributes) chỉ có trên SketchUp Pro theo dạng đăng ký tài khoản (named-user subscription) — không còn bản trả tiền một lần vĩnh viễn; SketchUp Free/Go trên web không tạo được DC, chỉ tương tác bằng công cụ Interact. Bài học vẫn áp dụng nguyên vẹn trên các bản SketchUp 2026 hiện nay vì cú pháp công thức DC không đổi.

Video Bài học:

Tải models mẫu:

Dyamic-Resizable-Movement-Drawer.skp

Mục tiêu bài học:

  • Vẽ được ngăn kéo có khả năng kéo giãn vẫn giữ tỷ lệ.
  • Ngăn kéo có thể mở được.
  • Thành thạo kỹ năng ràng buộc kích thước và thuộc tính Onclick Animate
  • Học được lệnh Replace thay thế Component, lệnh này rất lợi hại.

Các bước thực hiện:

  • Bước 1: Vẽ 1 ngăn kéo có khả năng điều chỉnh kích thước vẫn giữ tỷ lệ.
  • Bước 2: Vẽ thanh thép cố định, ngăn kéo sẽ trượt trên thanh thép này.
  • Bước 3: Tạo Components cha từ 2 Component trên, thiết lập ngăn kéo mở.
  • Bước 4: Đưa tay nắm vào trong Components cha.
  • Bước 5: Cách thay thế tay nắm.

Thủ thuật hay:

  • Hàm animate(Y,-30,0) sẽ không hoạt động vì có chứa tham số âm, do đó đơn giản chỉ cần đưa thuộc tính vào dấu “”. Chuyển thành animate(“Y”,-30,0) thì sẽ chạy.
  • Lý do thực sự: khi tên thuộc tính KHÔNG có dấu ngoặc kép, SketchUp hiểu Y là một tham chiếu tới giá trị của thuộc tính Y rồi mới truyền vào hàm; gặp dấu trừ phía sau, bộ phân tích cú pháp đọc lệch và báo lỗi. Đặt “Y” trong ngoặc kép biến nó thành chuỗi tên thuộc tính cần animate — đây là lý do mọi hàm onclick (animate, set, redraw…) nên luôn truyền tên thuộc tính dưới dạng chuỗi.
  • Phải gõ dấu nháy thẳng (“) chứ không phải nháy cong “”. Nếu copy công thức từ web/Word, dấu nháy thường tự biến thành nháy cong và DC báo invalid mà không chỉ rõ lỗi ở đâu — tắt smart quotes hoặc gõ tay lại dấu nháy là hết.
  • Animate chạy luân phiên qua từng giá trị mỗi lần click (animate(“Y”,-30,0) → click lần 1 ra -30, click lần 2 về 0). Muốn nhiều chặng cứ thêm giá trị: animate(“Y”,0,-30,-60). Lưu ý animate dùng nội suy mỗi nửa giây nên với hành trình dài chuyển động sẽ giật; cần mượt hơn thì dùng animateslow hoặc animatecustom (điều khiển qua thuộc tính Timeline).
  • Tay nắm đưa vào sau cùng vì tay nắm không chuẩn kích thước và luôn có thể thay thế được, đưa vào sau sẽ không ảnh hưởng đến kích thước của Component cha.
  • Để sử dụng lệnh Replace với tay nắm thì cả 2 tay nắm phải cùng trục tọa độ.
  • Replace bảo toàn vị trí, tỷ lệ và mọi thuộc tính DC của component bị thay — đây chính là điểm “lợi hại”: tay nắm mới tự kế thừa ràng buộc kích thước của tay nắm cũ. Nhưng nó đối chiếu theo gốc trục tọa độ (axes) của component, nên nếu hai tay nắm đặt gốc trục lệch nhau thì cái mới sẽ nhảy sai chỗ — đó là lý do bắt buộc thống nhất hệ trục trước khi Replace.
Kiếm 30% hoa hồng cùng 3dshouse

Chia sẻ mã giảm giá của bạn — người mua được giảm 25%, bạn nhận 30% hoa hồng trên mỗi đơn.

Trở thành cộng tác viên →