# 3D Space Frame Analysis using Python and Blender

## Imagine, build and analyse 3D space frames using the Direct Stiffness Method in Python

\$79   \$69
4.9
4.9/5
Play Video about 3D-Space-Frame-Analysis-with-Python V2 | DegreeTutors.com

## What you'll learn

You’ll be able to apply the Direct Stiffness Method to analyse 3D space frame structures in Python.

You’ll be able to use Blender, a powerful open source 3D modelling software to build, visualise and export your structural models.
You’ll have your own analysis programme to identify displacements, reactions and internal member forces for any 3D space frame.
You’ll have the tools, knowledge and confidence to expand your code even further beyond what we cover in the course.

## Description

In this DegreeTutors course, we leave the two-dimensional world and expand our horizons into the world of three-dimensional structural analysis! After completing this course, you’ll be able to turn a structure from your imagination, into a 3D model that you can analyse using the Direct Stiffness Method, implemented in Python.

We often simplify our real-world structures down into 2D models. This can greatly simplify our analysis and in many cases we lose very little information as a result. 2D analysis often gives us the right balance between speed, simplicity and accuracy. For this reason, most undergraduate engineering courses focus almost exclusively on 2D planar structural analysis.

However, 2D structural analysis has its limitations. As the geometry of our structures becomes more complex the degree to which they can be accurately represented with planar models diminishes. As a result, the accuracy of our models deteriorates and model output drifts further and further from reality. At this point, it can help to expand into the third dimension.

The popularity of Biomimetic Architecture and the complex geometric forms it produces also call for more fidelity in our structural models. The challenge of trying to model the behaviour of space frame or shell structures with complex geometry and compound curvatures is a daunting one. Norman Foster’s Gherkin Tower (2003) has a hexagonal skin inspired by the Venus Flower Basket Sponge. The fully triangulated perimeter structure makes the building rigid enough without any extra reinforcements [1]. By combining some 3D modelling skills with knowledge of matrix based structural analysis we can start to decipher the structural behaviour of this structure.

In this course we’re going to build on what we learned in our study of The Direct Stiffness Method for Truss Analysis with Python. We’ll expand the code developed in that course to accommodate 3D space frame structures.

You’ll see that expansion of the Direct Stiffness Method from 2D to 3D is readily achieved with some logical alterations to our code. You should only take this course after first completing the prerequisite course. This will give you the foundation you need to get the most from this course.

Once our analysis code is complete, we’ll turn our attention towards how best to generate the geometric data that defines our structure. For this we’ll turn to a powerful open-source 3D modelling tool called Blender . By harnessing some simple 3D modelling tools, we open the door to analysing the behaviour of any structure. We are limited only by our imagination! With its powerful 3D modelling tools and Python API, Blender is an excellent fit for our structural analysis workflow.

After familiarising ourselves with how to generate structural models in Blender, we’ll develop some simple scripts that allow us to easily transfer model data back and forth between Blender and our structural analysis Jupyter notebook.

We’ll develop our Python code using the versatile Jupyter development environment. When you complete this course you will have a standalone 3D analysis Jupyter Notebook to deploy on your own projects.

The course is broken into 7 sections

### Section 1: Welcome and Preliminaries

After some brief introductions in section one, we install some helpful tools that make life a little easier inside your Jupyter Notebooks. We won’t hang around for long in section one. With the housekeeping taken care of, we quickly move onto some structural analysis in section 2.

### Section 2: Expanding from 2 to 3 Dimensions

In section 2 we’re going to explain exactly how we can expand the direct stiffness method for 3 dimensions. This theory section, is well worth watching and taking your time with so that you fully understand the foundations of what we’re doing for the rest of the course. You’ll be pleased to hear that this expansion is a lot more straightforward than you might imagine.

### Section 3: Coding the Third Dimension

After explaining the underlying theory in section 2, in section 3 we’re going to actually implement the required changes to our code. Our starting point here is the code we developed for plane truss analysis in the prerequisite course. We’ll work our way systematically though the code over the course of a few lectures and tackle each of the amendments one by one, explaining as we go.

### Section 4: Improving the User Experience

In section 4, we’re going to make a couple of small changes to our code that improve its usability. This is a short section in which we implement a colormap to better visualise the magnitudes of member forces and we’ll also implement some user interface widgets to make plot manipulation a little easier. With these modifications we will have successfully modified our code and technically completed all of the modifications we need to make. From here on our efforts are going to be on making it easier to develop larger 3D structural models that play nicely with our Jupyter Notebook.

### Section 5: Building 3D Structures in Blender

So, in section 5, we dive headfirst into Blender, our 3D modelling software. After getting Blender installed, I’ll give you a whistle stop tour of the interface and demonstrate some modelling tools to give you a sense of how we’ll be using it to build our structural models. Blender is a huge programme with a lot of functionality, but we’ll keep things fairly focused here on just what we need to know to build our structural models.

### Section 6: Jupyter/Blender Data Transfer

At this point, we have a very nice piece of structural analysis software in the form of our Jupyter Notebook. We also have a very powerful 3D modelling tool in which our structural models live. However, things really come to life when we start to move data between the two. So section 6 is all about facilitating that data transfer between Blender and our Jupyter Notebook and vice versa.

### Section 7: Case Study Structures

Finally in section 7, we take a victory lap and use our shiny new skills to model some interesting structures and run them through our 3D solver. We’ll do some minor code development in section 7 to further streamline our workflow between Blender and our Jupyter Notebook. You’ll also find it helpful to see more examples of how to take advantage of Blender’s modelling capabilities.

