OneBIM.vn
Kết Nối và Chia Sẻ

Bài 6 : Gán thông tin cho đối tượng và nhập ,xuất thông tin sang excel trong Dynamo

1.Đọc và gán thông tin đối tượng

  • Chúng ta đã nghe đến nhiều các bài toán kiểu như : Đánh Mark tự động cho dầm , đánh Mark tự động cho thép ,tự động thay đổi tên của Sheet ,tự động thay đổi Sheet Number, tự đánh số cho cọc ..v.v..Thực ra chúng chỉ là 1 bài toán mà thôi , ý tưởng cơ bản của bài toán này chỉ là lấy ra đối tượng cần gán thông tin trong Revit rồi gán thông tin ta cần cho nó mà thôi .Đến bài này mình mặc định các bạn đã hiểu cách lấy đối tượng trong Revit bằng Dynamo rồi nhé !

– Trong Dynamo cung cấp 2  Node chính có tác dụng đọc và gán các thông tin đối tượng(hay Parameter)

Ví dụ mình muốn đặt tên cho nhiều  dầm mà không phải đi gõ từng dầm ta chỉ đơn giản làm như sau :

Một số cú pháp với chuỗi đã học ở bài 3 rồi nhé !

 

-Phần này khá dễ hiểu nhưng mục đích mình viết hướng dẫn này là hy vọng người đọc có tư duy mở rộng  vấn đề kiểu như khi đọc xong phần trên bạn sẽ nghĩ ngay như  :

-Ô ! “Mark” cũng chỉ là 1 tham số của đối tượng như bao tham số khác ,vậy mình hoàn toàn có thể làm -tương tự với những tham số khác nhỉ ?

-Mình có thể vận dụng các cách lọc phần tử để lọc các dầm có cùng Level , cùng chiều dài hay theo quy luật nào đó qua đó đánh mark theo quy luật nhỉ?

-Không chỉ là dầm mà rất ,rất nhiều đối tượng như thép,sàn ,cột ,View,Sheets … có thể gán thêm hay lấy ra thông tin bằng cách này chỉ cần vận dụng những kĩ thuật tham chiếu đối tượng là được.

-Ta có thể ứng dụng các kĩ thuật xử lí số học , xử lí chuỗi ,xử lí List để áp dụng cho bài toán này nhỉ ?

………………..

Ở đây mình xin lứu ý 1 chút về kiểu Parameter trong Revit vì mình thấy nhiều người hay mắc lỗi chỗ

này  :

– Đa số các đối tượng trong  Revit có 2 loại tham số  là “Parameter” và “Parameter Type” . “Parameter” là loại tham số riêng của phần tử ,khi thay đổi tham số này thì chỉ có phần tử đó có thay đổi , “Parameter Type” là kiểu tham số chung cho Family ,khi bạn thay đối tham số loại này toàn bộ các đối tượng được tạo ra bằng Family Type đó sẽ thay đổi ,nếu bạn thiết kế 1 Family chắc nhớ cái này :

-Dynamo phân biệt rõ 2 loại này , nếu bạn muốn gán,lấy tham số kiểu  “Parameter” thì đầu vào “element” phải  là  các đối tượng  kiểu “Element”, còn nếu bạn muốn gán,lấy tham số kiểu “Parameter Type” thì bạn phải đưa vào “element” kiểu “Elemnt Type”  .Bạn xem ví dụ :

-Điểm lưu ý nhỏ nữa là tên Parameter bạn đưa vào là kiểu dữ liệu chuỗi và bạn cần viết chính xác 100% như hiển thị trong Revit thì mới có thể  gọi chính xác , trong trường hợp tên dài quá khó nhớ hay bạn ngại gõ , bạn có thể dùng Node “Get Family Parameter”.

-Khi gán  giá trị cũng cần phải hiểu giá trị mình định gán có kiểu dữ liệu là gì , bạn không thể gán “Onebim.vn” cho biến chiều dài dầm được nhỉ ? Nhưng  gán “Onebim.vn” cho biến “Comment” của nó thì được !

2.Xuất và nhập thông tin đối tượng trong Project  Revit  sang excel.

