Issue regarding ifc file in FreeCAD

This forum section is only for IFC-related issues
User avatar
yorik
Site Admin
Posts: 11978
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: Issue regarding ifc file in FreeCAD

Postby yorik » Fri Oct 05, 2018 2:35 pm

One difference I can see if in the FreeCAD-generated IFC file, the extrusion profiles are IfcArbitraryClosedProfileDef made from IfcPolyline entities, while in the Revit-generated one they are IfcRectangleProfileDef. An interesting way to test would be to try to replace, for example replace entity #28 in the FreeCAD IFC file from:

Code: Select all

#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27);
to

Code: Select all

#28= IFCRECTANGLEPROFILEDEF(.AREA.,'test rectangle',#8,0.05,0.05);
and see if there is any difference?

In any case, IfcArbitraryClosedProfileDef is very common, it is a bad implementation in staad pro if they only support part of the IFC specification
User avatar
Gurbhej Singh
Posts: 19
Joined: Thu Sep 27, 2018 10:19 am

Re: Issue regarding ifc file in FreeCAD

Postby Gurbhej Singh » Sat Oct 06, 2018 4:59 pm

yorik wrote:
Fri Oct 05, 2018 2:35 pm
One difference I can see if in the FreeCAD-generated IFC file, the extrusion profiles are IfcArbitraryClosedProfileDef made from IfcPolyline entities, while in the Revit-generated one they are IfcRectangleProfileDef. An interesting way to test would be to try to replace, for example replace entity #28 in the FreeCAD IFC file from:

Code: Select all

#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27);
to

Code: Select all

#28= IFCRECTANGLEPROFILEDEF(.AREA.,'test rectangle',#8,0.05,0.05);
and see if there is any difference?

In any case, IfcArbitraryClosedProfileDef is very common, it is a bad implementation in staad pro if they only support part of the IFC specification

The issue is still the same no properties and material in staad pro.
But one more problem arises after changing the line in IFC

Code: Select all

#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27);
to

Code: Select all

#28= IFCRECTANGLEPROFILEDEF(.AREA.,'test rectangle',#8,0.05,0.05);
.
Opened new IFC in FREE CAD, I saw the beam disappear from the file,
for reference see screenshot https://drive.google.com/file/d/1sSnlvt ... sp=sharing
link of new IFC https://drive.google.com/file/d/1pNH_Xy ... sp=sharing
User avatar
Tandy
Posts: 37
Joined: Thu Oct 04, 2018 3:06 pm
Location: FEROZEPUR,PUNJAB,INDIA

Re: Issue regarding ifc file in FreeCAD

Postby Tandy » Sat Oct 06, 2018 5:22 pm

yorik wrote:
Fri Oct 05, 2018 2:35 pm
One difference I can see if in the FreeCAD-generated IFC file, the extrusion profiles are IfcArbitraryClosedProfileDef made from IfcPolyline entities, while in the Revit-generated one they are IfcRectangleProfileDef. An interesting way to test would be to try to replace, for example replace entity #28 in the FreeCAD IFC file from:

Code: Select all

#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27);
to

Code: Select all

#28= IFCRECTANGLEPROFILEDEF(.AREA.,'test rectangle',#8,0.05,0.05);
and see if there is any difference?

In any case, IfcArbitraryClosedProfileDef is very common, it is a bad implementation in staad pro if they only support part of the IFC specification

Sir,
I am also facing the same problem
i am using FreeCAD for making a 3D structure and generating IFC.
Opening that IFC in ETAB (structure design software) as it accepts the IFC format.
The same problem occurs as discussed in this topic above , ETAB only show lines i.e no member property and no material imported in ETAB.
Then i decided to use REVIT as discussed and all properties of REVIT are working well in ETAB without any loss till now.
Thank you
Tandeep singh
User avatar
hardeeprai
Posts: 176
Joined: Sun May 23, 2010 2:41 pm
Location: Ludhiana, Punjab, India
Contact:

Re: Issue regarding ifc file in FreeCAD

Postby hardeeprai » Sun Oct 07, 2018 2:04 am

yorik wrote:
Thu Oct 04, 2018 2:50 pm
I don't know staad pro
I would try to tell about StaadPro.

A beam or column in StaadPro (or for that matter any other Structural Analysis software (Finite Element or Stiffness method based )), is represented by its end points (called nodes, which are 3D points), like wise slab can be represented by 4 nodes or 3 nodes, and brick can be represented by 8 nodes.

After telling element's (Beam/Column) position in space using 2 points, we need to tell cross-section's geometric properties, which can be Area, Moment of Inertia and more like that (for prismatic members, though it can also handle non-prismatic (tapered) members):

