Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Wood Stud Wall] Making this a true Wood Stud Wall design tool. #17

Open
hotmailbox opened this issue Feb 20, 2021 · 26 comments
Open

[Wood Stud Wall] Making this a true Wood Stud Wall design tool. #17

hotmailbox opened this issue Feb 20, 2021 · 26 comments
Assignees

Comments

@hotmailbox
Copy link

Hi,

I just found your awesome post regarding wood post interaction diagram. It's super cool. Not sure if you are still active in this personal project and open for further development but I want to contribute ideas anyway. I wish I could be proficient in programing. I am wondering if you can add something to it to make it a bit more practical for every day design tasks. So instead of publishing a chart for specific stud height, revise/create different script to actual design studs for specific conditions (studs at the 1st story of n-story building with different stacking floor framing conditions at walls above for different loading conditions).

Add options to select:

  1. Number of stories with stacking wall above.
  2. Interior wall or exterior wall (and associated minimum lateral loads or wind load in psf)
  3. Conditions of floor/roof framing at each level above (floor/roof joist span on the left and on the right of the wall if they are bearing on the wall, dead & live loads in psf each side, cantilever or not, floor/roof joists continuous over wall or not, platform framing or balloon framing for eccentricity,...)to calculate the loads on to the wall at each level.
  4. Wall selfweight in psf
  5. Each story height and framing depth to calculate the wall weight and true stud height.

And the script will give options for stud size & spacing with detailed calculations when select each option.

I hope this will reach you well.

Thank you for doing all of this.

@JackBandlow
Copy link

You are welcome to take over this project. I am actually becoming a construction lawyer and plan to further develop my coding skills within the legal realm. I am happy to help you with this project. Let me know what I can do to help

@hotmailbox
Copy link
Author

Oops, didn't expect to the reply within minutes. Much appreciated.

Congratulations on your new career. What state are you practicing? Did you go to law school after engineering degree? And self-taught program skills? Truly amazing.

I don't have programing skills to take on the project but ideas. The ideas I listed above is what I have been dreaming for a wood stud design tool. Not sure if I can find a like-minded one on Eng-Tips to continue this.

@buddyd16
Copy link
Owner

I have a laundry list of projects I working on offline to eventually add to the repo, doing a lot of excel work lately.

I think @JackBandlow may have been working on python3 conversion, not sure I can only tell they forked the repo at some point, but I am very much still the owner of the repo??

In addition I also started the https://github.com/open-struct-engineer group and have been focused on the Concrete cross section tool there.

@hotmailbox
Copy link
Author

Sorry, who is Celt83? Should be buddyd16?

@buddyd16
Copy link
Owner

Yeah Celt83 (eng-tips) = buddyd16 (github)

I like your ideas here.

How I end up using the wood wall tool is to get the capacity values for various conditions and then in Revit I have a Dynamo script that performs load tracking and stack designs using the common spacing capacities.

@JackBandlow
Copy link

Yeah, I am mostly self taught in terms of coding and yes I am going to law school after getting an engineering degree. I am not sure what my end on this project is. It has been a few years since I have been involved in this.

@buddyd16
Copy link
Owner

Just to clear this up @JackBandlow has had 0 involvement in this repo beyond forking it for themselves back in 2019.

@buddyd16 buddyd16 self-assigned this Feb 20, 2021
@JackBandlow
Copy link

@buddyd16 that sounds accurate. I wasn't sure if I had any involvement.

@hotmailbox
Copy link
Author

hotmailbox commented Feb 20, 2021

Thanks all for clarifying things up.

It's great that you are working with Revit too. I have quite a few ideas to integrate engineering and Revit but haven't had a chance to implement them because the lack of knowledge in programming.

@buddyd16 Again, thank you for doing this. I hope you will have time to implement my ideas for this tool. If successfully implemented, it'd be the most complete wood wall design tool. I would add one more feature that allow it to specify all stud size & spacing at all levels for a stacked wall system. Do you mind if I relive the thread on Eng-tips to pick other brains for ideas for this stud wall design tool?

@hotmailbox
Copy link
Author

Or another feature that can generate entire stud wall schedule for a project based on multiple wall design. Say you name or mark walls A, B, C, D,... and tag them on plans in Revit, then you have a Dynamo tool to get all the input I listed above (number of stories, story height, tributary width each side each level and loads,...) then feed them to design tool which in turn gives you a nice stud wall schedule with different options and ready in Revit. It's totally possible, right?

@buddyd16
Copy link
Owner

"...because the lack of knowledge in programming."
This is easily fixed, I started here, Automate The Boring Stuff , and advanced to a large percentage of the stuff on here within a couple months.

Feel free to revive the thread on Eng-Tips.

Possible maybe, its actual deceptively difficult to get to what your asking for. The automation of the load take down ultimately requires a general grillage style load analysis program which will also have a a fundamental flaw - it will require users to model in Revit exactly as you would model in RISA/RAM, this means floors can't be modeled over the entire footprint instead they need to be modeled by area and have their span direction defined properly. I started down this path and just hit so many walls with needing users to do things a very specific way that I ultimately abandoned the approach and currently make users manually input tributary widths and area load psf's into custom wall family properties.

@hotmailbox
Copy link
Author

hotmailbox commented Feb 21, 2021

Very impressive of what you have done/learnt for such a short amount of time.

