Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Calculators and Spreadsheets 3

Status
Not open for further replies.

medeek

Structural
Mar 16, 2013
1,104
I've decided to consolidate some of the many spreadsheets and online calculators I've coded in the last couple of years in one place and bring some order to the mess:


All of the spreadsheets can be unlocked without a password so they can be further customized or improved. I am always open to suggestions and feedback on any of these. My idea is to provide a resource for other engineers that is built upon the working knowledge and experience of practicing engineers.

A confused student is a good student.
 
Replies continue below

Recommended for you

Medeek, what software are you using to draw all your diagrams? They are very clear while still having a nice aesthetic. Also, I was curious what language you are coding your calculators in.
 
I use AutoCAD to create my diagrams, print them to PDF and then open them up into Photoshop to crop, scale and size them accordingly.

Some of the diagrams are created interactively using SVG. For graphs I generally use a perl module called ChartDirector by ASE.

The PDF output for the reports is generated using Prince.

The online calculators are coded in Perl, with a mix of SVG, HTML, Javascript and whatever else I need to get the job done (ie. AutoLisp, KML etc...). I use Perl since it has such a huge library of modules available, it seems like someone has already done it before regardless of how seemingly bizarre the task.

My truss calculator needed some good tools to handle the matrix deocomposition for the matrix analysis I was programming into it. Sure enough there were a number of modules to pick and choose from. The only thing Perl is not particularily good at is interactive websites, for that I lean more towards javascript.

For the calculators that interact with the API or toolbox I also use MySQL as a database.

A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
I've been throwing a bunch of these calculators up on the website the last few days however some of them may be a bit rough around the edges. Any feedback on how or what to improve with any of them is greatly appreciated.

Most of these are geared toward the residential structural engineer.

The most recent is the diaphragm and sheathing calculator:



A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
Thanks for all the info. I really like the web based idea. Especially as a firm grows. It would make managing versions much easier. The company I currently work for uses mostly excel based design programs (heavy VBA dependance). While I'm comfortable with VBA im not much of a fan of programing in it. It also becomes messy when a spreadsheet is half VBA and half cell formulas IMO. I have a lot of matlab, then python experience but it was when I worked in research and a GUI wasn't ever really needed and the output was later made presentable by others. So much time can go into those two parts (user interface and final report generation) that I just usually stick with excel since you basically do it all at once.
Your pages have made me curious about the possibility of using python backends with a browser frontend. What I find even more interesting about this is that there are some great ways to use excel and python together these days. Im wondering if it would be possible to use excel/python for quickly developing and then eventually moving to a nice polished web app without doing a ton of re-writing. Anyway, just thinking out loud here I guess. I'm considering going out on my own which would mean developing a lot of new tools from scratch.
I shared your site with a colleague and he was impressed as I was. I will be sure to give you some feedback if we get much opportunity to use your calculators more.
 
I can't stand VBA, but that may just be my unfamiliarity with its syntax. I find Excel to be quite good for quickly pounding out a calculator. Like you suggested it takes care of the report and the GUI all in one easy step so it makes sense for most engineers who don't want to be bothered with coding GUI's or reports, time is money. The downside as you also mentioned is when it requires more complex algorithms or procedural code it can get cumbersome and unwieldy.

My first big project working with Excel was to write a spreadsheet that automatically created the reports and calcs for cranes on ocean vessels (oil exploration).

S11209002_01w.jpg


The amount of calculations involved and variables at play was ridiculous but the spreadsheet actually worked. For someone to get back into that spreadsheet and understand it would have been a nightmare. It took me nearly a month to create the spreadsheet, but in the end it could create a report in minutes what it used to take a couple of engineers an entire week worth of manual calcs.

I'm essentially doing what you are suggesting with Python, I'm running a Perl backend with an HTML frontend. I've also contemplated interacting with Excel but up until now flat text files have been just as easy and more robust for my applications. From what I understand Python is an excellent language for what you want to do and is very comparable to Perl and PHP. The problem with writing your own apps is a lot of time is spent on the interface and the report generation, so be prepared for that. However, once you have generated the code that creates your "templates" it does get easier. The important thing to remember is to try to keep things modular and reuse as much code as possible.

A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
I've had my C&C calculator for a few months now but it needed some cleaning up before I could post it.



This one is still very much a work in progress. I still need to add the domed, stepped, multi-span and sawtooth roofs as well as data for Fig. 30.4-2A and Fig. 30.4-5B.

I then need to add the open building roof types Fig. 30.8-1 thru 30.8-3.

Currently data and calculations are available for the following figures in ASCE 7-10:

Fig. 30.4-1
Fig. 30.4-2B
Fig. 30.4-2C
Fig. 30.4-5A

A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
Oh man, that sounds like a nightmare of a project.
I really appreciate all your input. Hopefully I will get some time to work on some of these ideas soon.
 
So since you are using Perl I'm assuming that they run on the server side rather than in the browser. Is this right?
 
Correct.

Perl is server side, javascript runs in the browser. The downside with javascript is anyone has access to your code.

A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
Gotcha. I guess unless you started getting huge amounts of traffic this would never be a problem.
One thing I forgot to mention was about how you lay out your pages in your spreadsheets horizontally. I don't know why but I always laid them out vertically which can really make formatting difficult if you want to adjust some cell widths. Im going to have to give that a shot. Not to mention that it makes more sense considering almost all monitors are wide screens these days.
 
With spreadsheets I actually got into the habit of laying them out horizontally based on spreadsheets from other engineers, actually have never gave this too much thought.

A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
I've been too busy lately with my local customers to work on some of these more interesting projects but I did manage to make a few minor updates to the truss designer which I feel has some real potential and has been garnering a good bit of attention from engineers involved in the residential solar panel installations:


A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
Today I added in the MWFRS wind load cases into the truss designer. These load cases are used to determine the max. horizontal reactions at the truss bearing points as well as the max. uplift, useful for sizing the hurricane ties between the trusses and the double top plate of the wall. Typically I don't see many cases that need anything in excess of your standard Simpson H1 but there have been cases with larger trusses where a H10 or H8 was required. It's very satisfying to compare the results against a Mitek output and get the same answer.

The MWFRS wind loads are calculated using the Envelope Procedure (ASCE 7-10, Chapter 28) Part 1. I could have used the more involved directional procedure (Chapter 27) but I noticed that most Mitek shop drawings show the Envelope Procedure so I followed suit. Most of the code for this addition to the truss calculator was borrowed from my existing wind load calculator so the programming was actually minimal and only required some minor tweaks to incorporate it into the main program.

A couple days previous I also added an algorithm for calculating the self weight of the truss based on the NDS values and the volume of steel from the plates. Interestingly the steel plates actually do account for about 5-6 lbs on your typical fink truss, more than I would have thought.

A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
I've added in the snow load analysis however the various load cases from this new module do not currently factor into the computed values of the members and plates, that will come later.

A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
I've added an attic truss option to the snow load calculator. This one was quite tedious to program and may still have a few bugs with it but it does save me alot of time when checking reactions of attic trusses.




A confused student is a good student.
Nathaniel P. Wilkerson, PE
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor