[BlenderBIM] How to export IFC?

edited November 2022 in General

I am not getting any data out exporting some geometry to IFC. Probably lacks mapping. What is the procedure?

Comments

  • First, you'd need to create a new IFC project. Your objects then need to be placed in the spatial hierarchy (e.g. site, building, etc) and classified (e.g. IfcWall, IfcSlab, etc). Then you can add extra metadata using property sets in the object panel.

  • Thanks Moult!
    New project, brings in hierarchy. I figured it would be logical place to put this mesh from BlenderGIS under 'site'

    But how do i point out it is a ifc_terrain kind of object. I see the library here?

  • The wiki is not completely up to date, but I believe you can find many answers there:
    https://wiki.osarch.org/index.php?title=BlenderBIM_Add-on_for_building_and_exporting_an_IFC_model

    magicalcloud_75
  • To utilize the "Assign IFC Class" found under Scene > Building Information Modeling > IFC Categorization
    Where is it ..? Decribes a older version maybe?
    (using py310-win.zip )

  • Nothing here.


  • Also, if you go there, do you see an IFC attached to the Blender file?

  • It helps to if you can share the blender file, i can do a video to show you, specific to your project.

  • This is a little outdated, but mostly correct guide that may help for simple exports: https://blenderbim.org/blenderbim-tutorial.html

  • You are right. Need to set project first to appear. Now it writes data to ifc 72 MB but i don't have a visual. Probably need to find the right class etc.

  • @magicalcloud_75 said:
    You are right. Need to set project first to appear. Now it writes data to ifc 72 MB but i don't have a visual. Probably need to find the right class etc.

    Don't forget to set an IFC spatial container too, else your IFC element won't show up.

  • "Don't forget to set an IFC spatial container too, else your IFC element won't show up"
    Sorry but i don't know understand IFC that much
    Pushed these buttons.

    Creates hyrachie, which makes sense to me.

    Butr the result is disappointing some big filesize IFC with nada nothing to display :(

    Can you share a succesful ifc case which contains a groundlevel as site ?

  • edited May 2022

    @magicalcloud_75 said:
    "Don't forget to set an IFC spatial container too, else your IFC element won't show up"
    Sorry but i don't know understand IFC that much
    Pushed these buttons.

    Creates hyrachie, which makes sense to me.

    Butr the result is disappointing some big filesize IFC with nada nothing to display :(

    Can you share a succesful ifc case which contains a groundlevel as site ?

    Hi, I think this...
    should be here...
    so it is in the IFC file structure, I'm a novice too so I could be wrong :)

  • What you've done is technically correct, but you need to assign the site to the project. I agree it is annoying that it is not assigned by default. I will fix this default.

  • edited May 2022

    Changed the setting.
    Some kind of autosave proces is does the automatic ifc saves. Also, save as ifc. It takes quite some time for write the terrain data. My laptop is not the lastest technology offers :) Still no terrain or buildings to be seen in the ifc in BIMvision from BlenderGIS. There should be 164 mb of content but it is strange nothing is in the hyrarchie.

    Thanks for your time!


    ISO-10303-21;
    HEADER;
    FILE_DESCRIPTION(('ViewDefinition[DesignTransferView]'),'2;1');
    FILE_NAME('ndsm terrein2.blend.ifc','2022-05-29T13:18:04+02:00',('',''),('',''),'IfcOpenShell -61e510e4','BlenderBIM 0.0.211117','Nobody');
    FILE_SCHEMA(('IFC4'));
    ENDSEC;
    DATA;

    1=IFCPROJECT('2blX63OS5BBP32WWdBk1n3',$,'My Project',$,$,$,$,(#10,#16),#5);

    2=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);

    3=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);

    4=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);

    5=IFCUNITASSIGNMENT((#3,#4,#2));

    6=IFCCARTESIANPOINT((0.,0.,0.));

    7=IFCDIRECTION((0.,0.,1.));

    8=IFCDIRECTION((1.,0.,0.));

    9=IFCAXIS2PLACEMENT3D(#6,#7,#8);

    10=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,$);

    11=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',,,,,#10,$,.MODEL_VIEW.,$);

    12=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',,,,,#10,$,.MODEL_VIEW.,$);

    13=IFCCARTESIANPOINT((0.,0.,0.));

    14=IFCDIRECTION((1.,0.,0.));

    15=IFCAXIS2PLACEMENT2D(#13,#14);

    16=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Plan',2,1.E-05,#15,$);

    17=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Annotation','Plan',,,,,#16,$,.PLAN_VIEW.,$);

    18=IFCSITE('1hq6aiLpn84eBejW5hHk1f',$,'My Site',$,$,#41,$,$,$,$,$,$,$,$);

    24=IFCBUILDING('3pj8z5ZYL52fUR8dmDXsJg',$,'My Building',$,$,#47,$,$,$,$,$,$);

    30=IFCBUILDINGSTOREY('0v7PhKeRPD_vvyaUTKThZv',$,'My Storey',$,$,#53,$,$,$,$);

    36=IFCRELAGGREGATES('3thSivrVfF7vVuVEpGalUt',$,$,$,#1,(#18));

    37=IFCCARTESIANPOINT((0.,0.,0.));

    38=IFCDIRECTION((0.,0.,1.));

    39=IFCDIRECTION((1.,0.,0.));

    40=IFCAXIS2PLACEMENT3D(#37,#38,#39);

    41=IFCLOCALPLACEMENT($,#40);

    42=IFCRELAGGREGATES('2dG_FMy7vCGP2ifY5hvp2L',$,$,$,#18,(#24));

    43=IFCCARTESIANPOINT((0.,0.,0.));

    44=IFCDIRECTION((0.,0.,1.));

    45=IFCDIRECTION((1.,0.,0.));

    46=IFCAXIS2PLACEMENT3D(#43,#44,#45);

    47=IFCLOCALPLACEMENT(#41,#46);

    48=IFCRELAGGREGATES('1ZmQIlyw9CSf07j4UZ9IeE',$,$,$,#24,(#30));

    49=IFCCARTESIANPOINT((0.,0.,0.));

    50=IFCDIRECTION((0.,0.,1.));

    51=IFCDIRECTION((1.,0.,0.));

    52=IFCAXIS2PLACEMENT3D(#49,#50,#51);

    53=IFCLOCALPLACEMENT(#47,#52);

    54=IFCSITE('2OU1rV0nH2SRJiTIHwOK1i',$,'ahn3_05m_dtm',$,$,#59,#1761252,$,$,$,$,$,$,$);

    55=IFCCARTESIANPOINT((-25.8345623016357,0.388583421707153,0.));

    56=IFCDIRECTION((0.,0.,1.));

    57=IFCDIRECTION((1.,0.,0.));

    58=IFCAXIS2PLACEMENT3D(#55,#56,#57);

    59=IFCLOCALPLACEMENT($,#58);

    60=IFCINDEXEDPOLYGONALFACE((1,2,1307,1306));

    61=IFCINDEXEDPOLYGONALFACE((2,3,1308,1307));

    62=IFCINDEXEDPOLYGONALFACE((3,4,1309,1308));

    63=IFCINDEXEDPOLYGONALFACE((4,5,1310,1309));

    64=IFCINDEXEDPOLYGONALFACE((5,6,1311,1310));

    etc etc. etc up to #180000`

  • @magicalcloud_75

    Some kind of autosave proces is does the automatic ifc saves.

    Is it possible to toggle an autosave for IFC in BlenderBIM? Could a time be set as well?

  • edited December 2022

    Coen, how does this work? Would be a very useful tool to get it working

  • @Coen said:
    @magicalcloud_75

    Some kind of autosave proces is does the automatic ifc saves.

    Is it possible to toggle an autosave for IFC in BlenderBIM? Could a time be set as well?

    I've thought a bit about that recently and Timers proved to be unreliable recently on some other feature (Type Manager).

    I think one compromise would be to have a setting somewhere to export the ifc file when the blend file is saved with CTRL + S, that way the blend file and ifc file are in sync.

    I don't know if we can access the blender autosave feature to get notified when a new blend autosave has been created. It could be nice, too.

    Coen
  • Hi magicalcloud_75,
    I have done this assigning IfcBuildingElementProxy class to the mesh generated with BlenderGis. After that, drag and drop this element under the right position in the ifc project tree and export as ifc (if mesh are big, ifc export is big too).

Sign In or Register to comment.