Medeek Engineering
-
This will be a separate extension that will be integrated with the other extensions in the mdkBIM bundle. It does not need to be installed with the mdkBIM bundle and is completely optional. However, it is not really a stand alone extension since it can only be used with geometry drawn by other Medeek extensions.
After giving it some additional thought I think it would be good to decouple this extension to the extent that even if for example the Wall plugin is not installed the user could install the engineering extension and still apply loads/support and analyze a given beam. However they would be unable to modify the beam as drawn (ie. size, depth, length) unless the Wall plugin was installed.
In the Account Manager its icon will be:
-
With respect to who will use this module, I actually do think a lot of architects and designers would find use for it even if they are unable to “stamp” their design as “engineered”. There would be many situations where a designer would want to get a reasonably ballpark idea on how big a beam or header needs to be. Unless there are complex loading situations at play, assigning some basic loads and supports to a beam is usually not rocket science. However, as always it is garbage in, garbage out. Obviously the user needs to have some understanding of the correct site specific loads in order to get the correct answers.
That being said, my primary audience for this plugin is residential structural engineers (like myself) who are wanting to quickly apply loads to a design and push out a report with minimal effort. I still have a long way to go with all of this but I am definitely opening a new can or worms with this one, let’s see where we can take it in the next few months.
I think I am entering uncharted territory with this new development. To my knowledge there does not exist a comprehensive software that combines architectural design with engineering, that is my goal with integrating this new engineering module/extension with the mdkBIM suite.
-
When you click on the “Draw Load/Support” icon of the toolbar you will be presented with this matrix menu:
-
Still working on how best to graphically represent the various loads and supports but this a bit of a preview of how it will go:
-
The loads and supports will be on the Eng layer, annotations will be on Eng2 and warning graphics will be on Eng3.
Here is an example of some point loads applied to a timber beam, now I just need to setup annotations:
The different color arrowheads indicate one of the six load types (Dead, Live Floor, Live Roof, Wind, Snow, Seismic). The colors assigned to each load type will be able to be customized in the global settings. The size of the arrowheads will also be customizeable.
Regenerating the beam geometry will not regen the loads, there will be separate context menu item (right click the beam) to regen the engineering loads/supports.
-
All these marvelous things will be also in metric system ? -
An example of point loads with Load Labels and Magnitudes turned on:
-
An example of some distributed and point loads applied to a steel (W) beam:
I could also do something like this for the distributed load representations, thoughts?
Now I just need to add the supports and we are done with the engineering geometry.
After that I need to figure out the finite element analysis (matrix analysis) engine that will be used to calculate the shear, moments and deflections of the beam (single or multi-span). Since the number of loads and supports is potentially unlimited there is no one classical equation that will solve this problem:
-
The last matrix analysis engine I wrote was for the truss calculator, its been a while. The good news is that I have my textbook on how to do it and it turns out that the beam analysis problem is really only a one dimensional problem, much less complicated than a two or three dimensional problem. This is going to be fun, just so you guys no I'm on summer vacation right now so let me have some fun with a bit of engineering.
This is my reference and favorite text on the subject matter:
-
An example of a beam with loads and supports:
Clicking the control key allow the user to insert supports by their center and then bearing length.
View model here:
3D Warehouse
3D Warehouse is a website of searchable, pre-made 3D models that works seamlessly with SketchUp.
(3dwarehouse.sketchup.com)
-
Insertion of a support:
-
When you assign a support with blocking (lateral bracing) then it will be drawn with a dashed line (both sides of beam) as shown to indicate that bracing is being provided at that location:
-
Editing a support:
-
The beam engineering geometry features are now complete. You can now add, move, delete or modify an unlimited number of supports, distributed loads and point loads. If the beam itself is modified there is also a function to regenerate all of the engineering geometry to properly match the updated beam width and depth.
The next step will be to work on the actual engineering engine (FEA) and add in additional engineering (global) parameters. Some of these parameters will be things like deflection limits etc...
-
Great stuff Medeek
Really super study script to understand loads and reactions.
How about an FEA just for fun.???
Thanks for all your good workdtr Architect
-
Moving a distributed load:
It may be more intuitive to select the distribute load and then select whether to move the start or end point, rather than just moving it by its center point. Granted, one can modify the start and end locations within the edit menu.
-
The updated toolbar with the “Engineer Beam” icon added.
-
Version 0.8.0 - 03.14.2021
- Created the Medeek Engineering Plugin, utilizing SketchUp's Ruby API (BETA release).
I haven't paid much attention to this plugin for about 8 months as I have been so busy updating all of the other plugins (Wall, Truss, Foundation and Electrical). When I get some more time I will get back to work on the matrix analysis engine that is required for the calculation module. For now you should be able to add loads and supports to beams created with the beam module of the Medeek Wall plugin.
The plugin is very much in BETA right now, however I wanted to at least get it out so people can start playing with the load and support tools and give me any feedback they might have.
The BETA/Trial version of the plugin can be downloaded here:
Note, that you cannot purchase this plugin yet. I will not enable purchasing until I have completed the calculation module and brought it out of BETA status.
-
First look at a sample load diagram that will be generated within the report:
I was going to include the numerical values but it clutters things up too much so I think it makes more sense to just include the appropriate tables below the diagram with all of that information.
Notice how P3 is essentially on top of D1. The point loads and distributed loads can be anywhere along the beam so things may become a little cluttered even with my best attempts at trying to make the diagram as clear as possible.
If you look at the output from Weyerhaeuser's Forte app, my diagram is similar in many respects but somewhat more detailed.
One thing I have not considered yet is what if the user wants to input negative (uplift) loads. I will need to give that some more thought and figure out if that is something I should add and then determine how to best represent an uplift load.
The other thing I realized is that unlike a truss, I'm actually only dealing with a one dimensional structural entity here. Do I really need the grid? It does help show the size of the beam (the length and depth are to scale) but otherwise there is really no need for it.
Thoughts overall?
-
Now that I have the shear, moment, slope and deflections algorithms in place for point loads it is just a matter of algebraically adding multiple loads for more complex loading scenarios (ie. multiple loads and load cases). Here is a very simple example of two point loads applied to a two span beam. Note that self weight of the beam is not yet being considered:
I need to add some formatting logic into the top beam diagram to account for shorter spans so the dimensions don’t run into the supports as shown. This is why a lot of testing and debugging is necessary.
This beam engineering tool with its matrix analysis engine is probably the single most complicated piece of code I’ve ever written, it certainly rivals the truss calculator (2013) and the complex roof (2019) module. I will admit that I now freely use ChatGPT with some of my coding puzzles lately and surprisingly it even understands the context of what I’m coding and offers suggestions to improve the accuracy and efficiency of the engine itself.
The numerical integration (for the slope and deflection) was initially stymied by incorrect boundary condition constants and I had no easy way of analytically solving for them. At that point I was fully aware of the issue but I was stumped at how to arrive at the right solution. ChatGPT suggested a normalization algorithm which proved to be correct and was even an easy fix within the algorithm. It’s like having a really smart graduate student looking over your shoulder pointing out what your doing wrong and how to make it all better.
Advertisement