IFC Export from FreeCAD
Re: IFC Export from FreeCAD
Attached another exported circle column from AxisVM. Both: this one (AxisVM) an the one which was sent here (Allplan): http://www.forum.freecadweb.org/viewtop ... =60#p51050 displays in all viewers including TeklaBimSight.
- Attachments
-
- column-circle-axis.ifc
- (5.58 KiB) Downloaded 109 times
Re: IFC Export from FreeCAD
Found a solution for the circle column. TeklaBimSight displays them and AxisVM gives no more error.
IFCAXIS2PLACEMENT2D only needs one direction. #647 is not needed in my opinion and
IFCAXIS2PLACEMENT2D only needs one direction. #647 is not needed in my opinion and
Code: Select all
#646=IFCDIRECTION((1.,0.));
#648=IFCCARTESIANPOINT((0.,0.));
- Attachments
-
- testhouse2-circle.ifc
- (85.8 KiB) Downloaded 115 times
Re: IFC Export from FreeCAD
Yeah, that was it!! 2D Placements need only two coordinates. Now the testhouse (same link as above) imports correctly in Revit too. Thanks a lot for digging that up Bernd!
Re: IFC Export from FreeCAD
Just checked again. Besides TeklaBimSight all software I use read the geometry of all objects from testhouse2 properly.
Would you mind export two ifc for debugging. One which only consits of the extrusion wall #1164=IFCWALLSTANDARDCASE('9013f1b7_5e27_47d4_971',#5,'Wall Long 1',$,$,#1143,#1163,$); and one ifc which consits of one extrusion column #63=IFCCOLUMN('e90788a1_7074_46bc_9e8',#5,'Column 1',$,$,#42,#62,$);
May be there is still some little little thing which prevents TeklaBimSight from displaying these objects and telling us they are invalid solids
EDIT: If our testhouse2 is exported from allplan the extrusions are still extrusions and TeklaBimSight displays the extrusion solids. There is still some little little thing in our testhouse2.
Would you mind export two ifc for debugging. One which only consits of the extrusion wall #1164=IFCWALLSTANDARDCASE('9013f1b7_5e27_47d4_971',#5,'Wall Long 1',$,$,#1143,#1163,$); and one ifc which consits of one extrusion column #63=IFCCOLUMN('e90788a1_7074_46bc_9e8',#5,'Column 1',$,$,#42,#62,$);
May be there is still some little little thing which prevents TeklaBimSight from displaying these objects and telling us they are invalid solids
EDIT: If our testhouse2 is exported from allplan the extrusions are still extrusions and TeklaBimSight displays the extrusion solids. There is still some little little thing in our testhouse2.
Re: IFC Export from FreeCAD
Aha, we're getting there... It's annoying that those apps just refuse to import and don't say anything...
Here are the files. Too bad I can't test tekla here, it refuses to install on my virtual machine...
Here are the files. Too bad I can't test tekla here, it refuses to install on my virtual machine...
- Attachments
-
- Column 1.ifc
- (3.11 KiB) Downloaded 106 times
-
- Wall Long 1.ifc
- (3.11 KiB) Downloaded 135 times
Re: IFC Export from FreeCAD
Column1.ifc The Polyline needs 2D-Coordinates
instead
EDIT: http://www.buildingsmart-tech.org/ifc/I ... iledef.htm
The OuterCurve attribute defines a two dimensional closed bounded curve.
EDIT2: Since #29 = #33 the FreeCAD Polyline is closed. Allplan and ArchiCAD would do:
instead
But this is not needed.
Code: Select all
#29=IFCCARTESIANPOINT((-100.,-100.));
#30=IFCCARTESIANPOINT((100.,-100.));
#31=IFCCARTESIANPOINT((100.,100.));
#32=IFCCARTESIANPOINT((-100.,100.));
#33=IFCCARTESIANPOINT((-100.,-100.));
Code: Select all
#29=IFCCARTESIANPOINT((-100.,-100.,0.));
#30=IFCCARTESIANPOINT((100.,-100.,0.));
#31=IFCCARTESIANPOINT((100.,100.,0.));
#32=IFCCARTESIANPOINT((-100.,100.,0.));
#33=IFCCARTESIANPOINT((-100.,-100.,0.));
The OuterCurve attribute defines a two dimensional closed bounded curve.
EDIT2: Since #29 = #33 the FreeCAD Polyline is closed. Allplan and ArchiCAD would do:
Code: Select all
#34=IFCPOLYLINE((#29,#30,#31,#32,#29));
Code: Select all
#34=IFCPOLYLINE((#29,#30,#31,#32,#33));
Re: IFC Export from FreeCAD
Ok I fixed the 2D coordinates of polylines. I still must see that the last point uses the same reference as the first point, that would spare us a line...
I finally managed to get tekla installed. Now the testhouse2.ifc opens without errors or warnings in FreeCAD itself, ifc++, revit, archicad, solibri viewer and tekla. Not bad! I must install allplan too one of these days...
I'll add more interesting stuff to the test house (ellipse-based extrusions, polylines with curves, etc) then I'll also look at separating more stuff. At the moment all object that are not pure extrusions (For ex. they have holes, or boolean unions) are exported as Brep, but this might be refined and separated into components.
I'll also try to see how things like wall axes can be exported...
I finally managed to get tekla installed. Now the testhouse2.ifc opens without errors or warnings in FreeCAD itself, ifc++, revit, archicad, solibri viewer and tekla. Not bad! I must install allplan too one of these days...
I'll add more interesting stuff to the test house (ellipse-based extrusions, polylines with curves, etc) then I'll also look at separating more stuff. At the moment all object that are not pure extrusions (For ex. they have holes, or boolean unions) are exported as Brep, but this might be refined and separated into components.
I'll also try to see how things like wall axes can be exported...
Re: IFC Export from FreeCAD
Brilliantyorik wrote:Ok I fixed the 2D coordinates of polylines. ... I'll add more interesting stuff to the test house (ellipse-based extrusions, polylines with curves, etc) ... I'll also try to see how things like wall axes can be exported...
But new little problems raised. Could you export two one-object-ifc for debugging purposes?
#867=IFCSLAB('4be92d44_f1a2_4264_88f',#5,'Roof Extension',$,$,#864,#866,$,.NOTDEFINED.);
#1795=IFCWALL('88104855_054f_4845_a25',#5,'Extension Wall',$,$,#1792,#1794,$);
EDIT:
A IfcPolyLoop should at least consists of three points, otherwise it's will not be a planar region like a face. http://www.buildingsmart-tech.org/ifc/I ... lyloop.htm
Code: Select all
#800 IFCPOLYLOOP - A polyloop must contain at least three points
#804 IFCPOLYLOOP - A polyloop must contain at least three points
#813 IFCPOLYLOOP - A polyloop must contain at least three points
#870 IFCPOLYLOOP - A polyloop must contain at least three points
#873 IFCPOLYLOOP - A polyloop must contain at least three points
#876 IFCPOLYLOOP - A polyloop must contain at least three points
#879 IFCPOLYLOOP - A polyloop must contain at least three points
#882 IFCPOLYLOOP - A polyloop must contain at least three points
#885 IFCPOLYLOOP - A polyloop must contain at least three points
#897 IFCPOLYLOOP - A polyloop must contain at least three points
#900 IFCPOLYLOOP - A polyloop must contain at least three points
#903 IFCPOLYLOOP - A polyloop must contain at least three points
Last edited by bernd on Mon May 19, 2014 12:05 pm, edited 2 times in total.
Re: IFC Export from FreeCAD
At http://www.iai.fzk.de/www-extern/index.php?id=2315&L=1 it is still possible to download an old version of the karlsruhe viewer (FZKViewer). The version 2.3 (build 658) has logs and Syntax checker!!!
EDIT: New Version 4.2 has some very good log messages and Ifc Schema Validation tool too.
EDIT: New Version 4.2 has some very good log messages and Ifc Schema Validation tool too.
Re: IFC Export from FreeCAD
Hm the polyloop with < 3 points must be an error, they are normally made from faces, and of course there is no face with less than 3 vertices... I guess I know what, probably some curve that got "straightened". But supporting curved surfaces is on the way!
Ah, exactly. The 2 objects you mention above have curves. Maybe in the meantime, I could tessellate them... Would be far from a perfect solution, but at least the object would export correctly.
Thanks for the karlsruhe links, I had been looking for it, then forgot...
Ah, exactly. The 2 objects you mention above have curves. Maybe in the meantime, I could tessellate them... Would be far from a perfect solution, but at least the object would export correctly.
Thanks for the karlsruhe links, I had been looking for it, then forgot...