–  Đến bài này thì lại mặc định các bạn đã gán những gì cần gán cho đối tượng của mình rồi nhé , bây giờ bạn lại cần xuất các thông tin đó ra File excel để làm gì đó . Ít nhất bạn cũng nên tạo trước 1 file Excel dùng để làm nơi Dynamo ném dữ liệu vào  .Để xuất dữ liệu ra excel dynamo có sẵn 1 số  Node  như sau :

-Ở trên số “0” đại diện cho vị trí bắt dầu ghi dữ liệu , hàng 0 cột 0 tương ứng vưới ô A1 , hàng 1 cột 0 tương ứng với ô A2 ……Bạn có thể tùy chọn vị trí hàng cột khác nhau theo nhu cầu trình bày của bản thân.

Ví dụ mình muốn xuất tọa độ 1 cấu kiện như thế này :

Và đây là kết quả  chỉ là dạng chuỗi kí tự mà chúng ta không thể dùng để tính toán ngay được :

-Với  lại tọa độ ngoài cột x,cột y,cột z ra thì ta cũng cần cột tên để ta biết nó là tọa độ của cái gì chứ nhỉ ? Rất đơn giản ta thêm 1 vài Node gọi riêng tọa độ X,Y,Z như sau :

-Và kết quả kiểu như  thế này :

-Nếu muốn các bạn có thể tùy chỉnh vị trí hàng ,cột bắt đầu ghi dữ liệu trong Dynamo để chừa ra một vài ô trống giúp các bạn tạo bảng cho đẹp .

-Ngoài tọa độ bạn có thể xuất bất kì thông tin gì trong Revit bằng cách này , chỉ cần bạn gọi đúng các Parameter mang giá trị cần xuất bạn sẽ được như ý .

3.Nhập thông tin từ Excel vào Revit bằng Dynamo.

– Dynamo cung cấp 1 node mặc định như sau :

-Xuất dữ liệu có lẽ dễ hơn  vì thường thì file excel bạn xuất ra ban đầu rỗng nên chỉ việc ghi ra thôi , nhưng khi nhập dữ liệu thì Excel lại nảy sinh một số vẫn đề vì dữ liệu mỗi người 1 cách trình bày ,có người thích dữ liệu ở trên cùng Sheet, có người thích ở giữa … dữ liệu ô thì có ,ô thì không . Dynamo sẽ đọc toàn bộ vùng giữ liệu tính từ ô A0 cho đến vị trí có thể bao quát được hết vùng dữ liệu , các ô không chứa dữ liệu sẽ trả về giá trị “null” trong List , và dynamo đọc dữ liệu theo hàng có nghĩa  là sẽ đọc từ A1,B1,C1….. rồi A2,B2,C2….. , mỗi hàng lưu vào 1 List . Node List.Tranpose có thể rất hữu ích nếu bạn muốn đọc giữ liệu theo cột.

* Ở đây rất khó để mình nói được phương pháp tổng quát để lấy đúng hàng ,cột người dùng cần trong Excel vì mỗi dự án có những bảng số liệu khác nhau và mỗi người trình bày cũng khác nhau nhưng cuối cùng  thì cũng chỉ tập chung vào các Node xử lí List để lấy được cái mình cần ,vì vậy bạn  buộc phải  học kĩ phần List nhé ! Lấy được  dữ liệu rồi bạn gán cho hàng loạt  đối tượng như phần đầu nhé .

Nếu có bất kì phần nào chưa hiểu hay ý kiến đóng góp các bạn có thể bình luận ngay tại bài viết này hoặc tham gia thảo luận tại diễn đàn https://forum.onebim.vn/  để cùng nhau xây dựng một cộng đồng vững mạnh !

Tham gia nhóm Facebook để thảo luận và cập nhật thông tin về dynamo https://www.facebook.com/groups/871336123015913/

Mọi ý kiến góp ý hay câu hỏi các bạn có thể gửi về mail hoặc Facebook tác giả  : danghuulamnd1992@gmail.com

https://www.facebook.com/lam.danghuu.3

Khóa học do tác giả trực tiếp giảng dạy các bạn tìm hiểu thêm tại  : https://redy.vn/course/ung-dung-revit-dynamo-bim/

 

Xem tiếp Series<< Bài 5 :Tham chiếu đối tượng Revit trong Dynamo
Comments
Loading...