-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add an interface with IFC structural analysis model. #22
Comments
I have collected some informations and a few example files in this regard on https://github.com/berndhahnebach/Ifc_StructuralAnalysisView . Have you started some development in this regard already? |
This comment has been minimized.
This comment has been minimized.
Ana you may posted this in the wrong issue. This is about ifc structural analysis view. Have you done any development in the regard of ifc structural analysis view already? I may have an interesting project in this regard where xc could be very very useful. bernd |
We have talked a lot, but we have not done anything yet. We are very interested, but we thought that we'll need to extend the collaborator network to develop that. Luis. |
What where your conclusions? Develop an importer in C++ based on one of the opensource libraries around (for example ifcquery or ifcopenshell) or develop in Python based on IfcOpenShell or something totaly different? As I have written, I'm involved in a project we gone try to do a proof of concept (POC) ot parametrically connect geometry to analysis. I will get mid faces and lines and load faces. The idea ist to connect this with XC. Thus I'm really interested in XC from project point of view ATM. The idea was to tranfer geometry with IFC structural analysis view. I have some experience with the IfcOpenShell Python API since Iuse the API inside FreeCAD quite a lot. BTW: Personally I'm interested in the whole project XC, since it is a structural analysis software not for university but for engineers like me too :-) and of course because it uses Python and Python is just great! bernd |
As Luis wrote, we have not done any IFC development. The conversations he refers to date back a few months ago, when we were contacted by a software company that kindly invited us to include XC in a BIM server so that the program would gain in visibility. I think, therefore, that it would be up to you to lead the project you are talking about and tell us where you would need our help. Ana |
thanks for the information. OK I may give it a try. But it will be in Python based on IfcOpenShell. ATM I'm sturggeling to understand the geometry definition of XC ... https://github.com/anaiortega/XCmodels/blob/master/workingModel/model_gen.py#L26-L174 and to get some data out of XC see #33 (ATM my main interest is geometry or if this is not possible the mesh.) bernd |
It seems to me it's OK. About your previous question (geometry definition in workingmodel script): In XC you can do direct generation of the mesh (nodes, elements, ...) or generate geometry (points, lines, surfaces, volumes, ...) and mesh automatically. The way it's done in the workingmodel script is the second one, but using some functions that camouflage a little the geometry generation. It's constructed by making a grid of hot points (defined by coordinates in lists xList, yList, zList) that we are going to use lately to generate lines, surfaces , ... The way we will refer to one of this points is by calling the index (i,j,k) that its (x,y,z) coordinates occupy in those lists. Sets of points are also selected by defining a range of index ((i_min,j_mim,k_min),(i_max,j_max,k_max)) that point to their ((x_min,y_mim,z_min),(x_max,y_max,z_max)) coordinates. It is just one way to do it, the user can choose the one that suits him best. In any case, ideally you should group the entities in sets that contain geometric stuff (surfaces, lines, points) and its attached nodes and elements. In this script we have many of them: beamX, beamY, columnZ, foot, wall, decks, ... You can have access to those elements by iterating in the corresponding get method. For example: Anallogously there exists methods getLines, getNodes, getElements, ... Ana |
got it. The only one left ATM for me is #33 |
is it possible to display the geometry group entries of workingModel without a fem mesh in a openGL window or to export them somehow tot dxf or whatever format? |
The geometry (points, lines surfaces...) is displayed by display_blocks.py... |
Wrong button. Sorry. |
I can not find any display_blocks.py in anas examples? |
Hi, I know this is an old issue, but I want to know what is going in this regard? Thanks |
I'm working on it. I think I'll have some experimental models in the next weeks. |
I am very interested in. CSI ETABS has capability to export model in IFC format. |
Hi. I've added two tiny tests here that use FreeCAD to import block topology entities (points and surfaces for the moment). |
Thanks, @lcpt. I will look them soon. How did you make two FreeCAD files? Directly in FreeCAD or importing the IFC files to FreeCAD? |
I've created the files in FreeCAD with the sole purpose of testing reading IFC metadata. It's only a beginning. |
Thanks, @lcpt. What is your opinion about to use ifcopenshell for reading the data? This way we can make the IFC file in whatever software that support IFC export. |
If we use directly ifcopenshell to import the data, we have no opportunity to modify/adapt the model if needed. Using FreeCAD (that uses ifcopenshell too) you can export the IFC using whatever software you want, then import it to FreeCAD and then, use the FreeCAD module to import the model geometry into XC (as is or modified at your will). I think the second approach is better. |
I said this for 2 reason: |
Well... The development of XC is driven by our own needs as a small structural engineering practice. We can't afford to develop things that we can't use in our daily work. Moreover, our resources are limited, so we need to reuse already existing developments as much as possible. That being said, we are delighted to share our work with the structural engineering community and to encourage others to modify or enhance our tools to fit their needs. Apart from that, the use of a FreeCAD model allow us to introduce a workaround if needed (IfcStructuralAnalysisModel is not perfect). About the reasons you mention in your comment:
|
Thanks, @lcpt. I said this because FreeCAD internally use ifcopenshell for importing and exporting to IFC. I am comfortable with FreeCAD, but I said this for future development that may be involved more developer. |
It is fantastic. Thank you so much. |
Hi @berndhahnebach , @lcpt. |
Hi @ebrahimraeyat. Not much :(. You can find an example that uses some IFC features through FreeCAD here. |
@yorikvanhavre is extensively works on IFC in FreeCAD. it is very exciting. Is there any structural references for IFC? I am very interested on it. |
Yes, there is an extensive structure in IFC for structural, "wireframe" elements.. you can define members, nodes, and if I remember well even load situations. http://standards.buildingsmart.org/IFC/DEV/IFC4_2/FINAL/HTML/schema/ifcstructuralanalysisdomain/lexical/ifcstructuralanalysismodel.htm |
Thanks, I will look them. |
The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connecting members, the connection properties, as well as loads and the respective load results.
For a general description of BIM implications in structural analysis see: http://projekter.aau.dk/projekter/files/32688467/structural-modelling-and-analysis-using-bim-tools.pdf
Form a description of the IFC structural analysis model see: http://www.buildingsmart-tech.org/ifc/IFC2x3/TC1/html/ifcstructuralanalysisdomain/lexical/ifcstructuralanalysismodel.htm
The text was updated successfully, but these errors were encountered: