Chuyển tới nội dung chính

Ghim và bỏ ghim theo danh mục

Nhóm Pin / UnPin trên BimSpeed.GEN → Căn dóng (Align) đặt trạng thái ghim cho phần tử theo danh mục trong tài liệu Revit đang mở. Các lệnh này không giới hạn theo tập phần tử đang chọn hoặc view đang mở.

Phạm vi kiểm chứng

Đã đối chiếu ribbon, các command Pin/UnPin và PinController trong mã nguồn. Chưa kiểm tra bản add-in đang cài trong Revit vì phiên khởi động ngày 23/10/2026 đang chờ đăng nhập Autodesk. Các ví dụ dưới đây là bài thực hành đề xuất; chưa có ảnh hoặc số lượng kết quả thực chạy trong phiên này.

Chọn đúng phạm vi trước khi chạy​

  1. Tạo bản sao RVT và mở bản sao để thực hành.
  2. Xác định danh mục cần ghim. Nếu chỉ muốn ghim vài phần tử, chọn chúng và dùng lệnh Pin của Revit; các lệnh BIMSpeed ở trang này quét toàn tài liệu.
  3. Mở menu Pin hoặc UnPin, chọn danh mục tương ứng.
  4. Kiểm tra một phần tử trong view hiện tại và một phần tử cùng danh mục ở view/tầng khác. Chỉ nhìn phần tử đang chọn không chứng minh toàn bộ danh mục đã được xử lý.

Từng lựa chọn​

Mỗi lựa chọn có hai hướng: Pin đặt Pinned = true; UnPin đặt Pinned = false. Phần tử đã có trạng thái đích được giữ nguyên. Không có trường khoảng cách, số lượng hoặc chọn tầng trong controller này.

Lựa chọnPhần tử được tìm trong mã nguồnCách kiểm tra
GridsTrục, OST_GridsChọn một trục và kiểm tra biểu tượng ghim
LevelsCao độ, OST_LevelsMở mặt đứng/mặt cắt, kiểm tra một cao độ
SectionsOST_ViewersKiểm tra ký hiệu view; phạm vi kỹ thuật là danh mục Viewers
ElevationsOST_ElevKiểm tra ký hiệu mặt đứng
TagsCác danh mục có tên chứa TagKiểm tra tag ở nhiều view và cả trạng thái sau Undo
SheetsCác View trả về từ GetAllPlacedViews() của mọi ViewSheetCần kiểm tra riêng trên bản đang cài; xem giới hạn bên dưới
ColumnsCột kết cấu, OST_StructuralColumnsKiểm tra cột kết cấu; không suy ra cột kiến trúc cũng được xử lý
FramingsDầm/khung kết cấu, OST_StructuralFramingKiểm tra dầm ở nhiều tầng
FloorsSàn, OST_FloorsKiểm tra sàn ở view khác
WallsTường, OST_WallsKiểm tra một tường có thể sửa
FoundationsMóng kết cấu, OST_StructuralFoundationKiểm tra móng; không mặc định mọi sàn đều là móng
Generic ModelsOST_GenericModelKiểm tra một instance Generic Model
Elements Has VolumeInstance có tham số HOST_VOLUME_COMPUTEDKiểm tra danh mục thực tế; điều kiện là có tham số, không phải thể tích lớn hơn 0
RebarsCốt thép, OST_RebarChọn một phần tử Rebar, kiểm tra trạng thái ghim
GroupsCác phần tử lớp GroupKiểm tra instance group; không suy ra từng thành viên được ghim riêng
Link / LinksInstance liên kết Revit, OST_RvtLinksKiểm tra instance liên kết trong file chủ; không thay đổi phần tử bên trong file liên kết

Separator là vạch phân cách. Dù dữ liệu JSON còn ghi một command trên mục này, RibbonUtils nhận diện tên Separator để tạo vạch phân cách thay cho nút lệnh. Mô tả tooltip có thể không khớp đối tượng ở một số nút; cần đối chiếu kết quả theo đúng lựa chọn và phiên bản.

Hai trường hợp cần kiểm tra riêng​

Sheets​

Controller lấy ID của View đã đặt lên sheet rồi đổi Pinned trên các View đó. Controller không thu thập trực tiếp Viewport. Vì vậy trang này chưa khẳng định lệnh khóa được vị trí viewport trên sheet. Nếu mục tiêu là cố định khung nhìn trên tờ, kiểm tra viewport thực tế và dùng Pin của Revit cho viewport nếu cần.

Tags và Undo​

Lệnh Tags lặp qua các danh mục có tên chứa Tag, gọi một transaction cho từng danh mục. Vì vậy có thể cần nhiều bước Undo để quay lại trạng thái trước khi chạy. Kiểm tra danh sách Undo và trạng thái đại diện; không mặc định một lần Ctrl+Z phục hồi mọi tag.

Bài thực hành: ghim rồi bỏ ghim trục​

Chuẩn bị ít nhất hai trục ở các view khác nhau. Ghi lại trạng thái ban đầu, chạy Pin → Grids, sau đó kiểm tra trạng thái của cả hai trục. Chạy UnPin → Grids và kiểm tra lại. Kết quả dự kiến theo mã nguồn là các trục có thể sửa đổi sẽ nhận trạng thái đích.

Ghim không phải cơ chế khóa quyền chỉnh sửa: phần tử có thể được bỏ ghim sau đó. Lưu RVT để giữ thay đổi đã thực hiện lên model.

Phần tử không thay đổi​

Controller danh mục, Groups và Elements Has Volume bắt lỗi trên từng phần tử rồi tiếp tục. Thành viên group, phần tử không cho ghim hoặc phần tử không có quyền sửa có thể bị bỏ qua mà không có bảng tổng hợp chi tiết. Với Sheets, đường xử lý không có cùng cơ chế bỏ qua từng phần tử; cần kiểm tra kết quả riêng.

Khi thấy một phần tử chưa đổi trạng thái, kiểm tra đúng category, khả năng chỉnh sửa trong worksharing và quan hệ group. Kiểm tra cả dữ liệu trước/sau và Undo trước khi lưu bản thực hành.