Ứng dụng dynamo và revit trong mô hình thông tin xây dựng
MỤC LỤC
1 GIỚI THIỆU
1.1 Lập trình trực quan
1.1.1 Lập trình trực quan là gì?
1.1.2 Thuật toán
1.2 Dynamo là gì?
1.2.1 Ứng dụng
1.2.2 Quy trình thực hiện
1.2.3 Cộng đồng
1.2.4 Nền tảng
2 LÀM QUEN VỚI DYNAMO
2.1 Cài đặt và khởi động Dynamo
2.1.1 Tải phần mềm
2.1.2 Cài đặt
2.1.3 Khởi động Dynamo
2.2 Giao diện người dùng
2.2.1 Giao diện người dùng
2.2.2 Trợ giúp
2.3 Không gian làm việc (Workspace)
2.3.1 Không gian làm việc
2.3.2 Tính năng “Cleanup Node” .
2.4 Bắt đầu dự án
2.4.1 Xác định Đối tượng và các mối quan hệ
2.4.2 Thêm Node vào không gian làm việc Workspace
2.4.3 Liên kết giữa các Node bằng dây dẫn
2.4.4 Chạy chương trình
2.4.5 Thêm chi tiết
2.4.6 Tăng độ phức tạp (complexity)
2.4.7 Điều chỉnh bằng thao tác trực tiếp
3 PHÂN TÍCH CHƯƠNG TRÌNH LẬP TRÌNH TRỰC QUAN
3.1 Node
3.1.1 Cấu tạo Node
3.1.2 Cổng (Port)
3.1.3 Trạng thái Node
3.2 Dây (Wire)
3.2.1 Dòng lập trình (Program Flow)
3.2.2 Cách tạo dây nối
3.2.3 Chỉnh sửa dây
3.2.4 Màu dây
3.3 Thư viện (Library)
3.3.1 Thư viện Dynamo
3.4 Quản lý chương trình
3.4.1 Căn chỉnh node
3.4.2 Tạo ghi chú (Note)
3.4.3 Tạo nhóm (Group)
4 CÁC KHỐI CẤU TRÚC CỦA CHƯƠNG TRÌNH
4.1 Data (Dữ liệu)
4.1.1 Data là gì?
4.1.2 Cảnh báo “Null”
4.1.3 Cấu trúc dữ liệu
4.1.4 Sử dụng Data để tạo chuỗi hình trụ
4.2 Toán tử số học (Math)
4.2.1 Toán tử số học (Arithmetic Operators)
4.2.2 Công thức tham số (Parametric Formula)
4.2.3 Từ công thức đến hình học geometry
4.2.4 Từ Spiral đến Nautilus
4.2.5 Từ Nautilus đến quy luật Phyllotaxis
4.3 Toán tử Logic
4.3.1 Booleans
4.3.2 Câu lệnh điều kiện (Conditional Statements)
4.3.3 Lọc list (Filtering)
4.3.4 Tạo hình học bằng toán tử logic
4.4 Toán tử Chuỗi (Strings)
4.4.1 Tạo toán tử chuỗi
4.4.2 Truy vấn chuỗi (Querying Strings)
4.4.3 Thao tác với chuỗi
4.4.4 Làm việc với chuỗi string
4.5 Màu (Color)
4.5.1 Tổng quan
4.5.2 Tạo Color
4.5.3 Truy vấn giá trị Color
4.5.4 Dải màu (color range)
4.5.5 Xem màu trước
4.5.6 Bài tập về Color
4.5.7 Tạo màu trên bề mặt
4.5.8 Bài tập tạo color trên surface
5 VẬT THỂ HÌNH HỌC ĐỐI VỚI THIẾT KẾ ĐIỆN TOÁN
5.1 Vật thể hình học (Geometry)
5.1.1 Tổng quan về Vật thể hình học
5.1.2 Kiến thức cơ bản về Vật thể hình học
5.1.3 Hệ thống phân cấp kiểu dữ liệu
5.1.4 Vật thể hình học trong Dynamo Studio
5.1.5 Thủ thuật với vật thể hình học
5.2 Véc-tơ
5.2.1 Véc-tơ (Vector)
5.2.2 Mặt phẳng (Plane)
5.2.3 Hệ tọa độ
5.3 Điểm (Point)
5.3.1 Point là gì?
5.3.2 Vai trò của điểm trong Tọa độ
5.4 Đường
5.4.1 Đường là gì?
5.4.2 Đường thẳng (Line)
5.4.3 Arc, Circle, Ellipse Arc và Ellipse
5.4.4 Đường NURBS + Polycurves (đường đa khúc, đa đoạn)
5.5 Bề mặt
5.5.1 Bề mặt là gì?
5.5.2 Các bề mặt NURBS
5.5.3 Bề mặt Polysurface (Đa bề mặt)
5.6 Khối (Khối Solid, khối lập thể)
5.6.1 Khối là gì?
5.6.2 Cấu trúc liên kết khối
5.6.3 Thao tác
5.6.4 Phép toán logic
5.6.5 Đóng băng khối (Freezing)
5.7 Lưới (Meshes)
5.7.1 Lưới là gì?
5.7.2 Các phần tử cấu thành lưới
5.7.3 Sự khác biệt giữa mặt lưới và bề mặt NURBS
5.7.4 Ảnh hưởng giữa Cục bộ và Tổng thể
5.7.5 Bộ Kit cho Lưới
5.8 Kết nhập vật thể hình học
5.8.1 Kết nhập vật thể hình học từ file DWG
5.8.2 Kết nhập các đối tượng
5.8.3 Lọc đối tượng – Object Filter
5.8.4 Lựa chọn đối tượng cụ thể
6 LÀM VIỆC CÙNG LIST
6.1 List là gì.
6.1.1 List là gì?
6.1.2 Chỉ mục bắt đầu từ 0
6.2 Nguyên lý hoạt động của List
6.2.1 Làm việc với List
6.2.2 Phương thức của List
6.2.3 List.Count
6.2.4 List.GetItemAtIndex
6.2.5 List.Reverse
6.2.6 List.ShiftIndices
6.2.7 List.FilterByBooleanMask
6.3 Danh sách chứa danh sách (Lists of Lists)
6.3.1 Lists of Lists
6.3.2 Hệ thống phân cấp từ trên xuống dưới (Top-Down Hierarchy)
6.3.3 Gạt phẳng Flatten và List.Flatten
6.3.4 Băm danh sách – List.Chop
6.3.5 Ánh xạ danh sách List.Map và Hợp nhất danh sách List.Combine
6.3.6 List@Level
6.3.7 Hàm Transpose – Hoán vị dòng và cột
6.3.8 Tạo List bằng Code block
6.3.9 Trích xuất thông tin Code block
6.3.10 Bài tập – Trích xuất thông tin và nhập dữ liệu Data
6.4 Danh sách nhiều chiều – n-Dimensional Lists
6.4.1 Ánh xạ (Mapping) và Tổ hợp (Combinations)
7 KHỐI MÃ LỆNH CODE BLOCK VÀ NGÔN NGỮ LẬP TRÌNH DESIGNSCRIPT
7.1 Khối mã lệnh Code block là gì?
7.1.1 Tổng quan ngắn gọn về Code block
7.1.2 Tạo Code block
7.1.3 Numbers – số, strings – chuỗi, formulas – công thức
7.2 Cú pháp của DesignScript
7.2.1 Tạo node
7.2.2 Cột nối Lacing trong Code block.
7.2.3 Node chuyển qua Mã – Node to Code
7.2.4 Bài tập
7.2.5 Đơn giản hóa sơ đồ với “Node to Code”
7.3 Tốc ký trong Code block
7.3.1 Cú pháp khác
7.3.2 Dải – Range
7.3.3 Các dải phức tạp – Advanced Ranges
7.3.4 Tạo list và lấy item từ list
7.3.5 Bài tập
7.4 Hàm – Function
7.4.1 Tạo hàm trong Code block
8 DYNAMO CHO REVIT
8.1 Mối quan hệ Dynamo và Revit
8.1.1 Mối quan hệ Dynamo và Revit
8.1.2 Khởi động Dynamo trong Revit
8.1.3 Đóng băng Node (Freezing)
8.1.4 Cộng đồng Dynamo
8.2 Chọn đối tượng
8.2.1 Hệ thống phân cấp trong Revit
8.2.2 Điều hướng Database với các node trong Dynamo
8.3 Chỉnh sửa đối tượng
8.3.1 Tham số loại – Type và cá thể – Instance
8.3.2 Đơn vị (Units)
8.3.3 Bài tập
8.4 Tạo đối tượng (Creating)
8.4.1 Cấu kiện tùy ứng – Adaptive Component
8.4.2 Bài tập
8.4.3 Phần tử DirectShape (Kết nhập mô hình nguyên dạng)
8.4.4 Bài tập
8.5 Tùy chỉnh (Customizing)
8.5.1 Vị trí điểm (Point Location)
8.5.2 Phân tích hướng mặt trời – Solar Orientation Analysis
8.5.3 Phân tích (Analysis)
8.6 Làm Hồ sơ (Documenting)
8.6.1 Độ lệch (Deviation)
8.6.2 Màu sắc và hồ sơ tài liệu
8.6.3 Thống kê (Scheduling)
9 DICTIONARY TRONG DYNAMO
9.1 Dictionaries
9.2 Node Dictionary
9.3 Dictionary trong Code block
9.4 Dictionary sử dụng trong Revit
10 NODE TÙY BIẾN – CUSTOM NODE
10.1 Giới thiệu Custom Node
10.1.1 Dọn dẹp sơ đồ node
10.1.2 Thích ứng với thay đổi
10.1.3 Chia sẻ công việc
10.1.4 Các phương pháp để tạo Node
10.1.5 Môi trường Custom Node
10.2 Tạo Node tùy biến
10.2.1 Node tùy biến ánh xạ UV
10.2.2 Tạo Node tùy biến từ sơ đồ node sẵn có
10.3 Đưa node tùy biến vào thư viện
10.3.1 Cách thêm Custom node vào thư viện
10.3.2 Thêm node tùy biến vào thư viện
10.4 Node Python
10.4.1 Lập trình dòng lệnh và lập trình trực quan
10.4.2 Ô khối Python
10.4.3 Bài tập
10.5 Python và Revit
11 VẬT THỂ HÌNH HỌC VỚI DESIGNSCRIPT
11.1 Khái niệm cơ bản về vật thể hình học trong DesignScript
11.2 Vật thể hình học nguyên thuỷ (Geometric Primitives)
11.3 Toán học Vector
11.4 Đường: Nội suy và điểm khống chế
11.5 Tịnh tiến, xoay và các phép biến đổi khác
11.6 Bề mặt: Bề mặt nội suy, điểm khống chế, vạch dạng và xoay quanh trục
11.7 Tham số hóa vật thể hình học (Geometric Parameterization)
11.8 Giao cắt và cắt xén (Intersection and Trim)
11.9 Logic (Geometric Booleans)
11.10 Tạo điểm với (Python Point Generators)
12 THỦ THUẬT SỬ DỤNG DYNAMO
12.1 Chiến lược lập Sơ đồ cho Dynamo
12.1.1 Giảm độ phức tạp
12.1.2 Duy trì khả năng đọc (Maintain Readability)
12.1.3 Quan sát dữ liệu
12.1.4 Tái sử dụng
12.2 Chiến lược viết mã thông dịch (Scripting Strategies)
12.2.1 Khi nào cần dùng mã thông dịch cú pháp – Text-based Script
12.2.2 Nghĩ tới một môi trường làm việc tham số
12.2.3 Mô-đun hóa cấu trúc
12.2.4 Hiệu chỉnh liên tục
12.2.5 Gỡ lỗi hiệu quả
12.3 Tham chiếu tới các thư viện
12.3.1 Sử dụng thư viện
12.3.2 Ghi nhãn (Label)
12.3.3 Lối viết phong nhất quán khi viết mã lệnh
12.3.4 Tiêu chuẩn C# (Zerotouch)
13 MỘT SỐ THUẬT NGỮ DÙNG TRONG TÀI LIỆU
Minh Quân –
sách hiếm