Dynamic Component của SketchUp rất mạnh — cho đến khi bạn copy một cái và thấy mọi thứ hỏng. Lỗi scale attribute là một trong những lỗi dai dẳng nhất của SketchUp, vẫn tái hiện được trong SketchUp 2026: copy một Dynamic Component bằng Move + Ctrl (hoặc paste từ clipboard), thử scale nó, và các đối tượng con đứng yên ở kích thước của bản cha gốc — hoặc tệ hơn, co về 0. Nguyên nhân gốc là sự kế thừa attribute: các đối tượng con bên trong Dynamic Component đã copy vẫn đọc thông số từ định nghĩa của bản cha gốc thay vì instance mới. Các giá trị trong hộp thoại Component Options chuyển sang màu đỏ, geometry không chịu phản hồi, và nhập lại số bao nhiêu lần cũng không sửa được trừ khi bạn ép công thức tính lại. Group nằm trong Dynamic Component làm tình trạng này tệ đi rất nhiều. Khác với Component, Group không mang bản sao định nghĩa riêng, nên khi bạn lồng một Group vào Dynamic Component rồi copy bản cha, attribute của Group vẫn bị gắn cứng với bản gốc. Đổi tên Group không cắt được liên kết đó — chỉ có chuyển nó thành Component trước khi thêm công thức mới cho nó một bản attribute sạch, độc lập, sống sót qua việc nhân bản. Một nguyên nhân thứ hai, ít người biết hơn: SketchUp chỉ kích hoạt tính lại công thức khi bạn tương tác trực tiếp với công cụ Scale trên chính instance đó. Bản copy được tạo mà không kích hoạt công cụ Scale sẽ không bao giờ được yêu cầu tính lại, nên các đối tượng con của nó giữ mãi kích thước cứng của bản cha. Đó là lý do nhấp chuột phải chọn Scale Definition, hoặc chỉnh nhẹ một giá trị bất kỳ trong Component Options, đôi khi có vẻ “tự nhiên” sửa được bản copy — vì nó kích hoạt thủ công lần tính lại mà bản copy chưa từng nhận được.
Mẹo chuyên sâu
- Dựng bằng Component, không bao giờ dùng Group, bên trong bất kỳ DC nào sẽ bị copy. Đây là cách hiệu quả nhất để tránh hoàn toàn lỗi scale. Mọi phần tử mang công thức — chiều rộng, chiều cao, offset vị trí, hiển thị — đều phải là một instance Component có định nghĩa riêng. Group trông tiện vì không tạo thêm mục định nghĩa trong bảng Components, nhưng chính sự tiện đó gây ra việc rò attribute khi bạn copy bản cha. Quy tắc ngón tay cái: nếu một đối tượng trong DC có
_scale_tool_usedhoặc công thức kích thước, nó phải là Component. - Dùng Make Unique trước khi sửa một bản copy bạn muốn khác với bản gốc. Nếu bạn copy một Dynamic Component rồi muốn cho bản copy đó các giá trị attribute khác bản gốc, hãy nhấp chuột phải và chọn Make Unique trước khi đổi bất cứ gì trong Component Options. Nếu không Make Unique, hai instance dùng chung một định nghĩa — sửa cái này sẽ đổi cái kia. Quan trọng hơn, Make Unique cho bản copy một bản sao định nghĩa riêng, đây chính là thứ SketchUp tính lại khi một lần recalculation được kích hoạt (qua công cụ Scale hoặc Scale Definition).
- Nhấp chuột phải → Scale Definition như một cách chẩn đoán nhanh. Nhấp chuột phải vào Dynamic Component và chọn Scale Definition buộc SketchUp đổi kích thước hộp bao của định nghĩa cho khớp với geometry hiện tại. Cách này thường tự xóa được lệch scale nhìn thấy. Nếu Scale Definition sửa được phần hiển thị nhưng Component Options vẫn hiện giá trị đỏ, các công thức attribute vẫn cần được tính lại thủ công — chỉnh nhẹ một giá trị trong Component Options rồi undo, như mô tả bên dưới.
- Chỉnh nhẹ giá trị trong Component Options để ép tính lại thủ công. Mở Component Options của bản copy bị lỗi, tìm một attribute số bất kỳ, tăng nó một lượng nhỏ (ví dụ cộng 0.001 vào chiều rộng), nhấn Enter, rồi undo thay đổi đó. Chuỗi thao tác này kích hoạt bộ tính công thức của SketchUp cho instance đó. Cách này rườm rà và không đáng tin với DC phức tạp có nhiều đối tượng con, nhưng dùng được cho component đơn giản có hai hoặc ba attribute.
- Kiểm tra
_scale_tool_usedkhi dựng DC để phân phối. SketchUp ghi một attribute ẩn_scale_tool_usedvào instance component khi người dùng scale nó bằng công cụ Scale. Một số công thức DC đọc cờ này để quyết định có tính lại hay không. Nếu chuỗi công thức của bạn phụ thuộc vào cờ này nhưng người dùng cuối copy thay vì scale, cờ không bao giờ được đặt và chuỗi công thức không bao giờ chạy. Hãy thiết kế công thức không phụ thuộc vào_scale_tool_used, hoặc đặt nó tường minh trong quy trình copy-paste trước khi phân phối file.
Yêu cầu hệ thống
- Phiên bản SketchUp: SketchUp 2022 trở lên (2022, 2023, 2024, 2025, 2026)
- Hệ điều hành: Windows 10/11 hoặc macOS 12 Monterey trở lên
- Extension Dynamic Components: Phải được bật trong SketchUp (có sẵn theo mặc định; kiểm tra Extension Manager nếu thiếu Component Options trong menu Window)
- 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

