[IFC Export] Problems with IFC (structural view) export

This forum section is only for IFC-related issues
balrobs
Posts: 449
Joined: Fri Apr 24, 2020 8:58 pm

Re: [IFC Export] Problems with IFC (structural view) export/import

Post by balrobs »

bernd wrote: Tue May 18, 2021 8:59 pm you are a offical FreeCAD developer, welcome to the party :D https://github.com/FreeCAD/FreeCAD/comm ... or=balrobs

git commit 8ac722c1e89e
Feels good to take part to the party :D
I'm absolutly aware that for now I'm scratching the surface ... hopefully my future time constraints will allow me to digg a little deeper.

Thank you @Bernd
balrobs
Posts: 449
Joined: Fri Apr 24, 2020 8:58 pm

Re: [IFC Export] Problems with IFC (structural view) export

Post by balrobs »

I finally managed it to export slabs as structural surfaces with their thickness information to IFC (structural view).
Now this changes make it possible to export a quite usefull IFC model for further processing to a dedicated structural analysis software (see following image).
test_structute.jpg
test_structute.jpg (253.19 KiB) Viewed 4652 times
Unfortunately walls don't work ATM because they miss a node system like other structural elements. A possible workaround for this problem is to model them as slabs.
Next steps to improve this workflow could be:
  • add nodes to walls
  • improve node manipulations tools for structural elements
  • export material informations for structural elements (if available)
  • export profile information for beams and columns
Soon I will submit a pull request with my changes for slabs.
Cheers

EDIT: Pull request: https://github.com/FreeCAD/FreeCAD/pull/4823
Attachments
test_structure.ifc
(47.74 KiB) Downloaded 102 times
test_structure.FCStd
(58.54 KiB) Downloaded 99 times
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: [IFC Export] Problems with IFC (structural view) export

Post by bernd »

If I open the ifc attache, only the columns are structural curve member. The slabs are Structural Curve Connections. Should not they be IfcStructuralSurfaceMember

srceen1.png
srceen1.png (65.8 KiB) Viewed 4598 times
srceen2.png
srceen2.png (81.16 KiB) Viewed 4598 times
balrobs
Posts: 449
Joined: Fri Apr 24, 2020 8:58 pm

Re: [IFC Export] Problems with IFC (structural view) export

Post by balrobs »

Hi @Bernd,
thank you for testing.
bernd wrote: Tue Jun 01, 2021 1:43 pm ..
The slabs are Structural Curve Connections. Should not they be IfcStructuralSurfaceMember
...
Indeed here something goes wrong ...
For my understanding along the StructuralCurveMembers and along the edges of the IfcStructuralSurfaceMember(s) there should be StructuralCurveConnection(s) in order to be able to connect a beam-element to a shell-element or a shell-element to another shell-element.
This seems to work, but your BIM viewer can't show the IfcStructuralSurfaceMember(s) I wrote (maybe doing something wrong) to the IFC file.

Code: Select all

#513=IFCSTRUCTURALSURFACEMEMBER('1ZH_1DNCz7gROKDH8p2Acf',#5,'Slab001',$,$,#25,#512,.SHELL.,0.35);
I imported the IFC file to RFEM and here I can see the IfcStructuralSurfaceMember(s) with their correct thickness property.

Mhh .. that's strange ... I will have to investigate further :?:
balrobs
Posts: 449
Joined: Fri Apr 24, 2020 8:58 pm

Re: [IFC Export] Problems with IFC (structural view) export

Post by balrobs »

In the meantime I found this post:
https://forum.freecadweb.org/viewtopic. ... 01#p133263
and maybe it's related to my issue since I have focused strongly on RFEM created structural analysis view IFC-files because my goal was to read them with RFEM.
Will come back when I have some news :)

EDIT: I think I'm close to the solution. If I export a slab with Z=0.0 to IFC and reimport it back then a surface is shown wherelse if I do the same with Z<>0.0 then only the surface edges are imported. This could indicate the problem described above. I will try to patch my code and see if I'm right ;)
BTW @Bernd, could you advice me how best to fix my pull request, or take it back and start a new one?

Thanks for your appreciated help!
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: [IFC Export] Problems with IFC (structural view) export

Post by bernd »

it is a pity rusterlw has never seen here again ...

