![Building Engineering Modelling and Analysis Addons in Blender](/_next/image?url=%2Fimages%2Fcourses%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender.jpg&w=1080&q=75)
Building Engineering Modelling and Analysis Addons in Blender
Unleash the power of Blender by learning how to build custom tools to complement your workflows
No reviews yet
đ EARLY BIRD DISCOUNT
Use promo code EARLY-BIRD at checkout for 35% OFF
$149 $97
âšď¸ You're purchasing lifetime access to this course at a discounted rate before it's complete. The remaining sections will be released over the coming weeks.
- Youâll be able to build custom logic directly inside Blender and build your own sharable tools in the form of addons.
- Youâll understand how to add custom UI elements such as buttons, menus and panels into the Blender interface.
- Youâll be comfortable using a combination of Serpens, the intuitive and user-friendly node-based development workflow and custom scripting to develop your addons.
- Youâll understand how to implement custom analysis code in your addon and leverage Blenderâs 3D capabilities for modelling and visualising structural behaviour.
In this course, youâll learn how to unlock the enormous potential of Blender as a tool for engineering modelling and analysis. Weâll do this by building our own structural analysis addon!
Blender is a fantastic all-round 3D modelling tool. Although traditionally used by 3D artists, itâs gaining a dedicated following among the Architecture, Engineering and Construction (AEC) communityâŚand for good reason!
Over the years, Blender has popped up in various EngineeringSkills courses (here and here, for example) as a structural modelling and visualisation tool.
Now, weâre going to take the next step and build a custom addon that allows us to do the modelling AND analysis inside Blender. Along the way, weâll streamline the workflow by building a user interface perfectly suited to our needs.
![Axial force analysis of a spaceframe roof using StructureWorks V1 | EngineeringSkills.com](/_next/image?url=%2Fimages%2Fcourse-info%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fimg2.jpg&w=3840&q=75)
Axial force analysis of a spaceframe roof using StructureWorks V1.
If you purchase this course, you will also receive a complete version of the StructureWorks addon. In addition, you will receive all future updates to the addon as it undergoes further development by the EngineeringSkills team.
The complete distributable version of the addon is in the final stage of development (minor bugfixes and tweaks remaining) and should be available for download within the next few weeks.
Lifetime and annual subscribers will also have full access to the addon and all future updates (while subscribed).
Blender Addons
Blender addons are a great way of extending the functionality of Blender. They can take the form of simple tools that help speed up your workflow, all the way up to tools that add massive additional functionality to the software.
The Blender community have been making custom addons for Blender for years. In fact, thereâs a thriving marketplace where addon developers distribute and sell their creations. Youâll find addons there that add all manner of additional functionality to Blender.
Why bother learning to make addons now??
Until relatively recently, building an addon for Blender was a much more involved task that required the developer to engage much more deeply with Blenderâs Python API. If youâre a Python developer and have the time to really immerse yourself in the API - the world of addons was always wide open for you.
But for the average Engineer or Architect (basically, anyone who was not a Python developer with time to burn), the pain of getting started or the 'barrier to entry' was just too high to bother.
Joshua Knauber and Serpens
That all changed when Joshua Knauber released Serpens in 2020. Serpens is itself an addon for Blender - itâs an addon that allows you to build addons by using node-based scripting. Itâs no overstatement to say that the release of Serpens (a $24 addon đ¤Ż) has crushed the barrier to entry when it comes to making your own addons!
Serpens is under active development - currently on version 3 with v4 in the works, and has since developed its own active and supportive community. More on that inside the course.
So, with the pain factor of building your own addons dramatically reduced and the increasing adoption of Blender into AEC workflows - there has never been a better time to learn how to build your own custom tools inside Blender! Thatâs where this course comes in!
This course will teach you how to use Serpens, in combination with custom scripting using Blenderâs Python API to develop V1 of the StructureWorks addon - a tool for the modelling and analysis of 2D and 3D truss structures.
You will need to purchase the Serpens addon separately from the Blender Marketplace in order to complete this course. It is currently only $24 - TBH, it would be a bargain at 10 times that price!
![Blender addon development using a combination of Serpens (node-based development) and Blender's Python scripting API | EngineeringSkills.com](/_next/image?url=%2Fimages%2Fcourse-info%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fimg1.jpg&w=2048&q=75)
Blender addon development using a combination of Serpens (node-based development) and Blender's Python scripting API.
But I donât want to build a structural analysis tool
No problem! The big takeaway from this course is absolutely NOT the structural analysis addon you finish with - thatâs just a vehicle...a project that lets us build the much more valuable skill of addon development!
Iâm a structural engineer - so, for me, most projects usually involve some form of structural analysisâŚthatâs just what I find most engaging! Give me a pen and paper and 10 minutes of idle time, and Iâll be sketching out structures, forces, reactions etc etcâŚthatâs just how Iâm wired!
But maybe youâre a mechanical engineer, an architect, a QS or a construction manager. If your work involves building digital representations of the real world, then Blender may fit nicely into your workflow. And if you use Blender, you can almost certainly streamline what you do in Blender by building some custom tools! So, this course will be just as valuable to you!
As we move through the course, if structural analysis isn't your jam, donât get too hung up on the details of exactly WHAT weâre building, focus on HOW weâre building it and map the techniques to whatever it is you want to build!
Course Breakdown
This course is going to be released section by section; as each new section is completed, Iâll be pushing those video lectures live inside the course. The course index (on this page) will show the currently available lectures and the sections Iâm currently working on, behind the scenes.
â Section 1: Introduction and Basic Setup
We kick things off by getting our development environment in order. Weâll get Blender and Serpens downloaded and setup, ensuring weâre all using the same versions.
Then weâll get VS Code (what we'll write our scripts in) setup for working with the Blender. Scripting natively inside Blender is a painful experience when you're used to working with modern code editors, so this is an important step if you want to stay sane while taking this course.
Before we wrap up, Iâll point out some key online resources that youâre going to find helpful while developing with Serpens. There are one or two other content creators out there that do some really heavy lifting when it comes to covering the finer points of Serpens - Iâll point you in their direction.
â Section 2: Serpens 101 - The Basics
The focus in section 2 is getting familiar with the very basics of Serpens - how it works, what it can do, and ultimately, how do we get this addon to produce our addon.
We do this by implementing and exporting a minimal example of an addon. By the end of this section, a lot of the questions youâre currently asking yourself about Serpens and the development workflow will be wiped away.
â Section 3: Itemising structure elements and nodes
In this section, weâll build the functionality for our addon to extract the list of nodes and elements from our candidate wireframe mesh.
The humble mesh object is the basis of our structural model so breaking up into nodes and elements that our analysis code understands is critical. This will also expose us to some helpful new techniques around list building and display in Serpens.
â Section 4: Building the Materials Library
In section 4, we'll start building the material library which allows us to specify and store various structural materials.
![Structural materials library | EngineeringSkills.com](/_next/image?url=%2Fimages%2Fcourse-info%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fimg4s.png&w=828&q=75)
Structural materials library.
This will introduce us to the core of how weâll be Creating, Reading, Updating and Destroying (CRUD operations) user-generated data in our addon. What we learn in section 4 will be used extensively throughout the course.
Section 5: Building the Sections Library
This section will re-implement the core functionality we saw in the previous section - this time, our focus is on building a library to hold all of the user-defined cross-sections.
In sections 3, 4 and 5 weâll make extensive use of the Serpensâ Function nodes. These are one of our core building blocks and a great way of encapsulating and re-using node groups across our addon.
Weâll also establish a workflow for integrating custom Python scripts and keeping track of where theyâre used in our node setups. This is going to be critical to keeping our addon maintainable as it grows.
Section 6: The Restraint Management Panel
In section 6, we build on what we did in sections 4 and 5 and start adding user-generated data that relates directly to active selections in the 3D view. Having a way to intuitively select parts of our structure in the 3D view and then assign attributes based on the selection is critical. Our first task will be selecting nodes and assigning nodal restraints.
![Restraint management panel | EngineeringSkills.com](/_next/image?url=%2Fimages%2Fcourse-info%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fimg5.png&w=828&q=75)
Restraint management panel.
Section 7: The Applied Forces Panel
In section 7, weâll lean on a lot of what we covered in section 6, but this time, weâll be applying forces to the selected nodes. In sections 6 and 7, we'll also be implementing some functionality to manipulate the properties weâve assigned to nodes, e.g. removing duplicate restraints, consolidating forces on each node and sorting the data.
![Applied forces panel | EngineeringSkills.com](/_next/image?url=%2Fimages%2Fcourse-info%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fimg6.png&w=828&q=75)
Applied forces panel.
Section 8: Adding Custom Mesh Assets to the Scene
Up to this point, weâve generated new data and assigned attributes to parts of the structure - but thereâs no visual representation of this in the 3D view.
This changes in section 8 when we cover the next big milestone - bringing custom geometry assets into the scene and assigning them based on our user-generated data.
Weâll generate some basic mesh objects to represent forces and restraints and then assign these as assets to be bundled with our addon. We can then use them as we like - in our case, to represent the assigned restraints and applied forces.
Section 9: Implementing 3D Truss Analysis
In section 9, weâll build the engine that drives our addon - the structural analysis script. Weâre going to be implementing the solver that we developed in this course for 3D truss analysis. Weâll make some modifications, but the bones of it will be what we covered previously.
![3D truss analysis | EngineeringSkills.com](/_next/image?url=%2Fimages%2Fcourse-info%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fimg7.png&w=3840&q=75)
3D truss analysis.
I wonât go through the theory in any great detail in this course - if you want a deep dive on this, head over to the original spaceframe analysis course.
You can get both courses as a discounted course bundle - check out the course bundles page, or scroll to the bottom of this page for details.
That said, you should be able to follow along with the basics of what the script is doing if youâre familiar with matrix-based analysis methods. I'll give a high-ish level running commentary of the analysis script as we go.
If youâre not an engineer and have no idea (and are not interested in) what Iâm talking about when I say matrix-based analysis - you can blindly copy me here - all Iâm doing is taking the user inputs, passing them through a black box and getting the desired outputs. Just imagine swapping this step out for whatever analysis you want as the basis of your own addon.
Section 10: Building Analysis Results Tables
With all of the results calculated, we need some way of seeing them! Weâll build our results analysis tables in section 10. What we cover here is going to be handy in any addon where tables of data are generated - so almost all engineering-focused addons!
Section 11: Visualising the Deflected Shape
Then, we can turn our attention to visualising results in the 3D viewport. The easiest set of results to tackle first is the deflected shape. Weâll also build in a handy scale slider that allows us to exaggerate the deflection to help get a more intuitive âfeelâ for what the structure wants to do under load.
Section 12: Exporting Data
Our next step is to work out a way of getting all of this data out of Blender and into a .csv file. Weâll break this into two operations: (i) exporting all of the data that defines the structure and loading - the problem definition, and (ii) exporting all of the results data.
Section 13: Adding Text Labels to the 3D View
In section 13, we add another essential feature, the ability to print labels in the 3D viewport. This will introduce us to another set of Serpenâs nodes - modal nodes. This unlocks a lot of quality-of-life improvements in our addon, e.g. adding node numbers, materials numbers, force labels, nodal deflection labels. These labels are going to be a key bridge between the results we see in our results tables and the 3D structural model.
Section 14: Auto-generating the Element and Node Mesh
Section 14 sees us cover another big milestone in our addon development - procedural mesh generation. Our structural model thus far is a simple wireframe consisting of Blenderâs native vertex and edge primitives.
In this section, weâll use this data to build a mesh representation of each node and edge. This is an important building block for the generation of results heatmaps that come later.
We covered a version of this at the end of the previously mentioned Spaceframe course. However, this time around, weâll be taking a different approach that frees us from some of the performance bottlenecks we ran into previously.
Section 15: Implementing Axial Force Heatmaps
Building on the procedural mesh generation covered in section 14, in section 15, we implement a custom material that we can apply to our mesh. The trick here is to generate colours based on the axial force recorded for each element and apply this colour to the mesh faces associated with that element. Again, weâre taking a different, more performant approach to this than what we covered when we did this previously.
The key takeaway here is the generation of a custom material with colours assigned based on attributes, axial force in this case. Once you understand the workflow, you can generate additional heatmaps based on any attribute, e.g. axial stress, buckling failure, tension failure - whatever you like.
Section 16: Building the UI Control Panel
At this point in the course, the hardest tasks are behind us. Now itâs just about adding polish and quality-of-life improvementsâŚitâs all downhill from here!
In this section, weâll collect all of the functionality relating to the UI into one place and build a UI control panel. This will be where we can go to switch on or off any UI element, e.g. mesh representation, deflected shape, results heatmaps, labels etc.
Section 17: Adding a Pie-Menu for Quick UI Control
A pie-menu is a menu that we can invoke with a keyboard hotkey directly inside the 3D view. If youâve watched any of the demo videos for this course, youâll have seen me invoke a menu that appears in the centre of the screen - this is a pie-menu, and weâll build it in section 17.
![Custom pir-menu | EngineeringSkills.com](/_next/image?url=%2Fimages%2Fcourse-info%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fimg8.png&w=1080&q=75)
Custom pir-menu.
Pie-menuâs are really handy for quickly accessing functionality. Weâll build one that essentially duplicates the UI control panel we built in the previous section. This pie-menu is actually what I find myself using 99% of the time once my model has been set up and I want to start exploring the results in the 3D view.
Pie-menuâs are easy to build and you can build them to access whatever functionality you like.
Section 18: Constraining to 2D Analysis
Weâve built our addon to perform 3D analysis by default. We can build a 2D structural model and manually constrain it to the relevant 2D plane quite easily.
![2D Truss Analysis | EngineeringSkills.com](/_next/image?url=%2Fimages%2Fcourse-info%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fimg3.png&w=3840&q=75)
2D Truss Analysis.
But in the spirit of making our addon a pleasure to use, weâll automate this task in section 18. This will be quite easy to do as it just involves specifying additional restraints based on what the user specifies as the relevant 2D plane. In fact, at this stage in the course, you really shouldnât need to watch me do this - youâll be well able to do it yourself!
Section 19: External Analysis with OpenSeesPy
You can think of section 19 more like an optional appendix. The addon is done at this point but I think it would be useful to also have a way of analysing our models externally.
The idea here is that you should be able to export your model and loading definition (using the export functionality we built earlier). Then load it into a Jupyter Notebook and solve the structure using OpenSeesPy. Again, youâll have seen me do this in some of the earlier demo videos for this course.
![Externally analysis using OpenSeesPy for validation | EngineeringSkills.com](/_next/image?url=%2Fimages%2Fcourse-info%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender%2Fimg9.png&w=3840&q=75)
Externally analysis using OpenSeesPy for validation.
Iâll cover the generation of these Jupyter Notebooks in section 19. So, this section will act as a bit of a primer on OpenSeesPy and weâll also cover some nifty plotting in matplotlib.
This workflow of exporting our model definitions and analysing them externally is also a really helpful workflow for validation if and when you extend your addon to cover other analyses - this is basically what I do to make sure everything is working correctly when I implement an analysis script from scratch!
Who is this course for?
- Architecture, Engineering and Construction (AEC) professionals who want to learn how to build custom tools in Blender to streamline their workflows.
- Engineers who want to leverage the 3D capabilities of Blender for modelling and visualising structural behaviour.
- Non-AEC folks (e.g. artists, 3D hobbyists and general Blender users) who want to learn how to build custom tools using Serpens (and are willing to put up with a little structural engineering along the way đ).
All EngineeringSkills course completion certificates list every lecture completed in a course. So, course completion certificates for this course will only be available once the final course lectures have been released.
![Completion certificate](/_next/image?url=%2Fimages%2Fcertificates%2Fbuilding-engineering-modelling-and-analysis-addons-in-blender.png&w=750&q=75)
Download your personalised Certificate of Completion once youâve finished all course lectures.
Applying for jobs? Use your Certificate of Completion to show prospective employers what youâve been doing to improve your capabilities.
Independently completing an online course is an achievement. Let people know about it by posting your Certificate of Completion on your Linkedin profile or workplace CPD portfolio.
The Structural Analysis Blender Addon Course Bundle
The structural analysis theory and practical development skills needed to build a complete analysis addon for Blender.
- 3D Space Frame Analysis using Python and Blender
- Building Engineering Modelling and Analysis Addons in Blender