Mình sẽ hướng dẫn Add và set Visibility hàng loạt cho Filter

1. Chuẩn bị

Các kiến thức cơ bản về Dynamo.

Download các package : Data-Shapes, archi-lab.net bản mới nhất:

Update Revit 2017.12 để có Dynamo Player

Download các file .dyn mình đã làm tại đây7.

2. Add batch filters

Workflow như sau:

  1. Sử dụng UI input của Data-Shapes5 để tạo giao diện nhập các giá trị Input gồm có: đoạn text để lọc các filter và view full filter
  • Text lọc filter : lấy các filter có chưa đoạn kí tự này. Dó đó cần lưu ý khi đặt tên filter, nên theo một quy tắc. Ví dụ filter cho section thì đặt section_mat-cat hoặc SEC_MC.
  • View full filter: lựa chọn view có đầy đủ filter. Do chưa tìm được node lấy tất cả filter (hỏi trên forum dynamo thì phải tự làm bằng python) nên mình dùng cách lòng vòng 1 chút đó là lấy filter từ một view đã add sẵn.

2.1 Do mình có 2 giá trị input, nên output sẽ cho ra 1 list. Sử dụng code block để tách lấy từng giá trị.

2.2 Lấy filter từ giá trị Input View full filter

2.3 Lọc và lấy các filter theo giá trị input Text lọc filter. Sử dụng lọc list bằng node List.FilterByBoolMask

3.1 Lấy view đang hiện hành (active view). Sở dĩ mình có cài Node If là để nó refesh giá trị khi mình sử dụng trực tiếp bằng Dynamo không thông qua Dynamo Player.

3.2 Bỏ view template cho view. Sau khi thử với view có view template thì sẽ gây ra lỗi nên phải bỏ view template.

  1. Gắn tất cả giá trị cần có cho node Add Filter

3. Set batch filter visibility

Cái này đơn giản hơn, chủ yếu là thay đổi ở node thực thi cuối cùng đó là View.SetFilterVisibility

  1. Sử dụng UI input của Data-Shapes5 để tạo giao diện nhập các giá trị Input gồm có: đoạn text để lọc các filter và bật hay tắt filter visibility
  • Text lọc filter : lấy các filter có chưa đoạn kí tự này. Dó đó cần lưu ý khi đặt tên filter, nên theo một quy tắc.
  • Bật hay tắt filter visibility : dạng data boolean yes/no

2. Lấy view đang hiện hành (active view)

  1. Lọc và lấy các filter theo giá trị input Text lọc filter
  2. Gắn tất cả giá trị cần có cho node View.SetFilterVisibility

Gỡ Filter hằng loạt cũng tương tự, thay node View.SetFilterVisibility bằng View.RemoveFilter

4. Chạy bằng Dynamo Player

Mở Dyamo Player và load tới folder có chứa file .dyn

5. Một số chú ý

Nếu chạy trong Dynamo (không phải Dynamo Player)

  • luôn để Manual
  • Mặc định mỗi lần Run, Input data không reset nên làm các bước sau để reset : chọn False nhấn Run. Sau đó chọn True để test lần mới

Cũng khá đơn giản phải không. Nếu có khó khăn thắc mắc gì cứ để lại comment bên dưới. Chúc các bạn sáng tạo với Dynamo thành công.

Thêm nhiều thủ thuật khác tại khóa học xây dựng : https://www.elsoft.vn/khoa-hoc/kien-truc-xay-dung