Profile Section Libraries for Structural Engineering and beyond!
This discussion was created from comments split from: Integration of Code_Aster in an IFC-driven workflow for structural analysis.
Tagged:
Comments
@Jesusbill talking about profiles library, there is a .xls file with most common profiles data used in Italy (and maybe in europe).
It's delivered with a simple software, called "profili", downloadable for free here
https://gelfi.unibs.it/software/programmi_studenti.html
If you want directly the .xls, i can send you the file.
@Massimo thanks for the indication. I have an existing table of steel profiles, but this looks more extensive and can be useful also to double check some of the data.
Some relevant context from previous posts:
@Jesusbill wrote:
@jchkoch wrote:
@Jesusbill glad that it could be useful, also for double check.
I will update this thread once I have created the repository with the first preliminary files
This is what I have been used in FreeCAD for years. It could be adapted to any CAD, FEM whatever software ... https://github.com/boltsparts/BOLTS
There is a FreeCAD-AddOn available: https://github.com/boltsparts/BOLTSFC Here are the parts: https://www.bolts-library.org/en/parts/index.html the real data is saved in yaml files. See https://github.com/boltsparts/BOLTSFC/tree/master/BOLTS/data
What is the best way to share lists of resources for standard components stored in open formats? Do we need another directory?
https://wiki.osarch.org/index.php?title=Category:Directories
We have a quite extense list @ FreeCAD too: https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Arch/Presets/profiles.csv but i'd be more than happy to adapt this to use a more generic and agnostic system
Thanks @bernd and @yorik . BOLTS looks interesting, I have to study it.
I would be looking to have more enriched information for each profile; not just shape geometry but also moments of inertia, section moduli, torsion modulus, geometric/shear centre for non symmetric cases, etc., information that has already its placeholders in the ifc schema, too.
So that this information can be directly used in a structural analysis with beam elements for example.
I certainly don't want to reinvent the wheel and prefer to go with the flow if suitable.
I guess the existing libraries of profiles in BOLTS could eventually be enriched. What would you think @bernd ?
Then, we can create also the Ifc Project Library files to use within ifc-specific environments.
This sounds like it could be a use-case for material passports attached to some kind of standard geometry library ...
@duncan : I am not really aware of the concept of material passports, can you expand on this?
For what it's worth, here's a library of profiles OpeningDesign started as well: https://github.com/OpeningDesign/BIM_Profiles
Mostly Revit profiles, however.
Would love to find an agnostic approach as well.
An enriched BOLTS with BOLTS2IFC would be amazing!
@Jesusbill take a look at this thread https://community.osarch.org/discussion/471/open-standard-for-renovation-disassembly
Basically it's a way of describing products/materials. I expect there are options for specifying mechanical properties - I have not yet had time to dig into the details but the most promising project seems to be https://www.bamb2020.eu/topics/materials-passports/ & a commercial(?) implementation at https://madaster.com/
A data structure that included all (also optional) information would be ideal. There is also a commercial proposition in running a centralized database of object data. Maybe we could develop and host such a database and have manufacturers sponsor it. There are probably commercial competitors to that idea - but I don't know of any. If they did exist I would have thought there would be an API somewhere to fetch the data into Revit & other authoring software. Tekla are quite open to openstandard, maybe they have some good libraries?
Here are two links I got from my colleagues
I also learned that Tekla uses a profdb.bin file for profiles. These can be imported/exported from/to txt files (presumably .csv). It is apparently also trivial to make new profiles for Tekla from DWG files.
FYI I believe (I'm not a structural guy!) Australian steel profiles are published by the Australian Steel Institute. I'll see if I can dig up some tables so that it can be added to BOLTS :)
You can find a large library of steel sections in StruPy.
https://pypi.org/project/strupy/
But I believe I did see some inconsistent data about geometric properties in there, surface and section need to be converted to the right unit for some section types.
And then there are the different labels that you see used for the same thing (HEA300, HE 300 A, UPN, UNP, ...)
Thanks @Mainx seems like a good resource with American sections as well
Just resurrecting this thread, @Jesusbill would you be able to judge between strupy and BOLTS (from a technical correctness sense and a license sense) which would be most promising to write a "ToIFC" converter? With the slowly maturing authoring tools, having a profile library is super useful.
@Moult yes will do that and report within the next days.
@Moult so I had a look at BOLTS and strupy but I also found StructPy
I have to say that the US profile library looks quite complete with about 2000 entries, the European profile library in BOLTS maybe covers a bit less although I did not go through all the files and I am not very aware of the yaml format which is a bit of problem on my side to handle this data. But from data I already have and some other found from sources given in this thread I think that also the European profile library can be enriched and built to very good specs.
I am wondering though if the preferred way would be to create a new repo as a Database, that could be under OSArch organization for example, where we combine profiles from all over the world with properties for geometry and structural engineering as well. I feel including both European and US profiles to start with would be a good thing. Another feature I feel it would be important would be to have a uuid for each profile, that could be given in the ifc properties, similar to what @Cyril did in materialdb if I am not mistaken.
Once attributed, these uuids would never change for each profile and we can have a versioning system to indicate a new version of the same profile in case of changes with a new uuid. In that way we can start creating a DB that will be a general global reference for our applications, and which could also be implemented later to a web API.
And the same thing could be done for a material DB for structural engineering, starting with general steel, concrete, timber, etc properties.
Always with a uuid for each entry that does not change. So that if I have the uuid I can get all the related properties at any time.
What do you think about this? If you think it is a good idea I can start working on it and have a draft in relatively short time.
If instead you prefer to go with the flow, then I think both BOLTS and strupy have needed material to start with and the licenses I think are ok.
A database sounds amazing! Would that be only structural profiles or could that also be moldings? Alu profiles? Concrete profiles? In my country company's like https://www.vebo.nl/producten/ produce products used in almost every single building. For Revit we already have the most common profiles in a template file. Having these profiles in a database and directly inside BlenderBIM could be useful! There are so many products that are profile/line based. Being able to easily draw them inside blender is a great start.
I think the biggest problem would be organisation of the profiles. How do you categorize them? By usage, by company, by county, by Material? It would be ideaal if company's them self add the profiles/products to the database. So they could link to the database instead of hosting the files them self.
@Meetlat I had in mind mainly profiles for structural members based on the needs I encounter. I guess aluminum profiles could be also added and profiles without a structural purpose could clearly have only related geometric properties. I am not sure to what you refer by moldings, whereas concrete profiles are typically easily defined through user-defined parameters. I do not see for example the need to create a library for rectangular or circular concrete sections, it wouldn't make sense I believe. For steel or other standardized more complex profiles it does make sense, though.
For the categorization I would think: by material and then by region and then by company, if applicable. I would think that we should be responsible for creating the entries and where company products are applicable we could also create templates and ask from them to fill them.
@Moult sorry I see now that I completely missed this strupy repo that was provided by @Mainx previously.
This is also GPL and contains European, British and American profiles in xml format with structural engineering properties. If we are looking for a single repo to work on a "ToIFC" converter, I think this would be the most applicable.
Regarding the "desired" license of a potential new library, what would that be in your opinion (for anyone reading this). I am inclined towards a permissive license, that could even be MIT or LGPL, for such content that has low level of intellectual work so that more people are inclined to use and adopt it
I have a very poor understanding of the best way to categorise these, so I defer to you @Jesusbill on the best way to get started, whether we could contribute to an existing project, or whether starting a new repository is the way to go. As a principle, I try to contribute to existing initiatives as much as possible instead of starting new ones. Maybe we could ping the BOLTS / strupy contributors and ask whether they simply want to combine knowledge into a single more comprehensive project, and we could aid with generating IDs, IFC mapping, and also vetting content? Creating asset repositories is a huge amount of work.
I will also reach out to buildingSMART to see if they have an initiative related to this.
I somehow missed this post.
BOLTS is great. The original author has left the project. I did not want to let it die, thus I do maintain it and try to fix bugs and add new sections. But since I do maintain other projects too (mainly FreeCAD FEM) I just do not had the time range to improve BOLTS. It is a pitty the idea behind in great.
I am totally with you in the regard of further infomation like moments of inertia, section modulli ... We just need to be careful if material data is introduced like it is needed for plastic moments etc.
If you would help with BOLTS it would be great ...
Geometry in FreeCAD is created on the fly in python and the data is separated from the code. BOLTS can be connected to any CAD with python interface. I have set up an experimental one for NemetschekAllplan. There are two which works ATM very well, one for FreeCAD and one for OpenSCAD. A connector for BlenderBIM would be cool.
Or the idea you had with IFC ...
We may make a separat new topic just for BOLTS?
cheers bernd
Hi @bernd yes I would like to contribute to BOLTS to extend profile data with other properties that we can then use for IFC project libraries.
I can work on the I Profiles to start with like HEA/HEB/... and IPE profiles and share the list of additional properties to consider in the pure data table, which I feel it would be nice to have it also in a CSV format.
@Moult : thanks for support and advice, I'd say it is better to join forces and figure out the rest on the way :)
@Jesusbill
great news. If you have any questions ask come up here. IMHO it is simpler than on github. If there are more people it will for sure motivate myself to do more on BOLTS too.
cheers bernd
Would you like to be able to get data as csv out of BOLTS or would you like to use csv to get data into BOLTS?
@bernd I don't know much about this, but I think the CSV formats are much nicer to display and edit than yaml :) But maybe not as "rich" structurally so I'm looking at it very superficially.
@bernd I have done some work on the I beams, have a look at these commits
What I did was:
But when I update the blt/yaml file and attempt to write it back I get something much more ugly compared to the existing document and all the comments are lost, is there a specific way you prepare this file?