SonnyBIM
Published on

Sonny - Dự Án Revit Plugin Mã Nguồn Mở

Authors

Giới thiệu

Sonny là một dự án Revit plugin mã nguồn mở được tổ chức thành nhiều solution files hỗ trợ Revit từ phiên bản 2021 đến 2026. Dự án được xây dựng với các mục tiêu:

  • 📚 Learning - Dự án giáo dục để học và nghiên cứu kỹ năng lập trình Revit API
  • 🤝 Community - Cùng nhau phát triển, chia sẻ kiến thức và kinh nghiệm
  • 🆓 Free - Tạo công cụ miễn phí cho mọi người sử dụng

Tính năng và công nghệ

Sonny là một dự án học tập và thực hành các kỹ thuật lập trình hiện đại trong Revit API:

  • Dependency Injection - Sử dụng Microsoft.Extensions.DependencyInjection cho IoC
  • Unit Testing - Viết tests với NUnit và NSubstitute
  • MVVM Pattern - Triển khai MVVM với CommunityToolkit.Mvvm
  • Resource Management / Localization - Hỗ trợ đa ngôn ngữ với ResourceDictionary và WPFLocalizeExtension
  • Multi-version Support - Hỗ trợ nhiều phiên bản Revit (2021-2026)
  • Multiple Units Support - Xử lý các đơn vị đo lường khác nhau (feet, meters, inches, etc.)
  • Async Programming - Sử dụng async/await với Revit API
  • Build Automation - Sử dụng Nuke cho build automation
  • MSBuild Customization - Custom MSBuild targets và tasks

Cấu trúc dự án

Sonny sử dụng Git Submodule để quản lý các dependencies:

  • Revit.Async - Async utilities cho Revit API
  • Sonny.EasyRibbon - Framework tạo Revit Ribbon UI dựa trên attributes
  • Sonny.RevitExtensions - Thư viện extension methods và utilities cho Revit API

Dự án được tổ chức với các thư mục:

  • build - Nuke build system để tự động hóa build
  • install - Add-in installer
  • source - Source code của tất cả các projects

Kết luận

Sonny là một dự án mã nguồn mở tập trung vào việc phát triển các công cụ hữu ích cho cộng đồng Revit. Với mã nguồn mở, mọi người có thể học hỏi, đóng góp và sử dụng tự do. Đây là một nguồn tài liệu tuyệt vời cho những ai muốn học và thực hành các kỹ thuật lập trình Revit API hiện đại.

Để tìm hiểu chi tiết về cách clone repository với submodules, cấu trúc dự án, và các tính năng, vui lòng xem README trên GitHub repository:

🔗 GitHub Repository: https://github.com/PhanCongVuDuc/Sonny

Nếu bạn thấy project hữu ích, hãy cho một ⭐ star trên GitHub nhé! Mọi đóng góp đều được chào đón qua GitHub Issues, Pull Requests hoặc LinkedIn.


Happy Coding with Sonny! 🚀