How I use Python in Structural Engineering

Поделиться
HTML-код
  • Опубликовано: 29 сен 2024
  • Find me on GitHub: github.com/con...
    handcalcs: github.com/con...
    forallpeople: github.com/con...
    Dr. Becky Smethurst: 5 ways I use code as an astrophysicist
    • 5 ways I use code as a...

Комментарии • 105

  • @flamethrower883
    @flamethrower883 2 года назад +5

    Your package is great. Although many software readily do this, being able to code this yourself in python makes the difference. As a learner, I really appreciate this.

    • @connorferster
      @connorferster  2 года назад +9

      Thanks so much, Paulo! Agreed, the individual capabilities are not the important part. The fact that these tools are free and open-source and that, using Python, you can fluidly weave them all together to suit your specific needs is the important part.
      I think it is important for engineers not to be locked in to using proprietary apps because we have limited control over them and they are not always correct. I think that computers are such an important tool in the engineering toolbox, it seems logical to me that we would want to have a certain amount of mastery of the tool.

  • @malanchini4516
    @malanchini4516 7 месяцев назад

    Great! I do my technical report using dash. But I'm getting exited to use these libraries. Thanks!

  • @LuisAvila151075
    @LuisAvila151075 2 года назад

    Great work!!! I am thinking of enrolling to you next course.

  • @charliearmour1628
    @charliearmour1628 6 дней назад

    Excellent, thank you.

  • @alexcondor2157
    @alexcondor2157 2 года назад +1

    This is awesome, I didn’t know those modules existed, I’m installing them as I type this comment. I’m a final civil engineering student (UG) and I use AI for construction cost estimation (Direct and Indirect Costs).

  • @NodesAutomations
    @NodesAutomations 2 года назад

    This is amazing thanks for sharing this. 🙂It's exciting to find more ways to implement automation to our structural engineering workflows.

  • @Crazy1793
    @Crazy1793 2 года назад +12

    Holy moly, all these packages has to be hands down my new favourite python libraries. I'm so glad that I've stumbled upon your video and channel!
    I'm getting excited to contribute to these libraries, especially handcalc

  • @AJ-et3vf
    @AJ-et3vf Год назад

    Great video. Thank you

  • @mohamedaminhamidi6585
    @mohamedaminhamidi6585 10 месяцев назад +1

    Hey guys🙂, I'm a first year civil engineering student. Could you please suggest me some key skills to lean in python. I can't like learn everything!

    • @mohamedaminhamidi6585
      @mohamedaminhamidi6585 10 месяцев назад

      Up

    • @connorferster
      @connorferster  10 месяцев назад

      Of course you can learn “everything”!
      Learning “everything” comes with time. However, you are right, learning literally everything is something no one can achieve. I heard that the creator of Python rates his own knowledge of Python as 8/10.
      That said, the first thing I always teach is writing functions. This gives your code structure. Try writing some simple calculation functions based on what you are learning in school. Then, naturally, you will be interested in learning how to make your functions do more things (like looping and making decisions with if/elif/else) and you will learn this easily.
      Focus on writing functions. The output of one function can be the input of another. One function can can have the sole purpose of calling all your other functions.
      Good luck!

  • @rodrigoherencia4507
    @rodrigoherencia4507 Год назад

    Hello Connor, is there a way we can use your library with pycharm for a desktop application?

  • @idreesrasa7890
    @idreesrasa7890 2 года назад +1

    HI SIR , FOR A STRUCTURAL ENGINEERING WHO DOESN'T KNOW ANYTHING ABOUT CODING OR PROGRAMMING, WHAT ARE YOUR SUGGESTIONS, HOW SHOULD WE START PROGRAMMING?

    • @connorferster
      @connorferster  2 года назад +11

      I can only recommend the way that I learned which is that I took a class. While in my 3rd year at the University of British Columbia, I enrolled in a Comp. Sci. course that was completely outside of my program (and I got no credit for) called, "Introduction to Systematic Program Design". It is taught in Python and is geared toward non-Comp. Sci. students to learn to write analysis programs in their own fields. It is an excellent course.
      I currently teach Python courses at my company but will be giving a "Python Course for Structural Engineers" with the Struct. Eng. Assoc. of British Columbia (SEABC). The course will be delivered online and is open to international engineers. The course will be in Sept. 2022 with registration opening somewhere in July/August
      Will be making a post about it closer to the registration date.

    • @alexhart15
      @alexhart15 2 года назад

      @@connorferster I would definitely sign up for that... Is it possible to take it remotely?

    • @connorferster
      @connorferster  2 года назад

      @@alexhart15 It is intended to be delivered remotely :) SEABC courses frequently have students who neither live in the region nor reside/work in Canada.

    • @Levius928
      @Levius928 2 года назад

      @@connorferster about how much would the course cost just to get an idea?

    • @connorferster
      @connorferster  2 года назад +2

      @@Levius928 The first course will be offered through the SEABC in the Sept 2022 term: seabc.ca/certificate-program/current-term/
      Registration will be open ~July/August. The SEABC courses are $650 CAD and are open to international students (SEABC membership not required).

  • @kuntalpcelebi2251
    @kuntalpcelebi2251 2 года назад +10

    I use it in a very similar fashion but I didn't know such libraries existed. I also add structural CAD drawings to my solutions, using ezdxf library in jypiter also text reporting for repetitive work. Anyways. Brilliant work. I will check your libraries more often. I am subbed. Please keep up the good work or create a course in udemmy :D

  • @Prodigalzson
    @Prodigalzson Год назад +3

    Handcalcs....I've never been sold on a library faster.

  • @f.c2130
    @f.c2130 2 года назад +9

    Hi ! Can you make a video on how to start learning python as a structural engineer ? How do make them more relevant/related in the engineering industry ?

    • @connorferster
      @connorferster  2 года назад +4

      Yep! I will be starting a whole new channel to explore this topic further :)

    • @2btns920
      @2btns920 2 года назад +1

      @@connorferster have you started your new channel? If yes, please share the link. Thank you

    • @matouspetrik
      @matouspetrik Год назад

      @@connorferster yes, if you started with new content related to that, share a link, thx

  • @IngJGonzalezZorrilla
    @IngJGonzalezZorrilla 7 месяцев назад

    Hi, nice content, is there any libraries of python that can help with details in dwg or IFC format? For example, draw a beam with reinforcement and export it to dwg. thanks

  • @johnovercash1798
    @johnovercash1798 7 месяцев назад

    I was not put in context. Not knowing where the files are you working on and so forth. But I am sure this is interesting for someone who know CTI file for example.
    For me was no clue where did you start.

  • @colincaprani
    @colincaprani 2 года назад +7

    Wonderful work Connor - you're trailblazing for our industry, and it desperately needs it!

  • @jimzwartveld
    @jimzwartveld Год назад +4

    That's a nice video that coincidentally popped-up in my feed Connor! Thank you for sharing! I tend to use handcalcs all the time and encourage my colleagues to do so as well. Happy to contribute in the future!

  • @alexeysapego585
    @alexeysapego585 Год назад

    Пошол устанавливать jupyterlab

  • @trippstreehouse
    @trippstreehouse 5 месяцев назад

    handcalcs is sexy. gonna be useful for my engineering degree.

  • @mikeborzoni2570
    @mikeborzoni2570 6 месяцев назад

    This is unbelievably powerful! Thank you so much! Is there a way of overwriting the units that are rendered? For example, I want 100 Pa shown as 0.1 kPa

    • @connorferster
      @connorferster  6 месяцев назад

      Glad you like it! Yep, for SI units (only), you can choose to set a prefix:
      p = 0.1 * kPa.prefix("k")

  • @gerardodacruz5188
    @gerardodacruz5188 Год назад +3

    Hei Connor, Thank you very much for both amazing video and handcalcs man. I am totally mindblown that not only you are a structural engineer, but you are only an expert in Python as well. I was wondering if you might be interested in making video regarding why and how did you learnt to the point that you could even contribute to Python community. Again, really appreciate it for your effort

  • @RickyTeachey
    @RickyTeachey 7 месяцев назад

    I haven't tried it yet but is there something special about the %%render magic that causes printing to html not to display input cells? Or does Jupyter turn off input cells anytime you print html?

    • @RickyTeachey
      @RickyTeachey 7 месяцев назад

      Ah nevermind I see it now- it went by so fast: there is a "no input" option when exporting to html. NICE.

  • @farmGits
    @farmGits 4 месяца назад

    This is awesome! I have much work to do

  • @darl6000
    @darl6000 4 месяца назад

    Why he is not makin videos 😭😭

  • @wh1ff78
    @wh1ff78 Год назад

    Hi Connor. I'm currently using handcalcs ver 1.6.5
    I'm not well versed in LaTeX.
    What should I change in these global configurations to get rendered calculations to be left aligned?
    import handcalcs.render
    handcalcs.set_option("math_environment_start", "aligned")
    handcalcs.set_option("math_environment_end", "aligned")

    • @connorferster
      @connorferster  Год назад

      It seems to be dependent on your renderer. When I use Mathjax rendering, it seems to be left-aligned by default. When I use the Katex plugin it seems to be centered automatically.

    • @wh1ff78
      @wh1ff78 Год назад

      ​@@connorferster
      I changed these :
      handcalcs.set_option("math_environment_start", "aligned")
      handcalcs.set_option("math_environment_end", "aligned")
      into "flalign*"
      And it seems to work well enough.
      But now I struggled to find how to export to html with nbconvert with Mathjax 3. For some reason even if try to change the cdn into Mathjax 3, nbconvert will still use Mathjax 2.7.7 🥲

  • @tarond57
    @tarond57 2 года назад +1

    Where did you learn to code like that ? I'd like to learn as well, but find it difficult to fit in my schedule with overtime.

  • @roquetrinidad5318
    @roquetrinidad5318 Год назад +1

    Terrific job!, thanks for sharing the knowledge with all the community. I would like to deep more and using more python in my daily job! Thanks for encouraging all of us. 💪

  • @harikumarv4658
    @harikumarv4658 2 года назад +2

    Very insightful video. Thank you very much for taking time to do basic demonstrations. I follow Dr Becky as well and had watched her video on how she uses python in astronomy. I can't wait for the course you will be putting up! Thanks a ton.

  • @GeoteknikIndonesia
    @GeoteknikIndonesia Год назад

    Hello sir. thanks for great forallpeople and handcalcs. youre a legend. I have a question, I cant create kN/m (e.g. for line load application), it is always converted to joule. any suggestion ? thanks sir

  • @MrWebon
    @MrWebon 3 месяца назад

    Do more videos

  • @Sam-hd7ty
    @Sam-hd7ty 4 месяца назад

    I am a student doing my final year project for tunnel analysis visualization and generating defects reports by editing python codes. I have always been so tired of doing manual calculations for my school work. I seriously need to learn programming to work more efficiently. Thanks a lot for inspiration.

  • @jandomeracki1472
    @jandomeracki1472 Год назад

    Hi Connor. I see You use Bluebeam Revu. I wander if there is a way to automate certain boring and repeatable tasks in said programme (eg. updating titleblocks etc.)? Thanks!

  • @MrBauer007
    @MrBauer007 2 года назад +1

    There are engineers, And then there are engineer's engineers. This is super cool stuff!

  • @MengLim
    @MengLim Год назад

    Hi Conor, Thank you very much for this sharing. I also did some research with python but after revit come up. I have switch to use dynamo for Revit/BIM, Structure Archi and also MEP. Anyway whatever we can learn is our benefit. Let share it to each other.

  • @MWaleedMirza
    @MWaleedMirza 2 года назад +1

    Great video. Please keep them coming!!

  • @duetboiduetboi4834
    @duetboiduetboi4834 2 года назад +1

    Waiting for the new channel.

  • @taringachum5234
    @taringachum5234 2 года назад

    Sir, I am pursuing a M.tech in structural engineering and my topic of desertation in final thesis is on designing structure by using phython programme please help me how to call match and string language on phython.

  • @swopnilojha4619
    @swopnilojha4619 Год назад

    Wonderful library. It would be great if we could render one dimension vectors along with their units. I have been doing that in mathcad express using the range variable.

  • @kunle009
    @kunle009 2 года назад +6

    Nice work Sir. I am a student and currently implementing the direct stiffness method in Python. Any advice for me. As I would love to go deeper into the more complex stuffs like working with API's

  • @structureexpert7985
    @structureexpert7985 2 года назад

    thank you. Please upload more video.

  • @robbie_vanleeuwen
    @robbie_vanleeuwen 2 года назад +1

    Great video Connor! Looking forward to seeing more :)

  • @alexhart15
    @alexhart15 2 года назад +1

    I'm very interested in learning this... I'm tired of using free Mathcad without if statements. A follow up video with some sources would be nice!

    • @connorferster
      @connorferster  2 года назад

      I have heard people say things like, “MathCAD is free.” without realizing that it is very much not. While handcalcs has a lot more room to grow, it is going to start needing new ideas from the other folks who use it everyday. Would love to hear your ideas.

    • @alexhart15
      @alexhart15 2 года назад

      @@connorferster Sorry if I wasn't clear, MathCAD Express is the free version but its very limited (no if statements, limited graphical representation, many complex tools are locked, etc.). This looks like it has a lot more functionality.

    • @connorferster
      @connorferster  2 года назад +2

      @@alexhart15 All good :) I did understand you but even the “free version” is not particularly “free”: it is intentionally limited, does not give rights for distribution and modification, and does not come with source code.
      Thank you for the compliments! They are appreciated.

  • @arunprasadr3235
    @arunprasadr3235 2 года назад

    Great video Sir !!
    Thanks for sharing your knowledge with us.
    Hope to look for more similar videos.
    Please tell me if any advanced courses available in online related to structural engineering.

  • @napan1354
    @napan1354 2 года назад +1

    two thumbs up

  • @ty_au8851
    @ty_au8851 2 года назад

    Is there a way to print the handcalcs onto an existing PDF template?

  • @anthonydavythompsonstevens4297
    @anthonydavythompsonstevens4297 2 года назад +1

    ❤❤❤👍👍👍

  • @cleisonarmandomanriqueagui7502
    @cleisonarmandomanriqueagui7502 2 года назад

    This is definitely amazing ... Thanks for sharing

  • @NTC
    @NTC 2 года назад

    You made my day! Thanks for making such a great inspiring video!

  • @petarbabic9409
    @petarbabic9409 2 года назад

    Excellent video Connor! You have lit my passion for python and jupyter! I am a Mechanical Engineer and I can't wait to write scripts which will generate reports and certain calculations for me.

  • @geostructureacademy
    @geostructureacademy 2 года назад

    Wonderful! I am impressed.

  • @croniky
    @croniky Год назад

    That hand calc render library is sweet.

  • @normansabin8322
    @normansabin8322 Год назад

    Bro you literally coded exactly as it made sense in your head. Even if that was a voiceover, it was SO smooth.

    • @connorferster
      @connorferster  Год назад

      Lol , it took several rehearsals. Not like that irl :)

  • @pariskhan
    @pariskhan 9 месяцев назад

    you are a true genius.

  • @alexcondor2157
    @alexcondor2157 2 года назад

    What name should we pass to pip in order for us to install the “concrete_reports” module?

    • @connorferster
      @connorferster  2 года назад +1

      It is not on PyPI so you would have to write it yourself. However, I can tell that it is built on tabula-py, which extracts tabular data from PDFs and returns it as a pandas DataFrame. Once you have that running, try reading a report from on if your testing providers with tabula-py to see what the resulting df looks like. Finally, write a function to extract the data you need from the cells of the df. Because each company’s reports have different formatting, you really do need to write your own for the reports you receive.

  • @klchen2493
    @klchen2493 2 года назад

    thx, you broaden my horizon

  • @p.piseth2756
    @p.piseth2756 2 года назад

    Great video!!, I have one question though. Since there are many IDE or code writer for python such as Spyder which we can check variables value while running the scripts, why do you choose to use Jupiter for your work ? Looking forward to see a video for which best IDE for structural engineering..

    • @connorferster
      @connorferster  2 года назад +2

      Thanks! When I first started running Python code, I was using Spyder. It’s very good.
      As I become more familiar with Jupyter, I appreciated its cell-based approach. It allows me to write formatted notebooks with code with all of the rich output right there in the notebook available for me to export to HTML or PDF.
      When I start working on a library or module, I often start in Jupyter and test out concepts. Once I have something figured out, I switch to VS Code and create a proper Python module to build off of.
      I find that Spyder’s “Run” command encourages development of less structured code. In essence, it treats a whole .py file as one cell of a notebook: one big input leading to one big output creating a single, monolithic stand-alone module/program (similar to how I was taught Matlab code).
      I think of my code as having two parts: 1) the module or package I am creating (which is not executable) and 2) the notebook where I utilize the module and execute the specific task I am performing. I find Jupyter is a very rich and flexible environment to execute tasks large and small and, with ipykernel, I can open a notebook and have it launch from any of my module-specific conda environments.

    • @p.piseth2756
      @p.piseth2756 2 года назад

      Thank @connor,. I was doing some code with Matlab and VBA for my calculation. However, since the licence for individual use is not affordable anymore with Matlab, I have just started with Python. I am just new with it here, and feel confuse which those IDE and don't know which one is best use. I hope to understand and learn more about it.. Keep good work sir, Hope to see more updated video about this topic. Thank again.

  • @jobbcarter8615
    @jobbcarter8615 2 года назад

    hello connor, how can i contact you? im a civil engineering student in Ghana, and i will need your help.

    • @connorferster
      @connorferster  2 года назад

      Try finding me on LinkedIn: Connor Ferster. Happy to help where I can :)

  • @jukti3742
    @jukti3742 2 года назад

    Hi. First thanks a lot for all the good work you have done. I am using both of your python module forallpeople and handcalcs in one of my project. I has a situation thats requires some help from you. While using forallpeople, i need an output in one certain unit. But the auto-prefixing feature doesn't allow that. It will be very helpful if kindly let me know, how to print the result of a mathematical expression in user defined unit. For ex in KN only, not in N or MN etc, whatever may be the value of the result is.

    • @connorferster
      @connorferster  2 года назад

      This sounds like an issue with forallpeople. Could you open an issue on GitHub with an example and I will advise and fix it if required. Thanks!

    • @jukti3742
      @jukti3742 2 года назад +1

      @@connorferster aye. sure

  • @KHR1233
    @KHR1233 2 года назад

    amazing love the content.

  • @poornakadharmasena7714
    @poornakadharmasena7714 Год назад

    Hi there, this is amazing. Can this be used in Colab?

    • @connorferster
      @connorferster  Год назад

      I believe so, yeah? Google Colab is essentially the same as a Jupyter notebook, correct?

  • @PanosKoinis
    @PanosKoinis Год назад

    I use html in a similar way to create all my worksheets.

    • @connorferster
      @connorferster  Год назад

      Do you have any examples anywhere? Would love to see!

  • @Timiscool1321
    @Timiscool1321 2 года назад

    Great video

  • @kytddjj
    @kytddjj 2 года назад

    .

  • @nascentnaga
    @nascentnaga 2 года назад

    you're amazing FYI

  • @PaulGrosvenor1
    @PaulGrosvenor1 2 года назад

    As a structural engineer I'd love to use python more similar to what you show however I always find I need to draw lots of sketches in my calcs. So end up typing most as manual calcs in bluebeam so I can easily add diagrams and sketches.

    • @connorferster
      @connorferster  2 года назад

      Yes! Same here! Have been exploring ways of combining these two things…

    • @nascentnaga
      @nascentnaga Год назад

      @@connorferster I use the Concepts App to draw in vector and just add those images to a markdown cell.

    • @connorferster
      @connorferster  Год назад

      @@nascentnaga Do you paste screenshots from Concept or are you exporting vector and displaying the vector image?

    • @nascentnaga
      @nascentnaga Год назад +1

      @@connorferster if I'm using vector, I export to dxf with concepts natively. If I'm doing a one off calc, then png with some html to input the image in the calc sheet.
      Given you can export dxfs you can probably play with section properties I reckon

    • @connorferster
      @connorferster  Год назад +1

      @@nascentnaga I think I have to spend more time with Concepts!

  • @abdolkarimmehrparvar6583
    @abdolkarimmehrparvar6583 2 года назад +1

    WOW, actually this is the best source of python application in civil engineering I've found on RUclips, please provide more video and a bit in depth

  • @PeterRanieriII
    @PeterRanieriII Год назад

    I dont know man, it's cool that you know how to do all this but isn't this sort of reinventing the wheel? software has come a long way in our field, just be adaptable to the software thats out there, its faster

  • @harryhamblin3729
    @harryhamblin3729 2 года назад

    Impressive! And well-presented.