Cùng nghiên cứu & ứng dụng Dynamo


#1

Từ lúc bắt đầu tiếp cận Dynamo khoảng hơn 1 năm trước đây, hiện tại mình mới quyết định dành thời gian tập trung nghiên cứu và áp dụng Dynamo. Ai có cùng sự quan tâm thì theo dõi và bàn luận ở đây.

1.Visual Programming - Lập trình bằng thị giác

Thời buổi của bùng nổ công nghệ đã giúp chúng ta có những cách thức mới để thực hiện, tạo ra những sản phẩm tốt hơn, tốn ít công sức và sáng tạo hơn. Trong lĩnh vực xây dựng cũng vậy, đó là xu hướng Visual Programming (Lập trình bằng thị giác).

Visual Programming giúp chúng ta có thể làm được nhưng điều mà con người bị hạn chế:

  • Quản lý thông tin chính xác và tự động hàng loạt
  • Dễ dàng thay đổi tùy chỉnh thông số thiết kế mà nếu làm bằng tay rất mất công
  • Khai thác hiệu quả thông tin trong mô hình BIM
  • Giúp nghiên các cấu trúc, vỏ bọc mới cho công trình

Lập trình bằng thị giác khác gì lập trình thông thường?

Lập trình là ngôn ngữ giao tiếp với máy tính, tương đối khô khan và khó tiếp cận với những người không chuyên. Visual Programming đơn giản hóa câu lệnh bằng đồ họa nhưng vẫn dựa trên logic lập trình.

Ví dụ: khi chúng ta muốn vẽ một đoạn thẳng , các cách để thực hiện:

2.Thuật toán thủ công

Ở đây xuất hiện một khái niệm : Thuật toán.

Để dễ hình dung chúng ta xem qua một ví dụ: gấp hạc giấy
Chúng ta bắt đầu bằng một tờ giấy (dữ liệu - input) , qua các bước gấp (tiến trình xử lý) và thu được kết quả là một con hạc giấy (kết quả - output)

Ở dạng chữ:

  1. Start with a square piece of paper, coloured side up. Fold in half and open. Then fold in half the other way.
  2. Turn the paper over to the white side. Fold the paper in half, crease well and open, and then fold again in the other direction.
  3. Using the creases you have made, Bring the top 3 corners of the model down to the bottom corner. Flatten model.
  4. Fold top triangular flaps into the center and unfold.
  5. Fold top of model downwards, crease well and unfold.
  6. Open the uppermost flap of the model, bringing it upwards and pressing the sides of the model inwards at the same time. Flatten down, creasing well.
  7. Turn model over and repeat Steps 4-6 on the other side.
  8. Fold top flaps into the center.
  9. Repeat on other side.
  10. Fold both ‘legs’ of model up, crease very well, then unfold.
  11. Inside Reverse Fold the “legs” along the creases you just made.
  12. Inside Reverse Fold one side to make a head, then fold down the wings.
  13. You now have a crane.

Ở dạng đồ họa:

Như vậy chúng ta đã thiết lập quy nước những bước thực hiện, để một người khác khi đọc hướng dẫn này có thể hiểu và làm theo những quy luật đó. Các quy luật này mang nhiều yếu tố bất di bất dịch (tuân thủ đúng, nếu không sẽ không làm được bước sau) nên có thể gọi là thuật toán thủ công.

3.Dynamo là gì ?

Website: http://dynamobim.org/

Dynamo hiểu đơn giản là một ứng dụng Visual Programming của Autodesk cho phép can thiệp xử lý các dữ liệu, câu lệnh bằng một giao diện và thao tác đơn giản tối đa

Tương tự như ví dụ hạc giấy, ở dạng Thị giác:

Ở dạng chữ:

Kết quả

Đặc điểm của Dynamo:

  • Dễ sử dụng không cần biết nhiều về lập trình (tuy nhiên vẫn cần khả năng tư duy logic để sắp xếp quy luật)
  • Nền tảng mã nguồn mở, được hỗ trợ rất lớn từ cộng đồng: https://forum.dynamobim.com/. Đây là một điều rất tốt khiến Dynamo ngày được phổ biến, và ứng dụng sâu sắc hơn.
  • Tính kế thừa. Bạn tạo được một tính năng hay dễ dàng đóng gói và upload lên cộng đồng để người khác tiếp tục phát triển các tính năng khác.
  • Quản lý tốt. Các sản phẩm sẽ rất khó tiếp cận nếu không được quản lý tốt và sử dụng thuận tiện.

Một số sản phẩm của Dynamo



Xem thêm:
http://dynamobim.org/gallery/

Các tài liệu tham khảo

http://dynamoprimer.com/
DesignScrip Documentation
DesignScript Guide

Ứng dụng

