Dùng Grasshopper để tạo một parametric truss (truss tùy biến có thể thay đổi kích thước thông qua các tham số) sau đó xuất sang Rhino.
1. Top and Bottom chord trong Grasshopper
Trước tiên thì chúng ta sẽ tạo một đoạn curve tượng trưng cho bottom chord của truss bằng component Line SDL. Đoạn curve này bắt đầu từ một điểm, chạy theo phương X và có chiều dài được điều khiển bằng component Number Slider.
Sau đó tiến hành move đoạn curve vừa tạo theo phương z cho top chord của truss bằng component Move. Vector theo phương z cũng được điều khiển bởi một Number Slider cho phép chúng ta thay đổi chiều cao của truss về sau.
Top chord (màu xanh) được move từ bottom chord(màu đỏ)
2. Tạo Web Truss
Giờ bắt đầu chia nhỏ hai đoạn curve trên thành các phần bằng nhau để bố trí các web cho truss bằng component Divide Curve.
Hai đoạn 2 curves ở Rhino đã được phân làm 9 phần bằng nhau bởi các point. Tuy nhiên điều chúng ta muốn là cắt nhỏ các đoạn curves ứng với top&bottom chords thành từng đoạn riêng biệt.
Để cắt nhỏ hai đoạn curves ở trên chúng ta dùng component Shatter. Input của component này là 2 curves ở trên và parameters từ output của Divide Curve component.
Hai curves ở trên đã được chia làm 9 đoạn bằng nhau (ứng với mỗi curve)
Nối các điểm vừa chia ở trên lại với nhau để được các vertical web bằng component Line
Các vertical web màu xanh được tạo bởi hai point tương ứng từ hai chords của truss
3. Tạo Web Xiên
Tiếp theo là đến web xiên, để tạo được web xiên thì chúng ta sẽ dịch chuyển một trong hai point list ứng với mỗi chord như sau:
Lại dùng component Line để tạo lines từ các points của 2 list mới lại với nhau
Kết quả là các web xiên như hình dưới. Tuy nhiên nếu tinh ý thì chúng ta có thể thấy có một vertical web vẫn còn xuất hiện do point số 8 của dãy points phía trên kết nối với cả point số 8 và 9 của dãy point phía dưới nên tạo ra 2 lines. Nếu bạn đọc có sử dụng Dynamo thì biết đây là kiểu “long lacing” bên Dynamo. Ở các bước ở dưới chúng ta sẽ loại bỏ nó sau.
Việc tiếp theo là tạo các web xiên ở phương ngược lại. Cách làm tương tự như trên
Giờ thì chúng ta đã có đầy đủ web theo 2 phương và việc tiếp theo là xóa bớt những web thừa để tạo thành một truss hoàn chỉnh
Dùng component Cull Pattern để cắt bớt một nửa web theo nguyên tắc True False. Tức là lần lượt giữ một web thì cắt một web.
Làm tương tự cho các web xiên ở phương còn lại. Lưu ý đối với phương còn lại chúng ta sẽ chuyển quy tắc thành False True bằng cách chuột phải convert(đảo ngược) ở input Cull Pattern. Sau khi cắt xong thì chúng ta được các web xiên liền mạch của truss. À quên chưa xong đâu ! còn cái vertical web khi tạo web xiên cần được loại bỏ nửa (line màu xanh giữa point 8 và 9 như hình đó)
Ở đây chúng ta dùng component Cull Index để loại bỏ item cuối cùng từ list đầu ra của component Cull Pattern. Ở component Cull Pattern có 5 items ứng với 5 curves, chúng ta dùng List Length để đếm số item sau đó trừ đi 1 bằng component Subtraction rồi nối vào input Indices của component Cull Index là chúng ta đã loại bỏ được vertical web dư ở ngoài cùng rồi
4. Tạo Truss trong Grasshopper
Giờ thì chỉ cần nối tất cả các dữ liệu lại với nhau để tạo thành một truss bao gồm: top&bottom chord, vertical web, diagonal web bằng component Merge.
Bước cuối cùng, gán đối tượng hình học 3D cho truss bằng component TT Sweep và TT Sweep Names của plugin TT Toolbox.
Chuột phải vào TT Sweep Names chọn selection selector rồi chọn tiết diện mong muốn (chú ý đơn vị) --> OK
Chúng ta có hệ truss được gán tiết diện như hình bên dưới.
Đây không phải là một parametric truss nên nó có thể tự điều chỉnh khi ta thay đổi chiều cao chiều dài cũng như thay đổi chiều rộng cho các web.
5. Từ Grasshopper sang Rhino
Giờ để chuyển truss này thành đối tượng của Rhino thì…Tiến hành BAKE it. Chuột phải và Bake…
Chọn các thiết lập sau đó click OK.
Chúng ta được một hệ truss bên Rhino như hình.
Hệ truss ở chế độ Render bên Rhino.
Nếu thấy bài viết này hữu ích, hãy cân nhắc việc follow BCDD tại đây
Bài viết được biên tập bởi đội ngũ BCDD dựa theo một buổi training từ CORE Studio Thornton Tomasetti.
Thanks admin