Learning Python for Architecture
Hello everyone,
I would like to know if you have any recommendations on how to learn python for architecture. I've been studying python for a few months, watched a few begginers tutorials, played around with processing.py and the Blender API, all of this in a begginers level. I am struggling right now to find out what would be the next steps so I can develop my skills in a intermediate level. My main focus would be to use python on software and add-ons development for architecture and be able to contribute with the OSArch community with some coding as well. Any suggestions? Thanks
Comments
Welcome to OSArch, @bruno_perdigao ! I'd highly recommend https://wiki.osarch.org/index.php?title=IfcOpenShell_code_examples
Get familiar with your tool of choice (Blender, FreeCAD, Code_Aster, etc), and then find a shortcoming, and let's fix it! We are available to guide you through the process of learning the codebase and how to make tweaks.
Maybe you want to have a look on FreeCAD and the Powers Users Hub
https://wiki.freecadweb.org/Power_users_hub
(I am in the same boat learning python just recently)
Me too beginner, and have made a few fixes and small improvements to FreeCAD Arch / Draft Workbench !
Can made your desirable feature on your own !
@Moult currently does IfcOpenShell support the whole IFC4x3TC1? and its Psets and Qtos?
How can I have a list of all types, and entities { explicit, derived, inverse }?
https://standards.buildingsmart.org/IFC/DEV/IFC4_3/RC1/EXPRESS/IFC4x3_RC1.exp
For instance:
IfcRoot = [[GlobalId : IfcGloballyUniqueId], [OwnerHistory : OPTIONAL IfcOwnerHistory], [Name : OPTIONAL IfcLabel], [Description : OPTIONAL IfcText]]
IfcBoxAlignment = IfcLabel ['top-left', 'top-middle', 'top-right', 'middle-left', 'center', 'middle-right', 'bottom-left', 'bottom-middle', 'bottom-right']
Or something like that?
https://sevenstrokes.net/learn-how-write-good-code
this article by @Moult helped me to get started with writing code in general ;)
I had lot of fun in the last 2 years with coding in freecad (got quite addicted quite fast) :)
Thanks, guys! I’ll take a look at your suggestions
@ReD_CoDE yes, it is supported. Parsing the EXP yourself is one way to get the full list.
@Moult like first days, I'm thinking about mapping IFC schema/spect to SQLite: https://github.com/IfcSharp/IfcSharpLibrary/issues/3
But I think it'd be good if we map it to JSON too (Ifc2JSON somewhat developed based on this goal, but it's focused on Ifc file, not IFC schema)
I shared a test file and the requirements at the above link
Hello.. please I am a newbie in the field of OpenBIM, Python in Architecture etc. I really would like to learn and apply OpenBIM and python in manipulation of Building Energy modeling. Please I need guidance on the basic steps I could take (if possible I would need recommendations for courses that could help me achieve this well).
@polsonmila g'day! Have you tried following the tutorial here? https://wiki.osarch.org/index.php?title=IfcOpenShell_code_examples
@Moult Yes I have. I have started learning Python and I am using the FreeCAD manual to learn.
Hi @polsonmila, I'm still on my path to learn more about this, but I can tell you some of the things that helped me in the very beginning.
If you are very new to computer science I recommend the CS50 course: https://cs50.harvard.edu/college/2020/fall/
I learned the python basics in a Coursera course in portuguese, but I guess that there are a lot of good options in Coursera and EdX.
Another good option is to learn Python with Processing, because it gets a bit more practical and relatable with computer graphics. I recommend this: https://tabreturn.github.io/code/processing/python/2018/06/12/processing.py_in_ten_lessons-1.1-_intro_to_processing.html
You can also use Blender to practice some Python skills:
As I said, I am a beginner myself, so I don't know if this is the right path, but these are some of the things that worked for me. Hope it helps!
@polsonmila Regarding OpenBIM I guess the best way is to read the wiki about IFC: https://wiki.osarch.org/index.php?title=Industry_Foundation_Classes_(IFC)
If you are more visual minded, this add-on is a nice way to script with nodes: https://gumroad.com/l/serpens-b3d
@bruno_perdigao thank you for the advice
https://github.com/curtisjamesholt/EasyBPY