Continuing the update of my development environment for Revit 2020, I now turn to the Visual Studio Revit add-in wizards.
I'll also highlight a couple of recent interesting AEC related job offers, an AI 101 intro, and some really important suggestions on how to ask a question well:
- C# and VB Visual Studio add-in wizards for Revit 2020
- How to ask a question well
- Open Autodesk AEC related positions
- AI for all
C# and VB Visual Studio Add-in Wizards for Revit 2020
So far, for the Revit 2020 API enhancements, I discussed the following aspects and migration steps:
- Revit 2020 DevDays Online presentation recording
- Compiling the Revit 2020 SDK samples
- Setting up RvtSamples
- RevitLookup for Revit 2020
- Revit 2020 SDK posted to Revit Developer Centre
- What's New in the Revit 2020 API
- Migration of The Building Coder samples
- New Revit 2020 SDK samples
I now turn to the migration of my C# and VB Visual Studio Revit add-in wizards to Revit 2020, which turned out to be easier than ever before.
I just cloned the existing repository for Revit 2019, then globally searched and replaced the string '2019' by '2020'.
I skipped a very few occurrences, e.g., in the copyright notices, tested, committed the changes, and that was that:
No code changes were required at all, as was to be expected, seeing that the migration of the much more complex Building Coder samples required only one single trivial modification.
The new version is VisualStudioRevitAddinWizard release 2020.0.0.0, and you can see the changes I made by perusing the diff to the previous release.
How to Ask a Question Well
There seem to be more and more people getting started with the Revit API, so many beginners are asking questions in the Revit API discussion forum.
One of them prompted me to explain some important aspects of how to ask a question well and intelligently.
As we all know, there are no false or stupid questions.
Still, there is a lot you can do to motivate people to answer you and support them in doing so.
In fact, this is such a fundamental topic that it has already been discussed hundreds of times in the web, both for life in general and programming in particular.
This question on section view motivated me to explain in more detail:
Question (abbreviated (very slightly)): Why does my program not work?
Here is the code...
Sorry, I am a beginner...
Answer: Thank you for your query.
If you are new to the Revit API, and maybe to programming in general, I first of all welcome you to this topic and forum!
Before diving any deeper into programming more complex tasks, I would suggest that you work through the Revit API beginners material, especially the video tutorial.
That will explain all the important basics, deepen your understanding, and clarify many questions up front.
Also, please be aware of the importance of understanding Revit and the BIM from an end user point of view before trying to achieve anything programmatically.
Otherwise, you might quickly find yourself in a situation where your add-in is trying to work against the BIM system instead of making proper use of its powerful built-in functionality.
Once you have a good grasp of the basics of both the Revit API and the end user view of the BIM task you are addressing, it is time to research how to solve your task programmatically.
If you run into an issue after you know what you want to achieve, have ensured that it makes sense in the BIM workflow, have ensured that it can be solved programmatically at all and have done research on how to address it, the time has probably come to ask a question about the specific problems you encounter.
When you ask a question, it is important to do so in an intelligent and intelligible manner. For instance, please ask your question in full.
I have no idea what the code snippet that you share is supposed to achieve. You need to tell me.
Please explain your goal, the context, the workflow, the expected behaviour, the actual real behaviour, and why that is a problem for you. Do all that, and at the same time keep it really brief and to the point.
I cannot guess what you are trying to achieve.
The Internet will gladly provide a few thousand good suggestions on asking questions well.
However, much more specifically, here are several extremely helpful and important recommendations on asking a question about solving a programming task:
Please read, understand and follow these recommendations.
It will help you and the entire community tremendously.
I hope this helps.
Please understand that I do not want to criticise your question. I just want to help you get an effective answer.
I wish you much success getting started with the Revit API and look forward to further questions from you in the near future!
Open Autodesk AEC Related Positions
Autodesk is currently hiring all over the planet.
If you are interested in joining us, please check out the open position of interest to you at www.autodesk.com/careers.
Here are a couple of recent interesting AEC related ones in my part of the world:
- Senior Product Owner of Revit Cloud Worksharing in Romania, 19WD32135 Do you have a passion for solving customer challenges with technology? Do you want to create better collaboration tools for the Architecture, Engineering, and Construction (AEC) industry? If so, we invite you to join the Autodesk Building Design team, the makers of Autodesk Revit, an industry-leading Building Information Modelling (BIM) tool for AEC professionals. We’re seeking an accomplished and highly motivated Product Owner to lead a development team focused on Revit Cloud Work-sharing, a rapidly-growing cloud service that enables easy collaboration on Revit models for AEC project teams. To help us create exceptional customer experiences, we’re looking for someone who can act as the focal point of a development team. A team’s product owner is responsible for developing a clear vision of the value that can be created for customers and conveying that vision to the development team. That vision results from a constantly updated understanding of customer needs, stakeholder goals, and the technical aspects of the team’s work. In all these interactions the Product Owner is the representative of the customer, ensuring that the team is delivering the maximum value to AEC professionals.
- Principal Engineer in Romania, 19WD32299 Help Autodesk users imagine and design a better world by contributing to development of Autodesk Revit, the leading building information modelling software. Our software is used by 100,000+ architects, engineers, and other building industry professionals to design everything from the world’s tallest skyscrapers, largest airports, and new landmarks to homes and businesses that you visit every day. Revit’s engineering team brings intelligence and efficiency to the building design and development process by solving hard software problems. As a software engineer, you will work collaboratively with a cross-functional team that is responsible for the entire software development process from analysing market needs through the delivery of working software. Autodesk Revit is a complex product and we are looking for somebody who is as enthusiastic about re-factoring, optimising, and enhancing existing code and algorithms as they are about designing and developing new code.
- Junior Solution Architect in Germany, 18WD31159: Autodesk Consulting is seeking a talented Junior Solutions Architect to work with our key customers in order to design, develop and support customised and configured solutions for their Enterprise Application (EA) integrations with cloud-based technologies. This individual will work directly with customers to understand their EA integration needs and provide custom solutions built on Autodesk cloud and on-premise products.
AI for All
Finally, let's close with this nice, short yet in-depth introduction and overview of AI for all, also available for local download as a PDF document.