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.

2D Plane Truss | DegreeTutors.com

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.

Transmission-tower | DegreeTutors.com

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.

Blender-for-structural-analysis | DegreeTutors.com

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.

Course Updates:

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

Certificate of Completion 12 | DegreeTutors.com
  • 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.


Course preview

Lecture 1: Introduction and course overview

Lecture 25: Basic modelling - organic/curved structures

Play Video
Play Video


Course content

Welcome and Preliminaries

3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN1
Introduction and course overview (Preview)
(03:17)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN2
Course prerequisites (Preview)
(01:13)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN3
Installing Nbextensions (optional)
(05:05)

Expanding from 2 to 3 Dimensions

3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN4
Section overview (Preview)
(00:42)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN5
 Review of transformations in 2D
(17:30)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN6
Expanding to a 3D transformation matrix
(12:51)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN7
The 6×6 element stiffness matrix
(04:54)

Coding the Third Dimension

3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN8
Section overview (Preview)
(00:48)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN9
Visualising our 3D structure
(16:21)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN10
Adding node number annotations
(04:44)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN11
3D orientations and lengths
(08:38)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN12
Building the 3D structure stiffness matrix
(09:33)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN13
 Solving displacements, reactions and axial forces
(07:48)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN14
Visualising axial forces & deflections
(10:50)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN15
Detailed text output
(03:45)

Improving the User Experience

3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN16
Section overview (Preview)
(00:40)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN17
Adding a colormap for axial forces
(08:07)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN18
Adding UI widgets for plot adjustments
(14:10)

Building 3D Structures in Blender

3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN19
Section overview (Preview)
(01:20)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN20
How can Blender help us?
(06:18)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN21
Downloading & installing Blender
(03:21)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN22
Blender overview & interface basics
(15:36)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN23
Object versus edit mode
(10:05)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN24
Basic modelling – rectilinear structures
(10:50)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN25
Basic modelling – organic/curved structures (Preview)
(18:26)

Jupyter/Blender Data Transfer

3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN26
Section overview (Preview)
(01:04)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN27
Exporting model data from Blender
(13:01)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN28
Importing model data into our Jupyter Notebook
(13:20)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN29
Exporting deflections from our Jupyter Notebook
(08:48)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN30
Visualising model deflections in Blender
(06:36)

Case Study Structures

3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN31
Section overview (Preview)
(00:36)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN32
Transmission tower – Modelling
(23:59)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN33
Transmission tower – Analysis
(13:34)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN34
Geodesic dome – Modelling and better data export
(15:20)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN35
Geodesic dome – Analysis
(09:31)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN36
Gherkin-esk Tower
(28:59)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN37
Space frame structure
(17:11)
3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN38
Course wrap up
(01:48)

Course Updates

3D Space Frame Analysis using Python and Blender | DegreeTutors.com_TN39
Including self-weight in the analysis
(25:35)
Spaceframe structures 40 | DegreeTutors.com
Blender data-viz – Structure setup & force data
(19:02)
Spaceframe structures 41 | DegreeTutors.com
Blender data-viz – Blocking out the code
(22:56)
Spaceframe structures 42 | DegreeTutors.com
Blender data-viz – The transformation matrix
(22:00)
Spaceframe structures 43 | DegreeTutors.com
Blender data-viz – Generating materials from force data
(21:36)


Roadmap

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.


Frequently Asked Questions

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.


Ready to get started?



Or save 35% with the Direct Stiffness Method Bundle

The Direct Stiffness Method for Truss Analysis with Python | DegreeTutors.com
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.