Coding and Architectural Design Software
How Learning to Code Can Benefit You
Digital design software tends to come with a lot of nuts and bolts attached. Nevertheless, most architects rely solely on the tools this type of software provides. And, you’ll get a lot done with those tools.
But you won’t be able to use the software to its fullest if you only use those tools. You may not know that many allow you to mess with the code as well.
Sounds scary, right?
There are probably plenty of people reading this who don’t have coding experience. Computer code can seem like a foreign language to novices, and it looks really complex when you see it on paper.
The key thing to remember is that you don’t have to be a professional programmer to make use of coding in your digital design software. In fact, you can benefit from learning a few basics.
Your software’s coding capabilities open up new ways to use it. You must understand what that means in the architectural sector. To do that let’s take a look at some key benefits before pointing you towards some of the best languages for use in digital design software.
The Benefits
You’re probably already wondering why you need to learn coding. After all, your models already look great. Perhaps you’re already achieving what you want out of your software.
The thing is, there is so much more you could do with your software. Here are just a few of the key benefits that coding can offer you.
Benefit #1 – Mastering Your Tools
A craftsperson is only as good as the tools he or she has at their disposal. This is true of any industry. Architecture is no different.
There are probably many times when you’ve wanted your digital design software to do things a little differently. Maybe you can see some ways of improving the software to get what you want out of it. But you can’t make those improvements because the software won’t let you.
That’s where coding can help. Most modern software packages come with an application programming interface (API). The API is your key to getting more out of your software because it gives you access to the code that runs behind the program.
You can use the API to automate common processes. Alternatively, you could use it to make little changes that will make your workflow more efficient. Compare it to tinkering with a car. You can mess around with the engine and work out a few kinks to make the car run more smoothly. The same is true of your software.
Take Revit for example. It’s one of the most popular design software packages and it ships with an API. You don’t have to learn a huge amount to make use of this API. All it takes is a little coding knowledge, and you can achieve mastery of your tools.
Benefit #2 – Getting More Done
There’s a big difference between working hard and working smart. You can get things done either way but the former costs a lot more energy and time than the latter. Working smart is always better than working hard. That’s what coding allows you to do.
It all comes down to your efficiency.
Let’s say you have a task that you need to do repeatedly while working on a project. Transferring and renaming files is a good example. Moving all of these files from one folder to another while making file name changes takes a lot of time. It’s busy work that does serve a purpose but takes longer than needed.
You’re working hard if you do it all manually. You work smart if you can create a script that does the grunt work for you.
Spending half an hour coding solutions for such small tasks saves a lot of time later on. Best of all, you can use your scripts on every project. They may need tweaking every so often. But you’ll find this takes a matter of minutes compared to the hours you spent on menial tasks.
Benefit #3 – Logical Thinking
You have to be a creative person if you’re going to succeed in architecture. You must be capable of visualising your creations and taking risks if you want to stand out from the crowd.
That’s great, but it can cause problems. There are a few occasions where your creativity may stretch beyond your software’s capabilities. You need a good blend. The right mix of logic and creativity can help you create great designs.
So, what if you struggle with logical thinking?
That’s another place where coding can help. Writing computer code is all about following a set of logical rules. Sure, there’s flexibility. However, there are limits to want you can do with the code. That means you have to follow steps to make sure your code does what you want it to. In the end, you’ll have a solution or you’ll have an idea of what you need to do to fix the code.
This logical approach can do so much to help architects. You can’t solve every problem you come across with creativity and intuition alone. You will often need to follow rules. Physics, material loads, and geometry all play their part. Learning to code helps you take your creative streak and focus it so you design great buildings. You can then apply these logical thought patterns to other areas of your work.
Benefit #4 – Problem Solving
Have you ever gotten so far with a design and then run into a problem? Something that forces you to rack your brains to find a solution. It’s not an ideal situation to find yourself in when you have a deadline to meet.
These problems can hold up your work. Delays frustrate clients and cost money, so you want to avoid them at all costs. That’s where the previous point about the creative mindset comes into play again. Not all creative types come naturally equipped with the skills to solve logical problems.
Think of coding as another weapon in your arsenal. Your designs communicate your ideas visually while programming allows you to figure out the little problems that prevent you from communicating those ideas.
You’ll find that you can apply these problem-solving skills in other parts of your life, too.
Coding teaches you to take a step back from the problem and look at it from a few angles. It shows you how to make best use of the tools at your disposal. More importantly, coding teaches you that you also can build your own tools to solve a problem.
Benefit #5 – Beating the Competition
Architecture firms should always look for ways to get ahead of their competition. After all, every architectural firm faces competition whenever it pitches for new work. Clients will stack you up against your competitors before making their choices.
Now, consider this. Many of your competitors don’t know how to code. Perhaps they’re stuck in that mindset that says their software already gives them the tools they need.
You can beat your competition by learning to code.
Again, it comes down to having those extra tools. Coders can create scripts that allow them to do things that other people can’t do. A script that saves you time allows you to focus on other things while your competitors complete menial tasks. Creating a new tool opens up more possibilities in your software.
You can’t say for certain that you will beat your competition if you learn how to code. You still need to bring creativity and quality designs to the table. But you’ll stand a much better chance if you can do things that your competition can’t.
The Best Languages
No two programming languages are alike. That’s one of the first things you’ll find out when you decide to learn how to code.
There are some languages that work well with your digital design software and a fair few that don’t.
So, it’s best to take a look at some of the languages and programming packages that do help. That way, you won’t waste time learning to code in a language that doesn’t suit your needs.
Dynamo
Dynamo offers a nice middle ground between regular coding and visualisation. It’s an extension to Revit, which many of you will have used in your work before.
With Dynamo you take control of a lot of things. These include the following:
- Editing the data, you input into Revit.
- Automating key processes.
- Exploring the many design options Revit offers.
- Sculpting the geometry, you create.
- Linking an array of applications.
Dynamo gives you access to Revit’s API and can access the cloud-based services that Revit uses. That makes it an extremely powerful programming tool that will help you get more out of the software.
Grasshopper 3D
Much like Dynamo, Grasshopper offers a middle ground between a visualisation software and the code that lies behind it. In Grasshopper’s case, it’s the gateway between Rhino 3D and RhinoScript.
You don’t actually need to learn RhinoScript to take advantage of what Grasshopper has to offer. That’s why many of you will find it to be an attractive software package.
Nevertheless, you can use Grasshopper to create algorithms that change the way you design in Rhino 3D. Advanced users can create all sorts of things in Grasshopper. From parametric modelling to figuring out energy consumption, Grasshopper offers you the tools you need with only little understanding of coding.
Python
Python is the most versatile digital design programming language around. That’s why so many people choose to take ArchiStar Academy’s Python online training course. The language integrates with a bunch of other software packages. These include Rhino 3D and both the Grasshopper and Dynamo programming suites.
Python is a simple language. Plus, it comes with a ton of modules that you can implement into your own software. As an open source language, Python also has a dedicated community supporting it.
That means you won’t have to worry about resources drying up. There are always places you can look when you need to shore up your Python knowledge. Outside of Python online training courses, there are plenty of forums and websites that can help.
C#
C# is often the language of choice for the more experienced coder. It’s one of the most popular languages in the world because of its flexibility. Even so, there are a few things you can use it for in the context of your digital design software.
Take Revit as an example. You can use C# to create macros to help you automate tasks in Revit. It won’t take long for these macros to show their benefits. You’ll save tons of time, and that far outweighs the time you spent learning how to code in C#.
There are plenty of resources available for C# because it is such a popular language. But C# is a step up from the other languages in this list, so you need to prepare yourself for that.
VB.NET
Another visual tool, VB.NET comes into its own as an automation tool. Revit and AutoCAD users will find it really useful. You can create all sorts of routines using VB.NET. For example, you could create collection of functions that you pull together into a Macro for a digital design software like Revit. This could save hours of time.
VB.NET is one of the more user-friendly programming tools out there. It features plenty of documentation, so you won’t get lost while you’re learning. With a bit of effort, you’ll have some Macros built in no time.
Conclusion
So, how do you feel about learning to code?
Hopefully, this article has shown you that there are plenty of reasons to learn how to code. It can open up so many doors for you. Coding can help you make better use of your digital design software.
Now, you need to take the next step and start learning.
That’s where ArchiStar Academy can help. ArchiStar Academy offers courses in several of the programming languages this article covers. The online Python course is a great starting point. It’s also a good idea to take ArchiStar Academy courses in Grasshopper 3D and Dynamo so you can make the most out of Rhino 3D and Revit. ArchiStar Academy even has a full stream designed called Programming for Architectural Design.
Archistar Academy offers several courses across the spectrum of digital design software. You’ll develop your skills, allowing you to create more accurate and functional models.
Please don’t hesitate to get in touch with Archistar Academy today if you have any questions.
If you would like to share your thoughts on our blog, we’d love to hear from you!
Get in touch with the ArchiStar Academy [dev] community via Facebook.
Posted on 20 Jan 2020