IFC Export from FreeCAD

This forum section is only for IFC-related issues
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: IFC Export from FreeCAD

Post by bernd »

yorik wrote:... Maybe in the meantime, I could tessellate them... Would be far from a perfect solution, but at least the object would export correctly. ...
May be best solution for now ...
yorik wrote:...Thanks for the karlsruhe links, I had been looking for it, then forgot...
Just tested Version 4.2 from mai 13. This version gives detailed errorlog. :) May a new reference for ifc-files. Attached the output of testhouse2.ifc

The new wall 'Extension Wall' #1795 has some geometrical export problems too. See attached file
Attachments
testhouse2.logxml.nozip.zip
(23.79 KiB) Downloaded 261 times
User avatar
yorik
Founder
Posts: 13665
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: IFC Export from FreeCAD

Post by yorik »

Yes, there are 3 "new" objects with curves, that are not correctly handled. But I created them especially for that purpose...
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: IFC Export from FreeCAD

Post by bernd »

yorik wrote:Yes, there are 3 "new" objects with curves ...
Ahh, haven't opened the test house on my linux pc at home for a while (which has a version of FreeCAD head compiled). Just did it. Cool a curved wall and a circle window. None of the viewers has shown curves. Wow would be really cool if FreeCAD could export such Geometry.
User avatar
yorik
Founder
Posts: 13665
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: IFC Export from FreeCAD

Post by yorik »

Indeed at the moment these curves are simply not treated. But I'm working on it. Actually I should add first a curved wall without openings...
User avatar
yorik
Founder
Posts: 13665
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: IFC Export from FreeCAD

Post by yorik »

Bernd, could you give a test spin to this file when you have a moment? It's a test at exporting composite profiles (lines + arcs) from FreeCAD... It opens fine in ifc++, solibri, tekla and the karlsruhe viewer, but fails with ifcopenshell itself. I don't see what's wrong, maybe you'll find more clues... This is the content of the file:
testcurves.ifc
(11.6 KiB) Downloaded 153 times
Thanks!
Attachments
screenshot.jpg
screenshot.jpg (39.32 KiB) Viewed 4140 times
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: IFC Export from FreeCAD

Post by bernd »

yorik wrote:Bernd, could you give a test spin to this file when you have a moment?...
Sure
yorik wrote: It's a test at exporting composite profiles (lines + arcs) from FreeCAD... It opens fine in ifc++, solibri, tekla and the karlsruhe viewer, but fails with ifcopenshell itself. I don't see what's wrong, maybe you'll find more clues...
Yes, it open fine without any Errors in Solibri and FZKViewer (Karlruhe). FZK given no error. Allplan imports all 4 Solids without problems. I do not use real Tekla. I use TeklaBimSigt. It's something similar to NavisWorks. TeklaBimSight says for all 4 Solid they are invalid. They are in Object tree but not displayed. My Structural Software (Axis) opens the beams without problems and has something with the walls but gives no useable errorlog. Mhh, again probably something very little. Could you do me a favour and export two ifc each only consists of one of the two walls. I'm gone investigating ...

BTW. Cooool, exporting curves. :D
User avatar
yorik
Founder
Posts: 13665
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: IFC Export from FreeCAD

Post by yorik »

Sure. Here is only the S-shaped wall.
I wonder if the problem is not in the precision... That the end of the curve would not coincide exactly with the straight segments because of rounding. I'll investigate too.
Attachments
wall_with_curves.ifc
(5.37 KiB) Downloaded 161 times
User avatar
saso
Veteran
Posts: 1924
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: IFC Export from FreeCAD

Post by saso »

yorik wrote:Sure. Here is only the S-shaped wall.
I wonder if the problem is not in the precision... That the end of the curve would not coincide exactly with the straight segments because of rounding. I'll investigate too.
running wall_with_curves.ifc in IfcConvert.exe (http://ifcopenshell.org/ifcconvert.html) gives the error below and an empty .igs

Log:
[Error] Failed to join curve segments:
#89=IfcCompositeCurve((#36,#42,#46,#52,#56,#60,#64,#70,#74,#80,#84,#88),.F.)
[Error] Failed to convert:
#92=IfcExtrudedAreaSolid(#90,#32,#91,100.)
User avatar
yorik
Founder
Posts: 13665
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: IFC Export from FreeCAD

Post by yorik »

Hm yeah there is definitely a precision problem there... The problem is that the curved segments are defined from a circle, and a start and end angle. When these are converted to points, apparently some rounding occurs, and the endpoints don't match exactly, and the profile doesn't close. I'll ask Thomas if he has an idea on this.

Thanks for testing with IFcConvert! I didn't know it produced a log... For some reason with git version of IfcOpenShell the IFcConvert utility doesn't work anymore... I'll grab the stable one.
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: IFC Export from FreeCAD

Post by bernd »

Glad the error was found that fast. :)

BTW: Have a look what allplan does with our beautiful curves. They get imported as a set of straight lines (polygon).
screen.jpg
screen.jpg (39.15 KiB) Viewed 4081 times
Finally if one exports it again to ifc the polygon gets exorted using lots of straight lines:

Code: Select all

#495= IFCWALL('3bcd7ed3_8d0f_4dcc_a8d',#4,'Mur',$,$,#82,#84,$);
#84= IFCPRODUCTDEFINITIONSHAPE($,$,(#88));
#88= IFCSHAPEREPRESENTATION(#34,'Body','SweptSolid',(#95));
#95= IFCEXTRUDEDAREASOLID(#434,#439,#442,1000.);
#434= IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#96);
#96= IFCPOLYLINE((#98,#100,#102,#104,#106,#108,#110,#112,#114,#116,#118,
#120,#122,#124,#126,#128,#130,#132,#134,#136,#138,#140,#142,#144,#146,
#148,#150,#152,#154,#156,#158,#160,#162,#164,#166,#168,#170,#172,#174,
#176,#178,#180,#182,#184,#186,#188,#190,#192,#194,#196,#198,#200,#202,
#204,#206,#208,#210,#212,#214,#216,#218,#220,#222,#224,#226,#228,#230,
#232,#234,#236,#238,#240,#242,#244,#246,#248,#250,#252,#254,#256,#258,
#260,#262,#264,#266,#268,#270,#272,#274,#276,#278,#280,#282,#284,#286,
#288,#290,#292,#294,#296,#298,#300,#302,#304,#306,#308,#310,#312,#314,
#316,#318,#320,#322,#324,#326,#328,#330,#332,#334,#336,#338,#340,#342,
#344,#346,#348,#350,#352,#354,#356,#358,#360,#362,#364,#366,#368,#370,
#372,#374,#376,#378,#380,#382,#384,#386,#388,#390,#392,#394,#396,#398,
#400,#402,#404,#406,#408,#410,#412,#414,#416,#418,#420,#422,#424,#426,
#428,#430,#432,#98));
Post Reply