Khả năng ứng dụng của Dynamo là rất lớn có thể kể đến như:

  • Tính khối lượng hình khối phứ tạp
  • Tạo, đặt Family hàng loạt theo quy tắc
  • Quản lý Filter (Tạo, Sửa, Apply …)
  • Quản lý Template Tạo, Sửa, Apply …)
  • Quản lý Naming, Đổi tên hàng loạt
  • Định vị tọa độ cho cấu kiện (cọc, bao sàn…)
  • Auto Join, Unjoin, Cut, Uncut
  • Đánh Mark tự động: Mark Door theo phòng RoomIn, RoomOut ,Mark thép
  • Hỗ trợ massing, dựng hình khối
  • Tự tạo sheet ,tạo Section
  • Tự động dàn layout View
  • Xuất và nhập dữ liệu với excel (Tọa độ XYZ,tham số cấu kiện …)
  • Tự động dải thép , đi thép hình dạng phức tạp.
  • Đặt các cấu kiện chính xác lên mô hình kể cả có dốc dọc ,dốc ngang ,cong.
  • Dựng các hình dạng cực kì phức tạp trong kiến trúc hay kết cấu .

Xem thêm các ứng dụng của Dynamo


Hướng dẫn đi thép về dynamo ?
#4

#5

thực sự rất hào hứng với Dynamo nhưng loay hoay khó dùng các logic chuỗi với nhau, chắc em phải học python sau đó nhảy vào lại DYnamo


#6

theo mình nên bắt đầu bằng việc bạn muốn tạo thứ gì, sau đó sẽ tìm các cách để thực hiện. Bức tranh tổng thể trước mới đến chi tiết.


#7

chào bạn, hiện tại mình đang làm tại 1 công ty chuyên về BIM. Và mình cũng rất hứng thú với việc sử dụng ứng dụng Dynamo để giảm đi thời gian làm việc nhưng vẫn đạt hiệu quả cao nhất. Hy vọng có thể chia sẻ kinh nghiệm với nhau để cùng nhau phát triển mảng tự động hóa này


#8

rất sẵn lòng :slight_smile:, mình sẽ đăng những gì tìm hiểu được lên đây, bao cứ theo dõi và nếu có khó khăn vướng mắc gì post lên đây để cùng trạo đổi.


#9

Bạn nên học từ cái dễ trước. Mình nghĩ là dynamo trực quan và dễ hiểu hơn. Còn Python với những người mới và chưa biết gì về ngôn ngữ lập trình thì khó hơn rất nhiều.


#10

học và dùng những thứ có sẵn trước đi em, python tính sau, dân không chuyên khó tiếp cận lắm, cái khó ở đây không phải là ngôn ngữ python mà cách để đưa ra ý tưởng, viết ý tưởng đó từ ngôn ngữ này. (ngocvuong175)


#11

Đúng vậy. Dùng dynamo gọi là design script - thiết kế kịch bản, chứ không đơn thuần là lập trình.


#12

Bạn nào biết cho mình hỏi xíu. Mình dùng Dynamo để viết ra excel dữ liệu như hình. Nhưng thông tin ra quá dài. Giờ mình chỉ muốn lấy 1 phần thông tin được không thế. Ví dụ : 3-#3C 35m… giờ mình chỉ muốn lấy số 35 để ghi ra excel dc ko ? bạn nào biết help giúp mình vói


#13

dùng string filter thì phải, để mình tìm kỹ rồi up lên


#14

Mình dùng Dynamo mình xuất dữ liệu về đường kính ống và chiều dài ống tương đương với đường kính ống như hình: Dùng dynamo mình làm phép cộng chiều dài ứng với đường kí

nh ống dược không vậy ? bạn nào biết help mình với

ví dụ như trong hình là có tới 2 đường kính ống 80 ứng với 2 chiều dài 31000. Giờ mình làm phép cộng chiều dài tổng đường kính 80 là 62000


#15

có thể dùng cách này để lấy 1 đoạn nhỏ trong 1 string


#16

Mình làm như thé này, có thể có cách ngắn hơn:

Link down: https://drive.google.com/open?id=0B9fh1NlhI20wUHNZcXhxckIwQ3M


#17

Bác có nhận dạy dynamo ứng dụng cho revit ko bác :smiley:


#18

H vẫn chưa ứng dụng đc nhiều nên chưa dám dạy ai cả :sweat_smile:


#19

mình thấy bác hay cmt giúp ae, mình cũng muốn học dynamo mà khổ nỗi ko giỏi tiếng anh đọc tài liệu chả hiểu mấy @@!


#20

Cái Dynamo này cũng phài tìm tòi, mày mò nhiều đó bác. Nếu thích cứ tìm hiểu dần dần, có khó khăn gì đăng lên ae giúp ngay ý mà.


#21

bác có tài liệu nào nói về code block dễ hiểu tí ko :smiley:


#22

các node sử dụng cũng đơn giản mà, còn để lập trình custom node thì mình còn chưa động vào :)). Trong Dynamo có các bài sample trong mục help đó, mở ra xem sẽ hiểu các node cơ bản