No, for stud wall design, I don't think it's easy to have Revit to do the load take down. A simple tool with all manual input and spits out a stud wall schedule that can be used in Revit. Or if possible use Dynamo or PyRevit to get the span of framing each side of the wall at each level for tributary width calculation (with option to select the framing perpendicular or parallel to the wall). Before attempting to get things linked and automated with Revit, a standalone tool should work in concept first. Similar to this one
image

My ideas came from this one https://youtu.be/ZK598XVWXGU?t=149

@hotmailbox
Copy link
Author

How would I change the species and its design values? I don't see the drop-down menu to select and re-populate design values accordingly. Manually input all values, right? Am I missing something?

@buddyd16
Copy link
Owner

buddyd16 commented Feb 21, 2021 via email

@hotmailbox
Copy link
Author

Thanks,

I manually input design values for several typical species & grades then saved the input files for later use. Works like a charm.

What did you use to compile the scripts to windows exe files? I tried py2exe and pyinstaller but failed to make it work.

Again, this is one of the best wood stud wall design tool.

@buddyd16
Copy link
Owner

I used pyinstaller when I did it the first time, it's been awhile since I tried compiling any of the scripts though. If I remember right pyinstaller would end up creating two folders one of which had the .exe and all the supporting files. The GUI for the wood wall uses matplotlib which generates hundreds of supporting files. If you chose to compile to a single file then the exe is acting more like a zip file and unpacks everything each time you run it, because all the supporting files are really small it can actually take a really long time to unpack everything before the program actually runs.

@hotmailbox
Copy link
Author

I see. It's not worth compiling then. Thank you for being very responsive. Concrete beam scripts are very helpful too. Python is not hard to understand but it'll take time to get to where you're now.

@buddyd16
Copy link
Owner

be mindful of the bug with "L" and asymmetric-"T" shapes with the concrete beam one, the solver implemented in there doesn't rotate the neutral axis so the result isn't in force equilibrium with a uniaxial moment for those shape types.

feel free to reach out if you have any questions on things. I wrote a lot of this before I read any kind of style guidelines or program structuring books so everything is a bit all over the place.

@hotmailbox
Copy link
Author

Don't worry. I am the one who always read manual or readme. Do you have any specific interest on any calc you want to write? I always want to make app for retaining walls, shoring design per Caltrans Shoring Manual, and tools to post-process data from ETABS. What state are you practicing?

@hotmailbox
Copy link
Author

Hi,

What do I have to do to make these scripts work for latest Python?

@buddyd16
Copy link
Owner

buddyd16 commented Feb 23, 2021

it may be more involved than this, still need to read up on the Python 3 changes, but using the simple_beam.py file as an example:

from __future__ import division
import Tkinter as tk
import ttk
import tkFont
import pin_pin_beam_equations_classes as ppbeam
from numpy import zeros
import numpy as np
import scipy.integrate as sci_int
import math
import os
import webbrowser
import tkMessageBox
import tkFileDialog

change to:

from __future__ import division
import tkinter as tk
import tkinter.ttk as ttk
import tkinter.font as tkFont
import pin_pin_beam_equations_classes as ppbeam
from numpy import zeros
import numpy as np
import scipy.integrate as sci_int
import math
import os
import webbrowser
import tkinter.messagebox as tkMessageBox
import tkinter.filedialog as tkFileDialog

I used print statements as a crutch to debug a lot of stuff as well so anywhere you see:

print blahblahblah

change it to:

print(blahblahblah)

@buddyd16
Copy link
Owner

buddyd16 commented Feb 23, 2021

for the wood_stud_wall_gui.py file:
change the imports to this:

import tkinter as tk
import tkinter.messagebox as tkMessageBox
import tkinter.ttk as ttk
import tkinter.font as tkFont
import wood_classes as wood
import matplotlib
matplotlib.use('TKAgg')
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
from matplotlib.figure import Figure
import matplotlib.pyplot as plt
import tkinter.filedialog as tkFileDialog
import os
import math

then every instance of NavigationToolbar2TkAgg needs to be changed to NavigationToolbar2Tk

every instance of canvas.show() needs to be changed to canvas.draw()

@hotmailbox
Copy link
Author

Thanks,

After googling around, I was able to change the code in wood_stud_wall_gui.py to work in both Python 2 and 3 without any issues.

@shuttle1987
Copy link

As a software engineer who's very interested in engineering mathematics I'd be very keen to have a chat with everyone about this project and the directions it is going in.

Specifically at the moment I have to do some structural designs for a wooden frame and I could really do with some help with that. I has assumed, falsely, that there would be more open source software in this space than there is and my searches led me to here. I'd be more than happy to help with improving the code here if the project is useful and still being used.

@buddyd16
Copy link
Owner

buddyd16 commented Mar 9, 2021

to be honest I don't really have a solid direction, this ended up being more of a file dump of some scripts I got working generally enough that I thought they could be useful to others. I have not had a lot of spare time to get in and make some of the edits and reorganization that I think need to happen.

Long term I do plan to return to this at some point it's just not in the cards currently.

@youandvern
Copy link

@shuttle1987 I would also be interested to have a conversation about this. I'm a structural engineer studying software engineering and I recently started building an open source site to host engineering calculations like this. It's pretty basic at the moment, but I would love to continue working in this space to help enable more calculation sharing like this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Wood Stud Walls
  
Awaiting triage
Development

No branches or pull requests

5 participants