[Revit API Task] Tạo Addin RebarBeam - Phần 1: Chọn đối tượng | Vietbimcoder.com

[REVIT API TASK] TẠO ADD-IN REBAR BEAM – TẠO THÉP DẦM TỰ ĐỘNG (PHẦN 1: CHỌN ĐỐI TƯỢNG)

Mình xin chia sẻ một series bài viết về dự án Add-in RebarBeam (Tạo thép dầm tự động).

Qua series này, các bạn sẽ nắm được trình tự tạo thành một add-in, tư duy thuật toán cũng như các ý tưởng phát triển dự án.

Các bài còn lại trong series:

Phần 2: Truy xuất kích thước hình học

Phần 3: Truy xuất trục tọa độ

Phần 4: Truy xuất tọa độ tiết diện

Khởi tạo dự án

Các bạn có thể tham khảo bài viết sau để nằm được các bước khởi tạo dự án: https://vietbimcoder.com/revitapifirststep/

(Lưu ý: Ở dự án này mình sử dụng framework 4.7.2 và thư viện RevitAPI ở phiên bản 2019)

Truy xuất dữ liệu cần thiết

Các kiểu dữ liệu Application và Document là các kiễu dữ liệu định nghĩa đối tượng ở mức quản lý cao nhất trong tổ chức dữ liệu Revit API.

Application là đối tượng đại diện cho ứng dụng Revit đang mở (Revit session), cung cấp khả truy cập vào các document hiện hành, thiết lập tùy chọn và truy xuất dữ liệu chung.

Document là đối tượng đại diện cho hồ sơ mô hình một dự án trong Revit, cung cấp khả năng truy cập và xử lý dữ liệu trong một dự án.

Sử dụng Selection để chọn đối tượng dầm

Selection.PickObject()

Selection là kiểu dữ liệu được định nghĩa một tập hợp gồm các Element được chọn theo yêu cầu người dùng. Phương thức Selection.PickObject() hỗ trợ người dung chọn một Element theo ý muốn bằng chuột.

ISelectionFilter

Để tránh người sử dụng chọn các đối tượng không theo ý muốn, ta cần khởi tạo kiểu dữ liệu BeamSelectionFilter chỉ cho phép các đối tượng loại dầm được chọn.

 

ISelectionFilter là một Interface để thực hiện việc lọc các đối tượng thõa mãn yêu cầu người dùng trong quá trình chọn.

Bạn có tham khảo bài viết sau có giải thích rõ hơn về ISelectionFilter: https://vietbimcoder.com/huong-dan-tao-add-in-filterselectionrebar.

Trả về đối tượng cần truy xuất thông tin

Phương thức Selection.PickObject() sẽ trả về một Reference tham chiếu đến đối tượng gốc.

Ta cần dùng phương thức Document.GetElement() để lấy giá trị đối tượng.

Kết quả

Ta dùng phương thức TaskDialog.Show() để hiện thị hộp thoại thông tin đối tượng ra màn hình.

Kết quả khá ổn đúng không nào? Test thử thôi.

Phần tiếp theo mình sẽ mô tả cách lấy thông tin hình học của đối tượng. Các bạn nhớ theo dõi nhé.

Đoạn code hoàn chỉnh:

Bài viết liên quan