AX = Cross sectional area
IX = Torsional constant
IY = Moment of inertia (MoI) about y-axis.
IZ = Moment of inertia about z-axis.
In addition, the user may choose to specify the following properties:
AY = Effective shear area for shear force parallel to local y-axis.
AZ = Effective shear area for shear force parallel to local z-axis.
YD = Depth of section parallel to local y-axis.
ZD = Depth of section parallel to local z-axis.

One way is give such values directly, and 2nd way is telling the type of section i.e. circular (Give dia), rectangular (give size Depth x Width) or Trapezoidal, T and I section, then programme will calculate Area, MoI and do needful.

Line:
1 PRIS YD 500 ZD 300
which is line no. 134 of https://bitbucket.org/hsrai/staad-pro/s ... ew-default

tells that section 1 is prismatic, with width 300 and depth 500.
yorik wrote:
Thu Oct 04, 2018 2:50 pm
three structural elements (one beam and 2 columns, and each of them is made of a 2D polyline that gets extruded to form a volume
It will be nice, if IFC from FreeeCAD can identify such common cases like rectangular (IfcRectangleProfileDef)/ circular / T sections, and for other irregular X-section, IfcArbitraryClosedProfileDef should be OK, but in staad-pro it must translate to AX, IY etc.
yorik wrote:
Thu Oct 04, 2018 2:50 pm
each of them has the "Concrete" material associated.
In StaadPro, material is defined as:
DEFINE MATERIAL START
ISOTROPIC M25CONC
E 22000
POISSON 0.15
END DEFINE MATERIAL
Lines 116 - 125 of https://bitbucket.org/hsrai/staad-pro/s ... ew-default
--
H.S.Rai
User avatar
hardeeprai
Posts: 176
Joined: Sun May 23, 2010 2:41 pm
Location: Ludhiana, Punjab, India
Contact:

Re: Issue regarding ifc file in FreeCAD

Postby hardeeprai » Sun Oct 07, 2018 2:16 am

yorik wrote:
Fri Oct 05, 2018 2:35 pm

Code: Select all

#28= IFCRECTANGLEPROFILEDEF(.AREA.,'test rectangle',#8,0.05,0.05);
and see if there is any difference?
One need to give XDim and YDim, in place of Area, refer:

http://www.buildingsmart-tech.org/ifc/I ... iledef.htm
yorik wrote:
Fri Oct 05, 2018 2:35 pm
In any case, IfcArbitraryClosedProfileDef is very common, it is a bad implementation in staad pro if they only support part of the IFC specification
Let us we support IfcArbitraryClosedProfileDef, IfcRectangleProfileDef. Rather all (total 12 in number) as given at: http://www.buildingsmart-tech.org/ifc/I ... iledef.htm
--
H.S.Rai
User avatar
cnirbhay
Posts: 116
Joined: Wed Aug 17, 2016 4:24 pm

Re: Issue regarding ifc file in FreeCAD

Postby cnirbhay » Sun Oct 07, 2018 11:14 am

Rather, there are shortcuts being adopted by ETABS, ISM or other for the mapping purposes. Moreover, the mapping is done in a way considering the 'family' approach of Revit. For eg: In ETABS, section name is mapped to the 'ObjectType' of 'IfcColumn' and section dimensions are mapped to 'XDim' and 'YDim' of 'IfcRectangleProfileDef'.

Suppose if the dimension parameters of a column family are shifted to instances from its family parameters in Revit, then the exported IFC file will have all column types of that family with a common name but the dimensions will be different. In such case, ETABS will take any one dimensions set from the IFC for the mapping purpose of the section types with the common name, resulting in all members with the same dimensions. This proves it to be a bad approach for mapping the section name and section dimensions separately. The section name should be generated itself in a way by reading the section dimensions.

In this case, FreeCAD has a rather straightforward approach of considering the section as a closed curve or polygon and its corner points in the form of cartesian points that is by the entity name 'IfcArbitraryClosedProfileDef'. The good thing is FreeCAD is able to read it accurately when imported back. ETABS or ISM is not able to map this entity, whereas Revit or other BIM software can import it but only as a dead geometry with no functionality to edit or modify the parameters.
User avatar
Gurbhej Singh
Posts: 19
Joined: Thu Sep 27, 2018 10:19 am

Re: Issue regarding ifc file in FreeCAD

Postby Gurbhej Singh » Fri Oct 12, 2018 5:28 pm

I was expecting some answers, Meanwhile i searched and found an alternative to this problem. I modeled a structure in FreeCAD and exported the IFC to Robot structure analysis (By Autodesk). After performing analysis and design I exported the new IFC file to FreeCAD and I got the results showing the cross-sectional properties and materials which were initially provided in FreeCAD in addition to it reinforcement is also present.
This was the result which I was expecting when I use Staad Pro for analysis and design purpose.
Please provide us any other alternatives for the purpose of analysis and design.

Link for FreeCAD final model (Concrete Visibility is set to 80):-
https://drive.google.com/file/d/10VGlA8 ... RcEIE/view

Link for the file of Solibiri Viewer(with transparency to show steel bar):-
https://drive.google.com/file/d/10VGlA8 ... RcEIE/view

Link for the IFC file:-
https://drive.google.com/file/d/1Z5jDl- ... _oFqz/view
User avatar
Tandy
Posts: 37
Joined: Thu Oct 04, 2018 3:06 pm
Location: FEROZEPUR,PUNJAB,INDIA

Re: Issue regarding ifc file in FreeCAD

Postby Tandy » Fri Oct 12, 2018 5:34 pm

cnirbhay wrote:
Sun Oct 07, 2018 11:14 am
Rather, there are shortcuts being adopted by ETABS, ISM or other for the mapping purposes. Moreover, the mapping is done in a way considering the 'family' approach of Revit. For eg: In ETABS, section name is mapped to the 'ObjectType' of 'IfcColumn' and section dimensions are mapped to 'XDim' and 'YDim' of 'IfcRectangleProfileDef'.

Suppose if the dimension parameters of a column family are shifted to instances from its family parameters in Revit, then the exported IFC file will have all column types of that family with a common name but the dimensions will be different. In such case, ETABS will take any one dimensions set from the IFC for the mapping purpose of the section types with the common name, resulting in all members with the same dimensions. This proves it to be a bad approach for mapping the section name and section dimensions separately. The section name should be generated itself in a way by reading the section dimensions.

In this case, FreeCAD has a rather straightforward approach of considering the section as a closed curve or polygon and its corner points in the form of cartesian points that is by the entity name 'IfcArbitraryClosedProfileDef'. The good thing is FreeCAD is able to read it accurately when imported back. ETABS or ISM is not able to map this entity, Revit or other BIM software can import it but only as a dead geometry with no functionality to edit or modify the parameters.
The main issue is this only.
Revit or other BIM software can import it but only as a dead geometry with no functionality to edit or modify the parameters.

Tell us any suggestion that how to improve this IFC file so that we can make changes in other BIM software.
And also we can work in other BIM software.
Tandeep singh
User avatar
Tandy
Posts: 37
Joined: Thu Oct 04, 2018 3:06 pm
Location: FEROZEPUR,PUNJAB,INDIA

Re: Issue regarding ifc file in FreeCAD

Postby Tandy » Tue Oct 16, 2018 7:43 pm

yorik wrote:
Fri Oct 05, 2018 2:35 pm
One difference I can see if in the FreeCAD-generated IFC file, the extrusion profiles are IfcArbitraryClosedProfileDef made from IfcPolyline entities, while in the Revit-generated one they are IfcRectangleProfileDef. An interesting way to test would be to try to replace, for example replace entity #28 in the FreeCAD IFC file from:

Code: Select all

#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27);
to

Code: Select all

#28= IFCRECTANGLEPROFILEDEF(.AREA.,'test rectangle',#8,0.05,0.05);
and see if there is any difference?

In any case, IfcArbitraryClosedProfileDef is very common, it is a bad implementation in staad pro if they only support part of the IFC specification
Sir i had worked on your suggestion and Results were good i,e section properties are transfer to staad pro. i have change the #8 to #32 for the execution of this file,
now please help to change this line automatically in freecad because for large project / buildings it is difficult to change this line for each member separately.
Thank you
Tandeep singh
User avatar
Gurbhej Singh
Posts: 19
Joined: Thu Sep 27, 2018 10:19 am

Re: Issue regarding ifc file in FreeCAD

Postby Gurbhej Singh » Tue Oct 16, 2018 8:25 pm

Tandy wrote:
Tue Oct 16, 2018 7:43 pm
yorik wrote:
Fri Oct 05, 2018 2:35 pm
One difference I can see if in the FreeCAD-generated IFC file, the extrusion profiles are IfcArbitraryClosedProfileDef made from IfcPolyline entities, while in the Revit-generated one they are IfcRectangleProfileDef. An interesting way to test would be to try to replace, for example replace entity #28 in the FreeCAD IFC file from:

Code: Select all

#28=IFCARBITRARYCLOSEDPROFILEDEF(.AREA.,$,#27);
to

Code: Select all

#28= IFCRECTANGLEPROFILEDEF(.AREA.,'test rectangle',#8,0.05,0.05);
and see if there is any difference?

In any case, IfcArbitraryClosedProfileDef is very common, it is a bad implementation in staad pro if they only support part of the IFC specification
Sir i had worked on your suggestion and Results were good i,e section properties are transfer to staad pro. i have change the #8 to #32 for the execution of this file,
now please help to change this line automatically in freecad because for large project / buildings it is difficult to change this line for each member separately.
Thank you
I have also done the same changes (#8 to #32) and make the ifc file to execute in the staad pro and it work properly giving me the desired results. Now please give suggestion how to change it automatically without manual input.
Thank you.