Transmittal is a comprehensive document management solution for Autodesk® Revit® that provides a wizard interface to assist with setting revisions, managing drawing sheet status, and publishing selected sheets to PDF, DWF, and DWG formats. The solution also includes a standalone desktop application for managing transmittals outside of Revit and can record transmittal history in a SQLite database with reporting capabilities.
Note for Revit 2021 users: To use Transmittal with Revit 2021 the freeware PDF24 printer must be installed. This is not required for Revit 2022 and later. The PDF24 printer can be downloaded from https://download.pdf24.org/pdf24-creator-11.11.1-x64.msi
- Features
- Requirements
- Solution Architecture
- Development Setup
- Building the Solution
- Installation
- Documentation
- Testing
- Version Management
- Licensing
- Acknowledgments
- Support
- Sheet Management: Set revisions and status of drawing sheets
- Multi-format Export: Publish sheets to PDF, DWF, and DWG formats
- ISO 19650 Compliance: Support for ISO 19650 naming conventions and metadata
- Custom Parameters: Extensive support for custom project and sheet parameters
- Batch Processing: Process multiple sheets efficiently
- File Naming: Flexible file and folder naming with customizable templates
- Universal Document Management: Handle any document type, not just Revit sheets
- Database Integration: SQLite database for transmittal history tracking
- Reporting: Generate transmittal reports and historic document issue sheets
- File Parsing: Automatic filename parsing for standardized naming conventions
- Drag & Drop: Easy document addition via drag and drop interface
- Operating System: Windows 10/11 (64-bit)
- Framework: .NET Framework 4.8
- Revit: Autodesk Revit 2021, 2022, 2023, or 2024
- PDF Support: PDF24 printer (freeware) required for Revit 2021 only
- Operating System: Windows 10/11 (64-bit)
- Framework: .NET 8
- Revit: Autodesk Revit 2025 or 2026
- Operating System: Windows 10/11 (64-bit)
- Framework: .NET 8
- Database: SQLite (embedded)
The solution consists of multiple projects targeting different .NET frameworks and use cases:
Transmittal/
├── source/
│ ├── Transmittal/ # Revit Add-in (.NET Framework 4.8 / .NET 8)
│ ├── Transmittal.Desktop/ # Standalone WPF Application (.NET 8)
│ ├── Transmittal.Library/ # Shared Core Library (Multi-target)
│ ├── Transmittal.Reports/ # Report Generation (.NET 8)
│ └── Transmittal.Library.Tests/ # Unit Tests (.NET 8)
├── build/ # NUKE Build System
├── docs/ # Documentation (GitHub Pages)
├── Installer/ # Advanced Installer Project
└── Directory.Build.props # Shared MSBuild Properties
- UI Framework: WPF with Syncfusion controls
- MVVM: CommunityToolkit.MVVM
- Revit APIs: Nice3point.Revit.Api packages
- Logging: Serilog
- IoC: Microsoft.Extensions.Hosting
- Assembly Merging: ILRepack
- Analytics: Transmittal.Analytics.Client
- UI Framework: WPF with Syncfusion controls
- MVVM: CommunityToolkit.MVVM
- Dialogs: Ookii.Dialogs.Wpf
- Logging: Serilog
- IoC: Microsoft.Extensions.Hosting
- Analytics: Transmittal.Analytics.Client
- Database: Microsoft.Data.Sqlite with Dapper ORM
- HTTP Client: System.Net.Http
- JSON: System.Text.Json
- Utilities: Humanizer.Core
- IoC: Microsoft.Extensions.Hosting
The solution uses multiple build configurations for different Revit versions:
- Debug/Release R21: Revit 2021 (.NET Framework 4.8)
- Debug/Release R22: Revit 2022 (.NET Framework 4.8)
- Debug/Release R23: Revit 2023 (.NET Framework 4.8)
- Debug/Release R24: Revit 2024 (.NET Framework 4.8)
- Debug/Release R25: Revit 2025 (.NET 8)
- Debug/Release R26: Revit 2026 (.NET 8)
The solution uses NUKE for automated builds:
- Clean: Remove build artifacts
- Restore: Restore NuGet packages
- Compile: Build all projects
- Test: Run unit tests
- Sign: Code sign assemblies (requires certificates)
- Installer: Create MSI installer using Advanced Installer
- Download the latest release from GitHub Releases
- Run the MSI installer
- Restart Revit to load the add-in
Comprehensive documentation is available at: https://russgreen.github.io/Transmittal/
- Getting Started
- Settings Configuration
- File Naming Tags
- Standalone Transmittal
- Report Generation
- Database Management
- Transmittal.Library.Tests: Unit tests for core library functionality
- Database operations
- File naming and parsing
- Model validation
- Extension methods
Version numbering follows semantic versioning (Major.Minor.Patch):
- Major: Breaking changes or significant new features
- Minor: New features maintaining backwards compatibility
- Patch: Bug fixes and minor improvements
Versions are managed through Directory.Build.props:
VersionPrefix: Major.Minor.Patch (e.g., "3.2.3")VersionSuffix: Pre-release identifier (e.g., "beta", "alpha")
This project is licensed under the GNU General Public License v3.0.
The solution includes the following open-source libraries:
- CommunityToolkit.MVVM (MIT License)
- Dapper (Apache 2.0 License)
- Humanizer (MIT License)
- Microsoft.Extensions.Hosting (MIT License)
- Serilog (Apache 2.0 License)
- SQLite (Public Domain)
Commercial components:
- Syncfusion WPF Controls (Commercial/Community License Required)
- Autodesk for the Revit API
- Nice3point for the excellent Revit API packages
- Syncfusion for the WPF UI controls
- Documentation: https://russgreen.github.io/Transmittal/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Releases: GitHub Releases
Copyright © 2024 Russell Green
Licensed under GPL v3.0 - see LICENSE for details.
