23 Mar 2020
Forge self-learning with live review
Staying at home for the next few weeks? How about taking some time to learn how to create Forge apps, take a refresher course, or further your Forge expertise?
The Forge team has compiled a list of topics for you! This learning guide includes the basics of web development and how to use it with Forge web services to view models, create dashboards, and perform automations.
Here is how it will work: if you are new to web development (or development in general), check the learning tutorials for basic, interface, browser programing and server code. If you know web development already, skip to the “Forge” section. The Forge team is always online to answer questions via Stackoverflow, so don’t be shy!
Live review sessions
Want to do the tutorial live with us? We’re also organizing live sessions to show you what to do and review what you did. Register here and join one of our live sessions for questions and answers on Forge specific topics.
Live sessions will happen in 2 time zones: Europe (UK time) and US (Pacific time). During each training day, we will have a short 5 minute session to show you what to do and things to pay special attention. Then you’ll have the rest of the hour (55 minutes) to complete that step. Next will be a review and Q&A session (15 minutes) to wrap up that step. Then start the next step the next hour.
Date |
Preparation, 5 min |
Review and Q&A, 15 min |
Topic |
April 27 |
8am |
9am |
View models: Intro & Setup |
10am |
11am |
Server & OAuth |
|
1pm |
2pm |
Upload & Translate |
|
3pm |
4pm |
Show on viewer |
|
April 28 |
8am |
9am |
View hub models: Intro & Setup |
10am |
11am |
Server & OAuth |
|
1pm |
2pm |
List hubs & projects |
|
3pm |
4pm |
Show on viewer |
|
April 29 |
8am |
9am |
Dashboard: intro & setup |
10am |
11am |
Prepare data |
|
1pm |
2pm |
Adjust layout |
|
3pm |
4pm |
Add charts |
|
April 30 |
8am |
9am |
Design Automation: Intro & Setup |
10am |
11am |
Server & UI |
|
1pm |
2pm |
Plugin code |
|
3pm |
4pm |
Workitem |
The basics
All modern web services (API) are accessible via REST, which is the standard protocol, and use JSON as the data format. Knowledge of these standards is required. To get up to speed, check out the following links:
- REST is how the internet is communicating.
- JSON is a lightweight format that is used transfer data on the internet.
The basics: experiment before writing the app
Apps are written in code, right, but sometimes we just want to “test” how the web services will return data. This is actually a common way to learn and understand how it works. Here are a few REST tools for testing API endpoints (you can use either one):
- Postman is actually used in some Forge tutorials
- Insomnia REST also works nice and used by our team
- PAW
The programming languages
-
JavaScript is the programing language of the web used to create and control dynamic website content, i.e. anything that moves, refreshes, or otherwise changes on your screen.
-
HTML is the most basic building block of the Web. It defines the meaning and structure of web content.
The interface coding
Any app will need its interface, that’s how you interact with it. Most of our samples are in plain HTML & JavaScript so most developers can understand and use (actually using just jQuery). This is good enough for learning and, in fact, even high-quality apps can be created like that.
You can keep with “plain” or use one of the many available frameworks (just need one of the following):
- React is probably the most used these days, based on its 145 thousand favorite starts
- Vue.js had actually more starts, 160 thousand
- Angular another popular option, 59 thousand
The server coding
Often called “server-side”, that’s where most of the logic happens. Most Forge samples are available either Nodejs or .NET
- Nodejs uses JavaScript language, so easier transition from the interface.
- .NET uses C# and quite common when other Microsoft products are involved
Forge (at last!)
The tutorial is divided into 2 workflows, depending on where are the models you want to view. In most cases, you would just use one of those, but if you are unsure, try the “view your models” workflow.
- View your models shows how to upload a file from your local computer, translate and view.
- View BIM 360 & Fusion models shows how to authenticate, browse and view files.
After completing one of these workflows, try creating a viewer extension to show a new button on the Viewer and extract information.
Forge Dashboards
Build a dashboard that pulls data from the model is straightforward with this tutorial. Data is the key piece, of course, but a nice visual is also important. The tutorial uses Chart.js.
Forge Automation
Most automation workflows would require to either create or edit a file. The modify your models tutorial shows how to use AutoCAD, Inventor, Revit or 3dsMax engines on the cloud, which is the core of the automation process.
What's next?
There are many more tutorials available! One next step is publishing it so others can see your awesome app. This actually varies a lot, in many cases you want to run it with your existing app or on your existing infrastructure.
Accelerators
If you're looking for more direct, targeted help in building specific Forge applications, check out the Forge Accelerator program. The team currently has two fully virtual Accelerators scheduled, offering 24/7 access to the global Autodesk cloud expert team for a full week. Learn more about virtual Accelerators here.
That’s it! And stay safe!