Code Monkey home page Code Monkey logo

revitscript's Introduction

RevitScript

Autodesk Revit plugin project organised into multiple solution files that target versions 2020 - 2025.

Technologies Used

  • C# 12
  • .NET Framework 4.8
  • .NET 8

Getting Started

Before you can build this project, you will need to install .NET, depending upon the solution file you are building. If you haven't already installed these frameworks, you can do so by visiting the following:

After installing the necessary frameworks, clone this repository to your local machine and navigate to the project directory.

Building

We recommend JetBrains Rider as preferred IDE, since it has outstanding .NET support. If you don't have Rider installed, you can download it from here.

  1. Open JetBrains Rider
  2. Click on File -> Open and choose the solution file that you want to open.
  3. After the solution loads, you can build it by clicking on Build -> Build Solution.

Also, you can use Visual Studio. If you don't have Visual Studio installed, download it from here.

  1. Open Visual Studio
  2. Click on File -> Open -> Project/Solution and locate your solution file to open.
  3. Upon loading the solution, build it via Build -> Build Solution.

MSI installer and bundle build on local machine

To build the project for all versions, create the installer and bundle, the project uses NUKE

To execute your NUKE build locally, you can follow these steps:

  1. Install NUKE as a global tool. First, make sure you have NUKE installed as a global tool. You can install it using dotnet CLI:

    dotnet tool install Nuke.GlobalTool --global

    You only need to do this once on your machine.

  2. Navigate to your project directory. Open a terminal / command prompt and navigate to your project's root directory.

  3. Run the build. Once you have navigated to your project's root directory, you can run the NUKE build by calling:

    Compile:

    nuke

    Create installer:

    nuke CreateInstaller

    Create installer and bundle:

    nuke CreateInstaller CreateBundle

    This command will execute the NUKE build defined in your project.

Create new release on GitHub

Publishing the release, generating the installer and bundle, is performed automatically on GitHub.

To execute your NUKE build on GitHub, you can follow these steps:

  1. Merge all your commits into the main / master branch.
  2. Navigate to the Build/Build.Configuration.cs file.
  3. Increase the Version value.
  4. Make a commit.
  5. Push your changes to GitHub, everything will happen automatically, and you can follow the progress in the Actions section of the repository page.

Solution structure

Folder Description
build Nuke build system. Used to automate project builds
install Add-in installer, called implicitly by the Nuke build
source Project source code folder. Contains all solution projects
output Folder of generated files by the build system, such as bundles, installers

Project structure

Folder Description
Commands External commands invoked from the Revit ribbon. Registered in the Application class
Core Provides main add-in logic
Models Classes that encapsulate the app's data, include data transfer objects (DTOs). More details.
ViewModels Classes that implement properties and commands to which the view can bind data. More details.
Views Classes that are responsible for defining the structure, layout and appearance of what the user sees on the screen. More details.
Resources Images, sounds, localisation files, etc.
Utils Utilities, extensions, helpers used across the application

Learn More

revitscript's People

Contributors

trgiangv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.