Tạo hàng rào Dynamic Component bằng thuộc tính Copies để tự động nhân bản đối tượng. Thuộc tính này thường dùng khi vẽ tay vịn, hàng rào, kệ nhiều tầng, lát gạch và các chi tiết lặp lại tương tự. Đây là một trong những tính năng mạnh nhất của SketchUp Dynamic Components, giúp mô hình dễ tùy biến.
Dynamic Components chạy nhờ extension Dynamic Components, chỉ đi kèm gói đăng ký Pro và Studio. Từ năm 2020 SketchUp chuyển sang đăng ký theo người dùng có tên (phiên bản hiện tại là SketchUp 2026) nên không còn giấy phép vĩnh viễn, và SketchUp Free trên trình duyệt hoàn toàn không nạp được extension. Vì vậy hàng rào dựng bằng Copies vẫn mở được trong Free, nhưng tính năng tự nhân bản sẽ không được tính lại ở đó.
Thuộc tính Copies trong SketchUp là gì?
Thuộc tính Copies trong SketchUp Dynamic Components cho component biết nó cần lặp lại bao nhiêu lần dọc theo một trục. Khi bạn đổi kích thước component cha, SketchUp tự tính lại số bản sao dựa trên công thức bạn định nghĩa. Sub-component gốc trở thành bản mẫu: SketchUp đặt N bản sao bên cạnh nó, mỗi bản thừa hưởng cùng các thuộc tính.
Cách này khác với việc copy đối tượng thủ công. Với dynamic component copies trong SketchUp, mô hình phản ứng theo kích thước nhập vào. Đổi chiều dài hàng rào từ 10 feet lên 30 feet, mọi thanh đứng tự đổi vị trí và số lượng cập nhật tức thì. Không cần sửa tay, không phải dựng lại mô hình.
Thuộc tính Copies có thể đặt cho bất kỳ sub-component nào lồng trong một component cha. Bạn truy cập qua Window > Component Attributes. Tên thuộc tính là Copies và giá trị của nó là một công thức.
Dynamic Component Copies trong SketchUp: video hướng dẫn làm hàng rào
Xem video từng bước bên dưới để thấy toàn bộ quá trình dựng hàng rào.
Công thức Copies hoạt động thế nào (giải thích phép tính khoảng cách)
Công thức cốt lõi cho thanh hàng rào với khoảng cách đều là:
Copies = INT((ParentLenX - PicketWidth) / (PicketWidth + GapSize))
Phân tích từng phần:
- ParentLenX: tổng chiều dài của tấm hàng rào (kích thước X của component cha).
- PicketWidth: bề rộng của một thanh đứng (LenX của chính sub-component đó).
- GapSize: khoảng hở giữa các thanh. Lưu nó thành thuộc tính do người dùng điều khiển để chỉnh khoảng hở được từ Component Options.
- INT(): làm tròn xuống số nguyên. Không thể có số bản sao lẻ.
Với vị trí X của mỗi bản sao, dùng công thức:
PosX = (PicketWidth + GapSize) * Copy
trong đó Copy là chỉ số có sẵn mà SketchUp tự cung cấp (0, 1, 2…). Công thức này rải đều từng thanh từ trái sang phải trên tấm hàng rào.
Từng bước: dựng Dynamic Component hàng rào
1. Dựng sub-component thanh đứng
Vẽ một thanh hàng rào và tạo thành component. Đặt tên rõ ràng, ví dụ Picket. Giữ gốc tọa độ ở góc dưới bên trái. Điều này làm công thức vị trí đơn giản hơn: PosX = 0 đặt thanh sát mép trái của tấm.
2. Tạo component tấm cha
Chọn thanh đứng rồi tạo thêm một component bao quanh, đặt tên FencePanel. Component cha này là thứ bạn sẽ đổi kích thước từ Component Options. Nó cần một thuộc tính LenX được mở cho người dùng chỉnh (đặt nhãn “Panel Length”).
3. Thêm thuộc tính Copies cho thanh đứng
Khi component cha đang ở chế độ chỉnh sửa, chọn sub-component thanh đứng. Mở Window > Component Attributes. Nhấp nút + và thêm thuộc tính Copies. Đặt công thức là INT((ParentLenX - LenX) / (LenX + Gap)), trong đó Gap là thuộc tính tùy chỉnh bạn định nghĩa trên thanh đứng hoặc component cha.
4. Đặt công thức PosX
Vẫn ở thuộc tính của thanh đứng, tìm hoặc thêm thuộc tính PosX. Đặt thành (LenX + Gap) * Copy. Đây là chỗ cơ chế dynamic copies của SketchUp thực sự đặt vị trí cho từng bản lặp.
5. Mở Gap thành tùy chọn cho người dùng
Thêm thuộc tính Gap vào component cha. Chọn ô Users can edit và đặt nhãn “Picket Spacing”. Từ giờ ai dùng mô hình cũng có thể mở Component Options và chỉnh khoảng hở mà không đụng đến công thức.
6. Kiểm tra bằng Component Options
Thoát chế độ chỉnh sửa. Chọn component cha. Mở Window > Component Options. Đổi thanh trượt Panel Length. Các thanh đứng phải phân bố lại ngay. Nếu các bản sao chồng lên nhau hoặc biến mất, cách sửa phổ biến nhất là kiểm tra PosX tham chiếu LenX của chính thanh đứng, không phải của component cha.
Những lỗi hay gặp với thuộc tính Copies
- Copies = 0 hoặc âm: xảy ra khi công thức cho ra số nhỏ hơn 1. Thêm lớp bảo vệ MAX:
MAX(0, INT(...)). SketchUp không hiển thị số bản sao âm, nó chỉ ẩn toàn bộ các bản. - Các thanh dồn về gốc tọa độ: công thức PosX bị thiếu hoặc đặt thành hằng số. Mỗi bản sao phải có PosX nhân với
CopyNumber. - LenX của component cha không cập nhật: bạn đang co giãn bằng công cụ Scale thay vì kéo tay nắm xanh lá bằng Interact Tool. Luôn dùng Interact Tool (Tools > Interact) hoặc Component Options để đổi kích thước dynamic component. Công cụ Scale bỏ qua bước tính lại thuộc tính.
- Extension chưa được nạp: trên máy mới hoặc mô hình chia sẻ, hãy kiểm tra Extensions > Dynamic Components đã bật trong Extension Manager. Thiếu nó, component vẫn mở được nhưng không công thức nào chạy.
- Copies chỉ chạy trong SketchUp Pro: extension Dynamic Components không có trong SketchUp Go hay SketchUp Free. Mô hình vẫn mở nhưng Copies sẽ không tính lại.
Tải mô hình mẫu
Tải dynamic component hàng rào hoàn chỉnh và tự thực hành chỉnh công thức: Dynamic-Fence.skp trên 3D Warehouse.
Muốn có thư viện mô hình Dynamic Component làm sẵn để thả vào dự án, xem 3dshouse Dynamic: thư viện Dynamic Component cho SketchUp.
Mục tiêu bài học
- Hiểu thuộc tính Copies điều khiển việc tự lặp trong SketchUp Dynamic Components như thế nào.
- Viết công thức khoảng cách tính số thanh đứng từ chiều dài tấm và khoảng hở.
- Dùng
Copytrong PosX để phân bố đều các bản sao. - Mở các thuộc tính cho người dùng chỉnh qua Component Options để người không rành kỹ thuật cũng đổi được kích thước hàng rào.
- Chẩn đoán và sửa ba lỗi công thức Copies thường gặp nhất.
Ghi chú
- Công thức trong Component Attributes dùng ngôn ngữ biểu thức riêng của SketchUp, không phải Ruby. Hỗ trợ phép tính số học,
INT(),MAX(),MIN()vàIF(). Các hàm lượng giác cũng có sẵn. - Tên thuộc tính phân biệt hoa thường.
Copies≠copies. Copybắt đầu từ 0 cho sub-component gốc và tăng thêm 1 cho mỗi bản sao. Bản gốc luôn có mặt; Copies = 3 nghĩa là bạn có bản gốc cộng thêm 3 bản (tổng 4).- Dynamic copies lồng nhau vẫn chạy: một thanh đứng có thể tự là dynamic component với công thức chiều cao riêng.
- 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

