All Projects → engthiago → Onboxframework

engthiago / Onboxframework

Licence: MIT license
A framework for building Cross-Platform Revit Apps

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Onboxframework

thesaurus
TT Hackathon 2018 - Autocomplete for Visual Programming Nodes
Stars: ✭ 23 (-43.9%)
Mutual labels:  revit, autodesk
speckle-sharp
.NET SDK, Schema and Connectors: Revit, Rhino, Grasshopper, Dynamo, ETABS, AutoCAD, Civil3D & more.
Stars: ✭ 214 (+421.95%)
Mutual labels:  revit, autodesk
RevitFamilyBrowser
Browser for .rfa Revit family files
Stars: ✭ 82 (+100%)
Mutual labels:  revit
RevitExtensions
Extensions for Revit plugin development
Stars: ✭ 37 (-9.76%)
Mutual labels:  revit
SpeckleRevitReboot
Check a brand new Speckle at: https://github.com/specklesystems
Stars: ✭ 25 (-39.02%)
Mutual labels:  revit
mapboxRevit
View Revit models inside Mapbox
Stars: ✭ 23 (-43.9%)
Mutual labels:  revit
ArcaneManagedFbx
C# and .NET Framework wrapper for the Autodesk FBX SDK written in C++/CLI (managed C++).
Stars: ✭ 36 (-12.2%)
Mutual labels:  autodesk
forge-cli-utils
Command line tools for Autodesk Forge services.
Stars: ✭ 16 (-60.98%)
Mutual labels:  autodesk
itwinjs-core
Monorepo for iTwin.js Library
Stars: ✭ 493 (+1102.44%)
Mutual labels:  autodesk
FlexLM-License-Usage-Logger
python utility script to parse and log the lmutil lmstat results on a FlexLM server
Stars: ✭ 20 (-51.22%)
Mutual labels:  revit
Nina
A collection of Shorcuts to work faster in Revit.
Stars: ✭ 17 (-58.54%)
Mutual labels:  revit
GeniusLociForDynamo
Genius Loci is a package of 300+ custom nodes for Dynamo in Revit.
Stars: ✭ 17 (-58.54%)
Mutual labels:  revit
FreeMVD WorkFlow
This project has been moved/forked to https://gitlab.com/osarch/FreeMVD_WorkFlow
Stars: ✭ 21 (-48.78%)
Mutual labels:  revit
SpeckleRevit
Archived, dev moved to https://github.com/speckleworks/SpeckleRevitReboot
Stars: ✭ 17 (-58.54%)
Mutual labels:  revit
OrchidForDynamo
This repository contains the content of the Orchid package for Dynamo
Stars: ✭ 81 (+97.56%)
Mutual labels:  revit
bana
Set of extensions for Autodesk Maya's Python API.
Stars: ✭ 32 (-21.95%)
Mutual labels:  autodesk
RevitTemplates
Templates for creating plugins for Revit
Stars: ✭ 64 (+56.1%)
Mutual labels:  revit
DynAI
Practical applications of AI / Machine Learning in BIM, implemented as a Dynamo Package
Stars: ✭ 24 (-41.46%)
Mutual labels:  revit
Revit2glTF
An open source glTF format exporter for Autodesk Revit.
Stars: ✭ 143 (+248.78%)
Mutual labels:  revit
RevitExportObjAndGltf
The Revit-based plug-in realizes the export of 3D files in obj or gltf format, which may have small material problems, which can be improved in the later stage; because the project needs to engage in the secondary development of Revit in the near future, similar plug-ins are rarely found on the Internet Related information will be recommended to…
Stars: ✭ 42 (+2.44%)
Mutual labels:  revit
Status
License License: MIT
Build Framework and Generate Nuget Packages Build Status
Build Docfx Build Status
Package VS Templates Build Status
Unit Tests Build Status

Welcome to Onbox Framework

Onbox is a free and open source framework to help you build modern cross platform Revit applications in a similar fashion of Angular and ASP.Net core.

The framework and its libraries are designed focusing on modularity, testability and code reuse, it is heavly inspired in modern front end and back end web development, to help you transition from platform to platform without major workflow disruptions.

Documentation

Documentation is in its early stages, (yeah I know.. documentation is important). Checkout the documentation here.

API Documentation

Checkout the API Docs here.

AU2020 Presentation

You can check out our free Cross Platform Revit Presentation on Autodesk University 2020 to get a full hands-on lab on how to create a simple application using the Framework.

The presentation also includes class handout, slide deck downloads, and links to sample repositories where you play around with the code.

Getting Started

Checkout how you can get started here.

Visual Studio Templates

Templates can be found here. And here is how you install them.

Libraries

As stated above, Onbox is all about modularity, so the framework itself is composed of several libraries that focuses in a specific scope and can be easly extendend or replaced:

Assembly Short Description Target Framework
Onbox.Abstractions Interfaces of all generic usage on the framework .Net Standard 2.0
Onbox.Core Core implementations for all generic services .Net Standard 2.0
Onbox.Di IOC container system .Net Standard 2.0
Onbox.Mvc.Abstractions Interfaces for interacting with Views .Net Standard 2.0
Onbox.Mvc Implementation of WPF MVC Views and Components .Net Framework 4.7.2
Onbox.Mvc.Revit.Abstractions Interfaces for interacting with Revit and Views .Net Standard 2.0
Onbox.Mvc.Revit Implementation of WPF MVC specific to Revit .Net Framework 4.7.2
Onbox.Mvc.Revit.RibbonCommands Automatically adds Ribbon buttons for Commands using Attributes .Net Framework 4.7.2
Onbox.Revit.Abstractions Interfaces for interacting with Revit .Net Standard 2.0
Onbox.Revit Revit External Applications and Commands .Net Framework 4.7.2
Onbox.Store State management for Revit MVC / WPF .Net Standard 2.0

We have built parts of several applications using some of these libraries, our current working project, Shedmate app is the one that relies on it the most. I would say parts of it because only some libraries existed when we started coding the app. Shedmate is a web-based 3d configurator that needs to process the same data models in different places: Revit, our ASPNet Cloud server, and our front end Angular app. The cool thing here is that we can share services between the Revit and ASP and even run a script to generate our data models in typescript for Angular!

Simplicity

None of the features that Onbox provides out of the box are really trying to be the best ones in the industry. The framework is made with simplicity in mind, we tried to simplify the implementations as much as we could, even when we wanted to provide more functionality, we tried to make it easy to consume simpler versions of the APIs.

Modularity

The framework aims for modularity, so the idea here is that you can introduce new functionality by yourself. Our libraries, e.g. Container, Mapper, State Management, Async are tiny and are not trying to solve every single problem or implement every single feature, also they can always be replaced by more mature ones out there.

Flexible

The framework also aims to be flexible, if you have an existing Revit plugin and want to give Onbox a try, you would just swap the implementation for your ExternalApplication and then for the ExternalCommand(s) you want the container to be injected on. You are good to go!

Testability

With the loosely coupled architecture that the framework helps you to build, you can then use any testing frameworks like Dynamo's Revit Tester Framework or Geberit's Revit Test Runner. We are even using Design Automation on Forge to unit test our Revit Apps, that way, everything can be integrated into a CI/CD pipeline.

Usage and Collaboration

Everyone is welcome to use it and collaborate! Being MIT licensed, you can take any parts of the framework and modify it to your usage, this is simple, because the libraries are tiny. The same thing for eventual bugs, you can step in and fix them yourself or log an issue on Github. We would appreciate any code pull requests, contributions to the documentation, and publications you make for it. The idea is to have a mature Framework so everyone can collect the benefits.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].