3dshouse nhận lập trình Revit add-in theo yêu cầu bằng C# trên Revit API, cho đội BIM, công ty kiến trúc – kỹ thuật và nhà sản xuất vật liệu: tự động hóa dữ liệu, công cụ xử lý hàng loạt, quản lý family và parameter, tích hợp hệ thống — biến hàng giờ thao tác Revit lặp lại thành một nút bấm.
Trước khi đánh giá một đơn vị lập trình Revit qua trang giới thiệu, hãy cài thử một add-in của họ. Add-in của bạn do chính tác giả Metasheet for Revit viết — add-in miễn phí cho phép sửa parameter, schedule, sheet và view ngay trong một lưới bảng tính, chạy được từ Revit 2022 đến 2027 từ một cây mã nguồn duy nhất. Quy trình phía sau có AI hỗ trợ, đó là lý do bàn giao nhanh: xem cách chúng tôi viết Revit add-in với AI.
Bảng giá dịch vụ lập trình Revit add-in C# theo yêu cầu
| Gói | Phạm vi | Giá | Thời gian |
|---|---|---|---|
| Script / Tool đơn lẻ | Một lệnh xác định rõ, hoặc chuyển Dynamo script thành add-in hoàn chỉnh. Kèm source code. | từ $300 (~7,5 triệu) | 3–5 ngày |
| Add-in có giao diện | 2–4 tính năng, hộp thoại WPF, tích hợp ribbon. Kèm source code. | từ $800 (~20 triệu) | 1–2 tuần |
| Add-in hoàn chỉnh | Giao diện đầy đủ, hỗ trợ nhiều phiên bản Revit, bộ cài đặt, triển khai công ty, tích hợp hệ thống ngoài. Kèm source code. | từ $1.500 (~37,5 triệu) | 2–4 tuần |
- Tư vấn và báo giá miễn phí — mô tả nhu cầu, bạn nhận báo giá cố định trong vòng 48 giờ.
- Đặt cọc 50% khi bắt đầu, thanh toán phần còn lại khi bàn giao. Bao gồm 2–3 vòng chỉnh sửa trong phạm vi đã chốt.
- Bạn sở hữu code được bàn giao. Hỗ trợ Revit 2022 trở lên, build được cho nhiều phiên bản.
Add-in của bạn phải nạp được trên những bản Revit nào
Việc chốt phạm vi đi trước bảng giá, vì runtime .NET dưới Revit đã đổi hai lần chỉ trong ba bản phát hành. Trang Development Requirements của Autodesk ghi rõ cho từng dòng:
- Revit 2022–2024 — “The Autodesk Revit API requires the Microsoft .NET Framework 4.8”, biên dịch bằng Visual Studio 2019 trở lên. Target framework
net48. - Revit 2025–2026 — “The Autodesk Revit API requires Microsoft .NET 8.0”, Visual Studio 2022. Target framework
net8.0-windows. - Revit 2027 — Autodesk ghi Revit 2027 dùng runtime .NET 10 bản chính thức để chạy Revit và để build add-in, cần .NET SDK 10.0.100. Target framework
net10.0-windows.
Một file DLL đã biên dịch không thể chạy qua hai dòng runtime khác nhau. .NET Framework 4.8, .NET 8 và .NET 10 là ba runtime khác nhau chứ không phải ba tùy chọn của trình biên dịch, nên một add-in phủ Revit 2022 đến 2027 là ba bản build nằm trong một bộ cài, không phải “biên dịch lại rồi cầu may”. Điểm tích cực: đây là bài toán build chứ không phải bài toán code — một cây mã nguồn C# dùng chung, khai báo multi-target trong project file, thêm vài khối biên dịch có điều kiện.
Hai mốc thời gian nên đưa vào kế hoạch: Microsoft ngừng hỗ trợ .NET 8 từ 10/11/2026, còn .NET 10 (runtime của Revit 2027) được hỗ trợ đến 14/11/2028. Add-in viết hôm nay nên có cấu trúc sao cho lần đổi runtime tới chỉ là build lại, không phải viết lại.
Một add-in đa phiên bản thật sự trông như thế nào
Metasheet — công cụ bảng tính miễn phí cho dữ liệu Revit của chúng tôi — chính là bản mẫu cho dịch vụ này: một repository, ba target framework biên dịch song song, chạy từ Revit 2022 đến 2027. Bốn điều dưới đây đáng biết trước khi bạn đặt hàng một add-in đa phiên bản với bất kỳ ai.
- Mỗi dòng phải biên dịch với API cũ nhất của dòng đó, không phải bản mới nhất. Bản
net48build với reference assembly của Revit 2022,net8với 2025,net10với 2027. DLL build theo API 2024 có thể không nạp được trên 2022; build theo API 2022 thì nạp được cả dòng 2022–2024. - Reference assembly của Revit lấy từ NuGet nên máy build không cần cài Revit. Chỉ bộ test tích hợp — chạy bên trong một phiên Revit thật — mới cần bản cài đặt. Nhờ vậy mới build được sáu phiên bản Revit trên một máy hoặc trên CI.
- Thư viện .NET (Core) không tự copy dependency NuGet ra thư mục output, còn .NET Framework thì có. Chuyển một add-in
net48đang chạy tốt sangnet8, thư viện JSON của bạn lặng lẽ biến mất khỏi gói. Add-in khi đó chạy nhờ bản copy mà Revit tình cờ đã nạp sẵn — cho đến khi gặp bản Revit không có, và nút trên ribbon không hiện ra. Sửa chỉ bằng một thuộc tính MSBuild (CopyLocalLockFileAssemblies), nhưng tìm ra nó tốn cả ngày. - Bundle trên Autodesk App Store khớp
SeriesMinchính xác và bỏ quaSeriesMax. Một khốiComponentskhai R2022 đến R2027 chỉ nạp được trên Revit 2022 và im lặng ở mọi bản khác. Bundle phủ thật sáu phiên bản cần sáu khốiComponents, mỗi khối trỏ vào payload đúng runtime của phiên bản đó.
Cùng một lần build cho ra cả hai kênh phát hành: bộ cài .msi để tải trực tiếp và bundle để nộp lên Autodesk App Store. Bạn không cần tin lời chúng tôi — hãy cài Metasheet miễn phí (đầy đủ tính năng, không có gói Pro, chỉ cần tài khoản 3dshouse miễn phí) và tự kiểm tra kết quả của quy trình này ngay trong Revit của bạn trước khi đặt hàng.
Revit 2026 làm hỏng hai thứ trong add-in cũ
- CefSharp đã bị gỡ bỏ hoàn toàn. Autodesk đã xóa mọi file nhị phân CefSharp khỏi bản cài Revit 2026 và khuyến nghị dùng WebView2 thay thế. Add-in nào dựng giao diện dựa vào bản Chromium nhúng sẵn của Revit sẽ không hiển thị được nữa. Hộp thoại của Metasheet dùng WebView2 ngay từ đầu, nên một lớp giao diện phục vụ được cả 2022 đến 2027.
- Add-in đã có thể nạp trong assembly context riêng. Đặt
UseRevitContextbằng false trong file manifest.addin(mặc định true, có thể đặt thêmContextName) là add-in được cô lập khỏi Revit và khỏi mọi add-in khác — chấm dứt kiểu crash kinh điển khi hai add-in nạp hai phiên bản của cùng một DLL. Lưu ý của Autodesk mới là phần nhiều đội bỏ sót: khi đã cô lập, bạn không còn dựa được vào việc Revit hay add-in khác đã nạp sẵn dependency giúp mình, nên gói phát hành phải đầy đủ.
Một lỗi nhỏ hơn nhưng hay gặp khi port sang .NET 8: kiểu System.Windows.Forms.TaskDialog chỉ tồn tại từ .NET 5 trở lên. Trong add-in net48, viết using System.Windows.Forms; cạnh using Autodesk.Revit.UI; vẫn biên dịch bình thường. Sang net8.0-windows, đúng hai dòng đó làm TaskDialog bị nhập nhằng và build dừng lại. Cách sửa là ghi đủ Autodesk.Revit.UI.TaskDialog.
Chúng tôi có thể viết gì
- Tự động hóa dữ liệu: schedule và dữ liệu mô hình sang Excel / Google Sheets và ngược lại, sửa parameter hàng loạt, kiểm tra mô hình — xem tổng quan các plugin Revit nhập xuất dữ liệu với Excel.
- Công cụ hàng loạt: tạo sheet và view, in ấn, xuất file (PDF/DWG/IFC) toàn dự án trong một lần bấm.
- Tự động hóa family: sinh và cập nhật family, type từ catalog sản phẩm hoặc bảng tính của bạn.
- Dynamo sang add-in: chuyển Dynamo script chậm, dễ hỏng thành Revit add-in C# nhanh, chia sẻ được cho cả đội.
- Tích hợp: kết nối Revit với ERP, cơ sở dữ liệu giá hoặc dịch vụ web qua Revit API.
Những quy tắc của Revit chúng tôi tuân theo từ dòng code đầu tiên
Các bản chuyển đổi Dynamo làm vội thường hỏng vì đúng mấy lý do sau. Không lý do nào lộ ra trong bản demo năm phần tử; tất cả đều lộ ra trên mô hình thật.
- Chỉ luồng chính của Revit mới được sửa tài liệu. Mở transaction từ luồng riêng của một hộp thoại modeless sẽ ném lỗi và có thể làm journal sai lệch. Thay vào đó, công việc được đẩy về Revit qua hàng đợi
ExternalEvent. - Dùng ExternalEvent, không dùng Idling. Sự kiện
Idlingbắn liên tục, nên hàng đợi hỏi vòng từ nó tốn thời gian suốt lúc hộp thoại đang mở.ExternalEventmới là cách chuẩn để trả việc về Revit từ hộp thoại modeless. - Mỗi lô sửa nằm trong một transaction, kèm bộ tiền xử lý lỗi. Một lệnh sửa 50 dòng chạm phải cảnh báo mềm (phòng chưa kín, hình học giao nhau, tham số bị kẹp giá trị) sẽ xếp chồng 50 hộp thoại modal ngay trong
Commit(). Bộ tiền xử lý xóa cảnh báo, rollback cả lô khi gặp lỗi thật, và báo một thông điệp duy nhất thay vì năm mươi. - Tham số phải duy nhất thì cần đổi tên hai lượt. Sheet Number, Mark, Type Name và Family Name bắt buộc không trùng, nên hoán đổi hai số sheet, hay dịch cả dải đi một bậc, sẽ chết giữa chừng nếu ghi tuần tự từng dòng, vì trạng thái trung gian bị trùng giá trị. Đổi sang tên tạm trước rồi mới ghi giá trị cuối, trong cùng một transaction, mới là cách đổi tên hàng loạt sống sót.
Lợi ích cho đội BIM và nhà sản xuất
- Hàng giờ thao tác Revit lặp lại trở thành một nút bấm.
- Tiêu chuẩn được công cụ đảm bảo tự động, không phụ thuộc đào tạo.
- Nhà sản xuất: sản phẩm của bạn trở thành Revit family mà nhà thiết kế đặt thẳng vào dự án.
Cách chọn đơn vị lập trình Revit add-in
Năm câu hỏi phân biệt một nhà cung cấp dịch vụ Revit API đã thực sự phát hành sản phẩm với một nhà cung cấp chưa từng:
- Bạn build cho những dòng runtime nào, và tôi nhận một bộ cài hay ba file tải riêng?
- Mỗi dòng được biên dịch với API phiên bản nào?
- Tôi có sở hữu source code không, và lập trình viên của tôi tự build lại được không?
- Việc chuyển sang .NET 10 cho Revit 2027 được xử lý thế nào — nằm trong phạm vi hay là dự án mới?
- Add-in có được kiểm thử bên trong một phiên Revit thật, hay chỉ có unit test?
Quy trình
- Bạn mô tả yêu cầu và mục tiêu — tư vấn miễn phí.
- Chốt phạm vi, gửi báo giá cố định kèm thời gian hoàn thành trong 48 giờ.
- Đặt cọc 50%, bắt đầu lập trình.
- Bạn dùng thử và phản hồi (bao gồm 2–3 vòng chỉnh sửa).
- Bàn giao, thanh toán phần còn lại và hỗ trợ sau bàn giao.
Liên hệ nhận báo giá miễn phí
Gửi mô tả công cụ cần làm, phiên bản Revit/SketchUp đang dùng và file mẫu (nếu có). Bạn nhận báo giá cố định trong 48 giờ.
- Zalo: 0914 340 133
- E-mail: khanhnhkts@gmail.com
- LinkedIn: Nguyễn Hữu Khánh — tác giả Metasheet, BevelUp, Tracepen, Decimify (khanhhuu.com)
Câu hỏi thường gặp
Revit API là gì?
Revit API là giao diện lập trình Autodesk mở ra cho Revit, gọi được từ mọi ngôn ngữ .NET (phổ biến nhất là C#). Add-in tham chiếu hai file RevitAPI.dll và RevitAPIUI.dll trong thư mục cài Revit, rồi được đăng ký với Revit qua file manifest .addin.
Add-in cho Revit 2026 có bắt buộc target .NET 8 không?
Có. Trang Development Requirements của Autodesk cho Revit 2026 ghi rõ Revit API yêu cầu Microsoft .NET 8.0, biên dịch bằng Visual Studio 2022; target framework là net8.0-windows. Revit 2025 cũng vậy. Revit 2027 thì đã đổi tiếp sang .NET 10.
Add-in cho Revit 2024 còn dùng .NET Framework 4.8 không?
Còn. Trang Development Requirements của Autodesk cho Revit 2024 ghi Revit API yêu cầu Microsoft .NET Framework 4.8, giống Revit 2022. Add-in cho dòng này target net48 và sẽ không nạp được trên Revit 2025 trở lên nếu không có bản build riêng.
Ai có thể viết công cụ tự động hóa Revit cho công ty xây dựng?
Lập trình viên .NET nào có kinh nghiệm Revit API đều làm được, nhưng bộ lọc thực tế là họ đã từng phát hành và duy trì một add-in qua nhiều phiên bản Revit hay chưa. Hãy xin một công cụ bạn tự cài được; của chúng tôi là Metasheet, miễn phí, chạy từ Revit 2022 đến 2027.
Chi phí viết add-in Revit hoặc tự động hóa BIM theo yêu cầu là bao nhiêu?
Các gói của chúng tôi bắt đầu từ $300 cho một lệnh đơn lẻ hoặc một Dynamo script chuyển thành add-in hoàn chỉnh, $800 cho add-in có hộp thoại WPF và tích hợp ribbon, $1.500 cho add-in hoàn chỉnh kèm hỗ trợ nhiều phiên bản, bộ cài và tích hợp hệ thống. Cả ba gói đều kèm source code, và báo giá chính xác là miễn phí, cố định.
Cần plugin SketchUp tùy chỉnh? Xem dịch vụ lập trình plugin SketchUp theo yêu cầu.

English