- Published on
Sonny.RevitExtensions - Thư Viện Mở Rộng Cho Revit API
- Authors

- Name
- Phan Cong Vu Duc
Giới thiệu
Sonny.RevitExtensions là một thư viện mã nguồn mở cung cấp các extension methods cho Autodesk Revit API, giúp đơn giản hóa các thao tác hình học phức tạp trong lập trình Revit. Thư viện này được viết từ năm 2021 như một phần của dự án AlphaBIM và mới được open-source vào tháng 11/2025.
Vấn đề
Khi làm việc với Revit API, bạn thường phải viết nhiều code lặp lại cho các thao tác hình học cơ bản như:
- So sánh điểm XYZ với tolerance
- Tính khoảng cách giữa các điểm
- Tìm giao điểm giữa các đường cong
- Kiểm tra điểm có nằm trong mặt phẳng không
- Các phép toán vector...
Những đoạn code này thường dài dòng và dễ mắc lỗi khi tự implement.
Giải pháp
Sonny.RevitExtensions cung cấp các extension methods theo phong cách LINQ, giúp code ngắn gọn và dễ đọc hơn:
using Sonny.RevitExtensions.Extensions.XYZs;
using Sonny.RevitExtensions.Extensions.GeometryObjects.Curves;
// Tính khoảng cách 2D giữa hai điểm
double dist2D = point1.DistanceTo2D(point2);
// So sánh điểm với tolerance
bool equal = point1.IsAlmostEqual2D(point2, ToleranceConstants.GeneralTolerance);
// Tìm giao điểm giữa hai đường cong
XYZ? intersection = curve1.GetIntersection(curve2);
// Kiểm tra điểm có nằm trong mặt không
bool isInside = face.IsPointInside(point);
Tính năng chính
- XYZ Extensions - So sánh điểm, tính khoảng cách, phép toán vector, transformations
- Curve Extensions - Tìm giao điểm, kiểm tra song song, tính khoảng cách
- Face Extensions - Kiểm tra điểm trong mặt, tìm giao điểm, lấy vector pháp tuyến
- Solid Extensions - Trích xuất curves, faces, points từ solid
- Element Extensions - Thao tác với geometry của elements
- Document Extensions - Query và retrieval methods cho elements
- Parameter Extensions - Quản lý parameters và properties
- Hỗ trợ Revit 2021-2026
Kết luận
Sonny.RevitExtensions giúp đơn giản hóa việc làm việc với Revit API, giúp code ngắn gọn và dễ maintain hơn. Đây là một công cụ hữu ích cho các developer làm việc với Revit API, đặc biệt là những người thường xuyên phải xử lý các bài toán hình học phức tạp.
Để tìm hiểu chi tiết về các extension methods, cách cài đặt, và examples, vui lòng xem README trên GitHub repository:
🔗 GitHub Repository: https://github.com/PhanCongVuDuc/Sonny.RevitExtensions
Nếu bạn thấy project hữu ích, hãy cho một ⭐ star trên GitHub nhé!