This section is where ongoing course updates and new lectures are added. These may be from student suggestions or new ideas that come to mind after the course is published. In the latest update, we focus on building a better axial force data visualisation using Blender. In this update, you’ll learn how to use Blender’s Python API to programmatically build the structure and assign properties, colour in this case, based on structural analysis data. With this under your belt, you can expand and start exploring other data visualisation options using Blender.

## Who this course is for

• Students and engineers who’ve studied matrix analysis methods but never explored the 3D potential of this analysis technique.
• Students and engineers who’ve taken our truss analysis or beam and frame analysis course and want to continue learning and expanding their abilities.
• Anyone who wants to leverage programming as a tool for structural analysis or within their day-to-day study or work.

Although not absolutely essential, it is highly recommended that you complete the prerequisite course before starting this course.

The codes developed in this course are for educational purposes only and are not tested or certified for use beyond the educational scope of this course. Always employ your own engineering judgement first and foremost, regardless of what the computer says!

## Course Completion Certificate

• 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.

Play Video
Play Video

## Course content

### Welcome and Preliminaries

Introduction and course overview (Preview)
(03:17)
Course prerequisites (Preview)
(01:13)
Installing Nbextensions (optional)
(05:05)

### Expanding from 2 to 3 Dimensions

Section overview (Preview)
(00:42)
Review of transformations in 2D
(17:30)
Expanding to a 3D transformation matrix
(12:51)
The 6×6 element stiffness matrix
(04:54)

### Coding the Third Dimension

Section overview (Preview)
(00:48)
Visualising our 3D structure
(16:21)
(04:44)
3D orientations and lengths
(08:38)
Building the 3D structure stiffness matrix
(09:33)
Solving displacements, reactions and axial forces
(07:48)
Visualising axial forces & deflections
(10:50)
Detailed text output
(03:45)

### Improving the User Experience

Section overview (Preview)
(00:40)
Adding a colormap for axial forces
(08:07)
(14:10)

### Building 3D Structures in Blender

Section overview (Preview)
(01:20)
How can Blender help us?
(06:18)
(03:21)
Blender overview & interface basics
(15:36)
Object versus edit mode
(10:05)
Basic modelling – rectilinear structures
(10:50)
Basic modelling – organic/curved structures (Preview)
(18:26)

### Jupyter/Blender Data Transfer

Section overview (Preview)
(01:04)
Exporting model data from Blender
(13:01)
Importing model data into our Jupyter Notebook
(13:20)
Exporting deflections from our Jupyter Notebook
(08:48)
Visualising model deflections in Blender
(06:36)

### Case Study Structures

Section overview (Preview)
(00:36)
Transmission tower – Modelling
(23:59)
Transmission tower – Analysis
(13:34)
Geodesic dome – Modelling and better data export
(15:20)
Geodesic dome – Analysis
(09:31)
Gherkin-esk Tower
(28:59)
Space frame structure
(17:11)
Course wrap up
(01:48)

Including self-weight in the analysis
(25:35)
Blender data-viz – Structure setup & force data
(19:02)
Blender data-viz – Blocking out the code
(22:56)
Blender data-viz – The transformation matrix
(22:00)
Blender data-viz – Generating materials from force data
(21:36)

### Consider this first...

This course is a first introduction to the direct stiffness method. If you’re not familiar with this technique or you’re new to Python, consider starting here first; it’s the 2D version of the current 3D course.

## 📍 You're here

### Try this next...

This course returns to 2D analysis but considers more complex 2D beam elements that resist shear and moment. It’s the starting point for beam and frame analysis with the direct stiffness method.

### ...or this next...

If you’ve already covered 2D beam and frame analysis, then this course extends that into 3D and would be a good next step after finishing the current course. We also introduce Blender as an essential modelling tool for our 3D analyses.

You’re buying lifetime access. You’ll also get all the course updates and new lessons for FREE forever. Come back to this course for reference any time in the future.

Absolutely. Even if you watched the full course, if you’re not satisfied, contact me in the first 30 days and I will give you a full refund, no questions asked. It would be helpful if you could tell me how I can improve the course for other students.

This is a video course hosted by Podia that requires you to log in and stream the videos. The course may also include downloadable PDFs, and Jupyter Notebooks.
Yes! I’ve partnered with Podia and Stripe to handle billing and provide a secure payment facility. DegreeTutors (me) never directly handle or store your credit card information.

Play Video

## The Direct Stiffness Method for Truss Analysis with Python

Build your own finite element truss analysis software using Python and tackle large scale structures.

After completing this course…

• You’ll understand how to use the Direct Stiffness Method to build complete structural models that can be solved using Python.
• You’ll have your own analysis programme to identify displacements, reactions and internal member forces for any truss.
• You’ll understand how common models of elastic behaviour such as plane stress and plane strain apply to real-world structures.
Play Video

## Beam & Frame Analysis using the Direct Stiffness Method in Python

Build a sophisticated structural analysis software tool that models beams and frames using Python.

After completing this course…

• You’ll understand how to model beam elements that resist axial force, shear forces and bending moments within the Direct Stiffness Method.
• You’ll have your own analysis software that can generate shear force diagrams, bending moment diagrams, deflected shapes and more.
• You’ll understand how to model rotational pins within your structures, inter-nodal distributed loading and realistic flexible supports.
Play Video about 3D-Space-Frame-Analysis-with-Python V2 | DegreeTutors.com

## 3D Space Frame Analysis using Python and Blender

Develop tools to model and analyse complex 3D space frame structures using Python.

After completing this course…

• You’ll understand how to apply the Direct Stiffness Method to solve 3D space frame structures.
• You’ll have your own analysis programme to identify displacements, reactions and internal member forces for any 3D space frame.
• You’ll be able to use Blender, a powerful open source 3D modelling software to build, visualise and export your structural models.