A VIKTOR Plugin that can be installed and used within Revit, to transfer data between a VIKTOR app and Autodesk Revit.
- Install Revit2024 or lower
- Install pyRevit:
-
Download installer: pyRevit_4.8.16.24121
-
Run installer and follow steps
-
Launch Revit, this should trigger pop-up modal for PyRevit addin, select "Always Load"
-
- Navigate to pyRevit Settings:
- Add the directory this repo folder, and save the settings
- Make sure to select the top repo folder and not the 'VIKTORPlugin.extension' folder
- You should get a similar pop-up, about the new VIKTOR Plugin. Once again, click 'Always Load'.
- You should now see a VIKTOR tab appear. This concludes the installation.
To 'push' your model through the Revit Plugin to the VIKTOR Platform, first open your model in Revit and make sure to select the relevant view, then:
- Go to the VIKTOR tab
- Press the "Push" button
- Provide the URL to the entity (copy the url in your browser navigation bar)
- Press send! 🚀
Important
This plugin is a prototype to showcase the opportunities for data exchange between Revit and VIKTOR. We are actively gathering feedback to further improve it.
If you have any feedback on the plugin that you would like to share, please post it under this Feature Request in our community forum
While you're at it, join our community and ask for support, share ideas and learn about the latest features here.
Feel free to re-use and/or improve this plugin for your own projects. Below are some useful things to know, should you want to add more functionality.
Note that the structure of the repo and the corresponding filenaming system directly affects the layout of how the tab, panel and buttons are defined in the VIKTOR addin tab.
.
└── VIKTORPlugin.extension/
├── VIKTOR.tab/
│ ├── some_group.panel/
│ │ ├── some_action.pushbutton
│ │ ├── some_link.urlbutton
│ │ └── ...
│ └── another_group.panel/
│ ├── another_action.pushbutton
│ ├── another_link.urlbutton
│ └── ...
└── lib/ # globally available package (in this extension) that can be imported in all panels/button scripts
└── viktor/ # nested so that in a script you can use `from viktor import api`
├── api
└── ...
Here are the docs for pyRevit, to help get started with development: https://pyrevitlabs.notion.site/Create-Your-First-Command-2509b43e28bd498fba937f5c1be7f485
Note that during our last UCODE Hackathon, one of the attending groups has taken this pyrevit-plugin
code and used and updated it to fit their
particular use-case (which included a "pull" functionality).
Please have a look at their repository, to get an idea of how you can expand this prototype: revitcentral