In the regard of your pull request. I am fine with it anyway but if you would like to do it anyway ... You just need to change the commits and push it to the branch you used for the PR. Means any change on this branch on your github will change the PR. The leads to the question how to change the commits. Threre are various workflows to archive this with git. Best ist to play with interactive rebase. But be careful do not make it on the PR branch. Make a new branch play with interactive rebase and if you are happy with the new history you could force push it to the PR branch. If you have any questions there are just ask ...

But as said do not to much time with it. Better improve the export ... :D
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: [IFC Export] Problems with IFC (structural view) export

Post by bernd »

balrobs wrote: Tue Jun 01, 2021 3:06 pm Hi @Bernd,
thank you for testing.
bernd wrote: Tue Jun 01, 2021 1:43 pm ..
The slabs are Structural Curve Connections. Should not they be IfcStructuralSurfaceMember
...
Indeed here something goes wrong ...
For my understanding along the StructuralCurveMembers and along the edges of the IfcStructuralSurfaceMember(s) there should be StructuralCurveConnection(s) in order to be able to connect a beam-element to a shell-element or a shell-element to another shell-element.
This seems to work, but your BIM viewer can't show the IfcStructuralSurfaceMember(s) I wrote (maybe doing something wrong) to the IFC file.

Code: Select all

#513=IFCSTRUCTURALSURFACEMEMBER('1ZH_1DNCz7gROKDH8p2Acf',#5,'Slab001',$,$,#25,#512,.SHELL.,0.35);
I imported the IFC file to RFEM and here I can see the IfcStructuralSurfaceMember(s) with their correct thickness property.

Mhh .. that's strange ... I will have to investigate further :?:
Aha means may be my viewer is wrong. Could be too. I have not tried any other viewer, neither I did have a look at the ifc. I will investigate too.
balrobs
Posts: 449
Joined: Fri Apr 24, 2020 8:58 pm

Re: [IFC Export] Problems with IFC (structural view) export

Post by balrobs »

bernd wrote: Tue Jun 01, 2021 6:22 pm Aha means may be my viewer is wrong. Could be too. I have not tried any other viewer, neither I did have a look at the ifc. I will investigate too.
I think you can stop investigating :D
I'm quite sure I was right with my assumptions and the culprit is the above mentioned issue.
I patched my code and exported a new IFC file although i still have a problem for vertical walls.
Can you please test it with your IFC viewer and let me know?
Cheers
Attachments
test_structure_new.ifc
(46.35 KiB) Downloaded 92 times
balrobs
Posts: 449
Joined: Fri Apr 24, 2020 8:58 pm

Re: [IFC Export] Problems with IFC (structural view) export

Post by balrobs »

Hi @Bernd,

I hopefully solved the mentioned problems for the IFC export of slabs.
The code now should work for horizontal, vertical (walls) and inclined (ramps) slabs. :?
Can you give me please some feedback before I will try to repair my corresponding pull request?

One more favor: since my next plan is to write out material information data to IFC: could you point me where I can find how to access all material objects of a FreeCad model and the material property of a single FreeCad object?
Thanks for your help!
Attachments
test_structure_with_stairs.ifc
(51.53 KiB) Downloaded 98 times
test_structure_with_stairs.FCStd
(63.13 KiB) Downloaded 94 times
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: [IFC Export] Problems with IFC (structural view) export

Post by bernd »

in the regard of material:

ATM only Arch Components (thus all Arch Objects) do have a property called Material. You can acces it like any other property. This property is a link to a material object. This material object does have a property "Material" which is a dictionary with all the data inside. This looks like this:

Code: Select all

>>> 
>>> App.ActiveDocument.getObjectsByLabel("CalculiX-Steel")[0].Material
{'AuthorAndLicense': 'CalculiX-Steel', 'CardName': 'CalculiX-Steel', 'Color': '(0.8, 0.8, 0.8, 1.0)', 'Density': '7900 kg/m^3', 'Description': 'Standard steel material for CalculiX sample calculations', 'DiffuseColor': '(0.8, 0.8, 0.8, 1.0)', 'Father': 'Metal', 'Name': 'CalculiX-Steel', 'PoissonRatio': '0.3', 'ProductURL': '', 'SectionColor': '(0.8, 0.8, 0.8, 1.0)', 'SpecificHeat': '590 J/kg/K', 'StandardCode': '', 'ThermalConductivity': '43 W/m/K', 'ThermalExpansionCoefficient': '0.000012 m/m/K', 'Transparency': '0', 'ViewColor': '(0.8, 0.8, 0.8, 1.0)', 'YoungsModulus': '210000 MPa'}
>>> 
Post Reply