IFC import

A forum dedicated to the Arch module development
User avatar
bernd
Posts: 3869
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

IFC import

Postby bernd » Wed Dec 11, 2013 11:30 pm

Got that link http://www.digital210king.org/downloader.php?file=24 from someone. It is not a little ifc-modell :D . Just started to treat FreeCAD :D . It is 20 past 0 a clock. I guess it takes hours to import ... See you in 7 hours ... I'm curious about it.
User avatar
bernd
Posts: 3869
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: IFC import

Postby bernd » Thu Dec 12, 2013 5:26 am

25 past 6, 6 hours, FreeCAD is alive :D It is still importing that file, reading BREP data an generating shapes. See you ...
User avatar
bernd
Posts: 3869
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: IFC import

Postby bernd » Thu Dec 12, 2013 7:13 am

10 past 8, nearly 8 hours, here we are it's done FreeCAD has imported the model. Wow, FreeCAD really has the ability to import huge and complex ifc-models :D

@Yorik, Do you know some python snippets to get some statistics? How many importat objects, walls, windows etc
User avatar
bernd
Posts: 3869
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: IFC import

Postby bernd » Thu Dec 12, 2013 7:20 am

Upps, trying to save the model to FreeCAD may be was mistake ... We'll see ... I'm gone let him time ...
Attachments
screen1.jpg
screen1.jpg (63.1 KiB) Viewed 2160 times
User avatar
yorik
Site Admin
Posts: 8553
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: IFC import

Postby yorik » Thu Dec 12, 2013 11:26 am

There are still many areas of the importer that need to be optimized, 10 hours to import a 30Mb model is way too much, there are IFC models out there that weight easily 400 or 500 Mb (a couple of Gb when you have all the HVAC and other stuff).

One area I saw that is pretty slow, is the passing of brep data between ifcopenshell and freecad... I'll do some tests with creating temp files instead, to see if there is any difference.

But at least it imported without failing, that's the most important :)

You mean statistics about the contents of the IFC file? The original python ifc parser I wrote some time ago can do that...

Code: Select all

import IfcReader
print IfcReader.__doc__
User avatar
bernd
Posts: 3869
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: IFC import

Postby bernd » Thu Dec 12, 2013 1:59 pm

yorik wrote:There are still many areas of the importer that need to be optimized, 10 hours to import a 30Mb model is way too much, there are IFC models out there that weight easily 400 or 500 Mb (a couple of Gb when you have all the HVAC and other stuff).

One area I saw that is pretty slow, is the passing of brep data between ifcopenshell and freecad... I'll do some tests with creating temp files instead, to see if there is any difference.
....
The zip has 30 MB. The ifc-file is allready 150MB so a pretty big modell. I don't care about Importtime. I'm interested in the import quality.

yorik wrote:... it imported without failing, that's the most important :) ...
+1

yorik wrote:... You mean statistics about the contents of the IFC file? ...

No, of the imported model in freecad. How many ArchWalls, How many ArchStructuralMemeber, How many ArchWindows etc ...
User avatar
yorik
Site Admin
Posts: 8553
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: IFC import

Postby yorik » Thu Dec 12, 2013 2:06 pm

berndhahnebach wrote:No, of the imported model in freecad. How many ArchWalls, How many ArchStructuralMemeber, How many ArchWindows etc ...

Hm no then there is no such thing ATM, but we could add that easily, keep track of things while importing and printing a nice report a the end.
User avatar
bernd
Posts: 3869
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: IFC import

Postby bernd » Thu Dec 12, 2013 2:54 pm

yorik wrote:Hm no then there is no such thing ATM, but we could add that easily, keep track of things while importing and printing a nice report a the end.

The following would be really helpfull if one imports ifc-modells quite often.

During import, print in the status line which object of all object is imported right now
objekt x of y Objects

After import, little report may be in python log.
found in ifc-file:
ifcstandardwallcase x
ifcbeam y
ifcslab z
...

created in freecad:
ArchWall x
ArchStructuralMember y
ArchWindow z
...

That would give en easy controll if FreeCAD has imported the modell properly since other software (Nemetschek Allplan does) prints a report after eport to ifc.

EDIT: I allready was playing a bit but I found no possibility to distingisch between the type of an ArchWall and ArchWallBody in python. They both are Part::Feature. Was I did was find a specifc object of which I know the type and compare all objects of the object list with this one make new lists and get the numbers with len(list)
Last edited by bernd on Thu Dec 12, 2013 3:09 pm, edited 4 times in total.
User avatar
yorik
Site Admin
Posts: 8553
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: IFC import

Postby yorik » Thu Dec 12, 2013 2:59 pm

the first hing it already does. You must enable debug messages in Arch IFC preferences options
User avatar
bernd
Posts: 3869
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland

Re: IFC import

Postby bernd » Thu Dec 12, 2013 7:51 pm

It took 28 minutes to save the model to fstd-file. New hardware is highly appriciated. 8Gb Ram, 7.9 full, 4 Gb swap , 3.5 full mhh ...

Ahh, more pictures (I left the size at the original one):
Attachments
screen1.jpg
screen1.jpg (493.93 KiB) Viewed 2119 times
screen3.jpg
screen3.jpg (495.5 KiB) Viewed 2119 times
screen4.jpg
screen4.jpg (492.85 KiB) Viewed 2119 times
Last edited by bernd on Thu Dec 12, 2013 10:02 pm, edited 2 times in total.