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

Bài 3: Hướng dẫn về kiểu dữ liệu chuỗi trong Dynamo

Bây giờ chúng ta đến với 1 loại dữ liệu còn phổ biến hơn rất nhiều so với số học, đó chính là chuỗi (string). Chuỗi là tập hợp những kí tự, chữ cái, khoảng trắng bằng dấu cách cũng được tính là chuỗi . Ví dụ như chuỗi  “#$%@^% OneBim.vn  ^%$   232a)a({đ” :v

Chuỗi trong dynamo được nhập bằng Node “String” hay có thể bằng “Code Block” . Với Node “String” bạn chỉ đơn giản là nhập thứ gì đó trên bàn phím của bạn kể cả dấu cách , con số , Dynamo sẽ hiểu đó là dữ liệu dạng chuỗi và tất nhiên đi kèm với nó là những thao tác chúng ta có thể thực hiện nếu đó là chuỗi :

Cách áp dụng  “Node String”  Node  “Code Block” cũng đúng như mình giới thiệu ở phần số học . Mình vẫn khuyên các bạn mới bắt đầu nên dùng chính xác kiểu dữ liệu và Node tương ứng trước khi kết hợp sử dụng Code Block.

Một điểm cần lưu ý là giá trị số học khác rất nhiều so với giá trị chuỗi .Điều này cũng là 1 nguyên nhân gây ra lỗi cho những bạn mới tiếp cận Dynamo vì chưa xác định rõ kiểu dữ liệu mình đang làm việc. Bạn xem ví dụ hình dưới để hiểu rõ hơn :

Tuy vậy cũng trong Dynamo nhưng khi viết trong môi trường của Node “Python Script” bạn vẫn có thể viết 1 chuỗi nhân với  1 số  kết quả của nó kiểu như  “A”*5 kết quả là  AAAAA .

Bạn sẽ có chút bất ngờ khi biết rằng các chuỗi có thể cộng và so sánh với nhau,giá trị trả về là 1 kiểu dữ liệu Logic có giá trị  True (đúng) và False (sai) , nhiều khi tính chất này lại giúp ích cho bạn rất nhiều trong quá trình thiết kế kịch bản. Ví dụ như bạn cần lọc những cái dầm có cùng Family ,chỉ đơn giản là bạn lấy tất cả dầm ,gọi ra tên Family của nó (tên Family là kiểu dữ liệu chuỗi) , rồi so sánh với Family bạn cần tìm , cái nào trả về True thì lấy cái đó .

Có thể hiện tại khi đang đọc bài viết này bạn chưa thể thấy được  tầm quan trong của chuỗi, nhưng điều đó chỉ là chuyện sớm hay muôn vì chắc chắn trong công việc sau này  bạn sẽ gặp rất nhiều, dùng tốt các phương thức  xử lí chuỗi sẽ là chìa khóa cho rất nhiều thao tác tự động hóa những việc nhàm chán trong thiết kế .

Ngoài ra bạn còn có thể làm rất nhiều điều với chuỗi như  Xóa một kí tự nào đó trong chuỗi, chèn 1 kí tự, tìm kiếm kí tự , phân tách chuỗi ….

Các kí tự trong chuỗi có 1 chỉ mục đại diện hay trong Dynamo gọi là Index .  Ví dụ chuỗi  “onebim.com.vn”  có  13 kí tự được đánh số từ 0 đến 12 từ trái sang phải. Các chỉ mục này là cơ sở để chúng ta thực hiện chèn, xóa , phân tách chuỗi …. Ví dụ thao tác với chuỗi này :

 

Trên đây mình giới thiệu một số node cơ bản để xử lí chuỗi , trong thực tế công việc cũng hay dùng . Áp dụng nhiều cho công việc các bạn sẽ phát hiện thêm nhiều kĩ thuật xử lí chuỗi hay .

Ứng dụng khá đơn giản và cũng khá hay với Number và  String là tạo danh mục bản vẽ  và bản vẽ trong Revit  như  hình bên dưới .

Bạn có thể tạo thêm  số hiệu bản vẽ (Sheet Number)  để tiến hành tạo 1 loạt các bản vẽ cùng 1 lúc với 1 click chuột  mà không phải copy rồi sửa tên, tất nhiên nếu bạn đã có 1 file Excel  chứa dữ liệu của “Sheet Number”  và  “Sheet Name”  của ai đó đưa cho bạn  thì có thể nhập dữ liệu từ Excel vào . Còn nếu bạn tự tạo thì không cần thiết phải dùng đến Excel.

Trong Revit có rất nhiều các Parameter nhận  dữ  liệu đầu vào là chuỗi khi gán bằng Dynamo như  View Name, Title On Sheet , Commnet ,Type Family , Information Project …..ngoài ra còn có rất nhiều các Parameter có kiểu dữ  liệu Text được chúng ta thêm vào .

Dù dynamo thông minh trong xử lí kiểu số liệu nhưng Revit thì không ,đơn giản là Revit  cần sự chặt chẽ và rõ ràng hơn  .Ví dụ  đơn giản như Parameter “Comments” của 1 đối tượng nào đó như hình dưới  nhận kiểu dữ liệu đầu vào khi gán là dạng chuỗi nên sẽ phát sinh lỗi khi bạn cố gắng cho nó giá trị của một số ,ở đây là số 1 :

Nếu có vấn đề nào khó hiểu trong bài đăng hay ý kiến góp ý các bạn comment phía dưới bài viết để mọi người cùng thảo luận và để tác giả chỉnh sửa cho hợp lí nhất !

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 2 : Hướng dẫn về kiểu dữ liệu số học trong DynamoBài 4:Hướng dẫn về List và các Node hay dùng trong Dynamo >>
Comments
Loading...