Open lcpt opened 8 years ago
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?
These articles deal with several verification tests included in the verif directory, but not exactly a tutorial:
Interaction diagrams (tests: test_diag_interaccion01.py to test_diag_interaccion06.py, interaction_diagram_mayavi.py) http://www.xcengineering.xyz/blog_doc/2016_interact_diag/interactionDiagram.pdf
Tension stiffening (tests: test_concrete02_02, test_smearedCracking_01.py to test_smearedCracking_06.py) http://www.xcengineering.xyz/blog_doc/2017_tens_stiff/XCtensionStiffening.pdf
Building according to Eurocode (https://github.com/anaiortega/XCmodels/tree/master/buildingEC2 , probably outdated) http://www.xcengineering.xyz/blog_doc/2017_EC2building/EC2Building.pdf
Vibrating string (test: test_string_under_tension.py)
http://www.xcengineering.xyz/blog_doc/2017_vibr_string/modes_vibrating_string_tension.pdf
Prestressing (tests: test_layout3D_frictLoss_prestress_tendon.py, test_anchorageLoss_prestress_tendon_01.py, test_loss_prestress_units_01.py, test_anchorageLoss_prestress_tendon_03.py, test_layout2D_frictLoss_prestress_tendon.py, test_anchorageLoss_prestress_tendon_04.py, test_anchorageLoss_prestress_tendon_02.py, prestressed_concrete_section_02.py, prestressed_concrete_section_01.py) http://www.xcengineering.xyz/blog_doc//2018_prestressing_partI/XC_prestressing.pdf
Tensegrity (https://github.com/anaiortega/XCmodels/tree/master/tensegrity_prisms) http://www.xcengineering.xyz/blog_doc/2017_tensegrity/XC_tensegrity_models.pdf
On 03/10/18 07:44, Bernd Hahnebach wrote:
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?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/lcpt/xc/issues/22#issuecomment-426518355, or mute the thread https://github.com/notifications/unsubscribe-auth/AMRucQ-baiFTTecCLp8Key8R3757_fCuks5uhE7UgaJpZM4H0nU0.
--
Ana Ortega /Structural engineer (ICCP) / www.xcengineering.xyz http://www.xcengineering.xyz
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! BTW2: Since our software at work AxisVM exports to ifc structural analysis view it would be possible than to transfer geometry easily to XC and to get more used to work with XC.
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. https://bimserver.center/bim_store.asp?lang=0 Obviously, for that, it seemed vital to implement a good BIM import / export in XC. At that time we thought that the path to take was to make use of the development that had already been done for freeCAD. Unfortunately, later we have been developing other capabilities that were more urgent for the work, so the time we have dedicated to the ifc is almost zero, it can be said that we are a little green on these issues.
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 https://github.com/lcpt/xc/issues/33 (ATM my main interest is geometry or if this is not possible the mesh.)
bernd
I have remodeled workingExample in another structural analysis software, to be able play with ifc, but I even do not know if the geometry I have taken from model_gen of workingModel is the right one?
geometry solid
geometry FEM
with dimension
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: listOfSurfacesInSetDecks=[s for s in decks.getSurfaces] gives you the list of instances of xc.QuadSurface objects in the set decks
Anallogously there exists methods getLines, getNodes, getElements, ...
Ana
got it. The only one left ATM for me is https://github.com/lcpt/xc/issues/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.
The geometry (points, lines surfaces...) is displayed by display_blocks.py...
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'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. Thank
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: 1- as I know FreeCAD IFC import can not import loads, boundary conditions etc, it only imports the geometry 2- imagine that a user create the model in Revit, why he/she must open it in FreeCAD again? It adds more to the dependencies of software. Thanks.
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. Thanks.
Yes, I know. I do not deny that my approach is a bit of a "workaround" to make things work with XC as it is, but I think that this can work reasonably fast, and it can serve as a proof of concept for a more elaborate procedure.
It is fantastic. Thank you so much.
Hi @berndhahnebach , @lcpt. is somethings going in this regard? Thanks
Hi @ebrahimraeyat.
Not much :(. You can find an example that uses some IFC features through FreeCAD here.
I we use directly ifcopenshell to import the data we have no opportunity to modify/adapt the model if needed. If you use FreeCAD (that uses ifcopenshell too) you can make the IFC in 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.
@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
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