Sofanium.Revit.Template 1.1.0

dotnet new install Sofanium.Revit.Template::1.1.0
                    
This package contains a .NET Template Package you can call from the shell/command line.

Sofanium Revit Template

Overview

The Sofanium Revit Template is a NuGet package designed to streamline the creation of Autodesk Revit plugins. It provides:

  • Multi-version support: Compatibility with .NET Framework (4.8, 4.7.2) and .NET 8.0.
  • Automated builds: Seamless integration with NUKE for CI/CD workflows.
  • Best practices: Pre-configured templates to get your Revit plugin up and running quickly.

Features

  • Predefined project template for Revit add-ins.

  • Support for modern development practices.

  • This will build the project, run tests, and create deployment packages based on the predefined build configuration.

    Simplified configuration for BIM plugin development.

  • Supports Autodesk Revit versions from 2020 to 2025.

Installation

You can install the package via the .NET CLI:

dotnet new install Sofanium.Revit.Template

Or use the NuGet Package Manager:

Install-Package Sofanium.Revit.Template

Usage

  1. After installing the package, create a new project using the template:

    dotnet new sofanium -n MyRevitPlugin
    
  2. Customize the generated template to suit your project needs.

  3. Build and deploy your Revit plugin.

Template Structure

The template includes the following structure:

  • (MyRevitPlugin).addin: The add-in manifest for Revit.
  • Pre-configured project files: Optimized for both .NET Framework and .NET.
  • NUKE build integration: Automates builds and deployments.

Requirements

  • Autodesk Revit: Versions 2020 through 2025.
  • .NET Framework 4.7.2+ or .NET 8.0.
  • NUKE: For automated builds.

Building with NUKE

Honorable Mention

This template leverages the ricaun.nuke.packagebuilder package, which wraps and simplifies NUKE build configurations for Revit add-ins. It provides a seamless way to package and deploy your Revit plugins efficiently. For more details, visit the [ricaun.nuke.packagebuilder repository](https://github.com/ricaun-io/ricaun.Nuke.PackageBuilder.

The template includes integration with NUKE, a build automation system. Follow these steps to build your project:

Setup NUKE Globally

To use NUKE across multiple projects, you can set it up globally on your system:

  1. Install NUKE Global Tool:

    dotnet tool install Nuke.GlobalTool --global
    
  2. Verify Installation: After installation, verify that the NUKE global tool is available:

    nuke --version
    

    If the version displays, the global tool has been successfully installed.

Project-Specific Build Steps

  1. Restore Build Tool: Navigate to the root directory of your project and restore the NUKE build tool:

    nuke :setup
    
  2. Navigate to the _build project location in your terminal and run the following command:

    nuke
    

    This will build the project, run tests, and create deployment packages based on the predefined build configuration. You shall find installer file in the .%YourProjectFolder%\bin\Output
    and the bundle files in the .%YourProjectFolder%\bin\Output\PackageBuilder\

  3. Customize the Build: If you need to customize the build process, modify the build.cs file in the project directory. This file contains the build pipeline definitions.

  4. Clean the Build: To clean the build artifacts, run:

    nuke clean
    
  5. View Available Targets: NUKE allows you to run specific build targets. To view all available targets, run:

    nuke --help
    

For more details about NUKE, visit the NUKE Build System Documentation.

Package Metadata

  • Package ID: Sofanium.Revit.Template
  • Version: 1.0.2
  • Author: Mahmoud Sofan
  • Tags: revit, templates, addin, BIM, plugin
  • License: MIT
  • Project URL: GitHub Repository

Contributing

Contributions are welcome! Please fork the repository and submit a pull request. For major changes, open an issue to discuss what you would like to change.

License

This project is licensed under the MIT License.

Support

If you encounter any issues, feel free to open an issue on the GitHub repository.

  • .NETFramework 4.7.2

    • No dependencies.
  • .NETFramework 4.8

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 374 7/18/2025
1.0.4 485 6/14/2025
1.0.3 446 1/19/2025
1.0.2 423 1/5/2025