IFC for steel connection modelling
Hi everyone.
We are developing some Python tools to automate the creation of 3D finite element models (using CBFEM to make meshing easier) in XC.
We have a decent solution for creating the finite element mesh from the block topology information (the points, lines and surfaces that define the domain to mesh like in Ansys or in Gmsh) but we are reinventing the wheel with the code that generates those blocks: we are using a quite dirty solution to express things like: this weld connects gusset plate A with column B top flange or this hole belongs to the plate C.
I imagine that IFC has already mechanisms to express the geometry of the different elements and the relationships between them. Could you point us to the right documents or examples we can use to understand how to do this?
Comments
Hi @Luis, very interesting work. Not sure if I can help, if I understand well you are using the structural (3D) elements in IFC and not the structural analysis (analytical) elements, in order to extract the geometries of your components. I would think that the connectivity relationships would be in
IfcRelConnects
classes and more specifically inIfcRelConnectsElements
. You can see the documentation of these for IFC4/ADD2_TC1 here.Note you have to select 5.1.3.35 for IfcRelConnects and 5.4.3.30 for IfcRelConnectsElements from the list on the left (no direct link possible)
@Luis You can see and interact with IFC 4x3 TC1 here:
https://drive.google.com/file/d/1tQqnGO-opuHjuTtAyoUADOzhvsCdaUK-/view
Also, if you have a plan to parse IFC into SQLite, then let me know, we're planning to write a parser for SQLite and SQL (MySQL)
Hi @Luis , hopefully this example in the buildingSMART documentation helps: https://standards.buildingsmart.org/IFC/DEV/IFC4_2/FINAL/HTML/link/structural-curve-member.htm - at the top of the page, you can find the example in STEP which demonstrates how to actually represent the analytical model: https://standards.buildingsmart.org/IFC/DEV/IFC4_2/FINAL/HTML/annex/annex-e/structural-curve-member.ifc.htm
Hi @Jesusbill thanks for the information. Yes the idea is to use a 3D representation of the connection that could be transformed into a finite element model. I've found this IFC file that could be used to explore the possibilities.
Hi @ReD_CoDE. If I understand well your idea is to store the model in an SQL database storing the relationships between objects using SQL mechanisms, right?
Thanks @Moult.
If I'm not wrong, those examples show the analytical representation of the joint (pinned, fixed, ...). In our case the idea is to create a simplified model of the connection itself (with its plates, welds, bolts etc.) that can be "easily" converted into a finite element model (also a simplified model using CBFEM).
Yes, based on SQL databases, and also isogeometric analysis (IGA)
If you want to say some IFC servers are based on SQL, I have to say that, I don't talk about such approaches
Wow!, I knew nothing about isogeometric analysis.
@Luis please check this out:
@Luis I cannot open the ifc file that you provided, neither in BlenderBIM nor with view.ifcopenshell.com
@Jesusbill and @Luis thanks for bringing attention to that file. This commit fixes it: https://github.com/IfcOpenShell/IfcOpenShell/commit/6fd5f8d8c74dfe210bf42f6013abf9d12d40b9a9
See screenshot of imported file in the BlenderBIM Add-on: