Tool to quickly output 2d views / sections from ifc?

Hello everybody,
I'm looking for a tool (viewer or other) that would allow me to quickly output 2d views (dwg, dxf ...) from an ifc.
Do you know any software capable of doing that ?
Thanks in advance
BR
David

Comments

  • edited November 17


    about 45:00

    Opus
  • edited November 17

    @JanF said:
    about 45:00

    Hi JanF,
    I used IFC Toolbox but I haven't tried the converter to svg yet ... I'll try it, thanks;)
    BR
    David

  • How about using Blender's Lineart tool then exporting into a CAD program and scaling?

  • I tested it and while it can be great for simple files, it is really tricky once there are a lot of objects and the geometry count grows past a certain threshold.

  • Thanks @Bedson and @Gorgious
    That's what I thought. the ifc I use are huge ... and often very far from the origin. I'll probably test Lineart tool and Blender when I have time, but right now I need a program that can do this to me quickly when I need it.
    Thank you so much !
    BR
    David

  • The SVG converter effectively uses IfcOpenShell's IfcConvert. This is currently being upgraded quite a bit with progress documented in https://github.com/IfcOpenShell/IfcOpenShell/issues/1153 (sorry it's a long thread, but lots of good info hidden in there) - unfortunately right now there are performance problems with the projection of complex backgrounds. As these problems slowly get resolved, though, I think it might be exactly what you're looking for.

  • Hi Dion and thank you for your feedback.
    Great documentation indeed ;) but I'll have a look at it ASAP!
    thank you so much
    BR
    David

  • I haven't tried FreeCAD. Can it import all of Blender's objects as individual objects (Revit can import .obj but only as a 'single lump')? What are the quirks of a Blender / FreeCAD workflow?

  • @Bedson said:
    I haven't tried FreeCAD. Can it import all of Blender's objects as individual objects (Revit can import .obj but only as a 'single lump')? What are the quirks of a Blender / FreeCAD workflow?

    If you export your Blender project as IFC project, FreeCAD will import and open it as individual IFC objects.

  • FreeCAD works, but I'm worried about performance too. In FreeCAD, it would be IFC -> FreeCAD -> FreeCAD HLR Renderer -> SVG. Historically, in the past with the BlenderBIM Add-on I did IFC -> Blender -> Blender Hybrid Raster + Vector Renderer -> SVG. The Raster Vector hybrid allows it to scale up to huge scenes, as the vector only dealt with the cut plane, and the raster handles everything in the background. Blender, especially when combined with Blender links, can handle hundreds of thousands of objects and produce a raster render super quickly. I'm not so sure if FreeCAD can handle >100k objects, or something like 1GB of federated IFCs.

    This new approach which is being worked on is designed to be IFC -> OpenCascade HLR Renderer -> SVG with no inbetween steps. So in theory it should be able to scale as well, but right now the projection vector performance only seems practical on small scenes based on my tests.

    There is another approach, developed by @agviegas on IFC.JS, but I don't know enough about it just yet on how it handles vectors, closed polygons, annotations, etc.

    Would love to hear @yorik and @aothms thoughts on this - the drawing generation issue is a huge problem which needs to be solved.

  • but right now the projection vector performance only seems practical on small scenes based on my tests.

    Performance is proportional to number of edges. In my experience you can have a bit of elements if they are modelled efficiently. But yeah other than that everything of interest is buried in the thread at https://github.com/IfcOpenShell/IfcOpenShell/issues/1153

  • Hey @Moult , we are focusing on floor plants and our implementation is super simple. We'll release it next week hopefully, so you can take a look and, if you have any questions, we can walk you through it! Our algorithm is quite fast regarding sectioned elements because it uses Garrett Johnson's BVH implementation for Three.js.

    ArnoldEstruturasGorgiousbitacovir
  • edited November 23

    Hello,
    Thank you again for your interesting answers.

    I tried IFC Convert, but it fails. Someone knows where the problem may come from.

    I made a very simple ifc (2 columns and a beam). first I tried converting to svg ... it failed. I therefore tried in the other format and I have the same problem. has anyone had the same problem?

    ... and if anyone has an idea for a viewer that could output elevations and sections directly, I'm still interested ;)

    thank you very much and good day !
    David

  • @Dav_id can you just use IfcConvert directly? https://github.com/IfcOpenBot/IfcOpenShell/commit/e0e8281a1e9249fe58e5f83c708310dbf6d9f0c0#comments

    The default settings of IfcConvert to svg are to only include spaces. Since you don't have any, it seems. That could be the "erreur" being reported.

    In the thread here there are some examples of command line options https://github.com/IfcOpenShell/IfcOpenShell/issues/1153#issuecomment-790626411

  • edited November 23

    thanks @aothms s and @JanF

    @aothms said:
    @Dav_id can you just use IfcConvert directly? https://github.com/IfcOpenBot/IfcOpenShell/commit/e0e8281a1e9249fe58e5f83c708310dbf6d9f0c0#comments

    The default settings of IfcConvert to svg are to only include spaces. Since you don't have any, it seems. That could be the "erreur" being reported.

    In the thread here there are some examples of command line options https://github.com/IfcOpenShell/IfcOpenShell/issues/1153#issuecomment-790626411

    I tried directly and it works in * .obj, * .dae, * .stp ... but not in * .svg :( ... I will look there, probably I do not type what it takes ...

    I don't understand what you mean by "The default settings of IfcConvert to svg are to only include spaces. Since you don't have any, it seems. That could be the" error "being reported"

    I will look at the thread ... but so far, I have also tried in admin mode and I have the same message ...

    thanks again
    BR
    David

  • I don't understand what you mean by...

    Maybe you can try with IfcConvert <in.ifc> <out.svg> --exclude entities IfcOpeningElement to override the default set of elements included. It would also help if you post the full command line output and input.

  • @agviegas said:
    Hey @Moult , we are focusing on floor plants and our implementation is super simple. We'll release it next week hopefully, so you can take a look and, if you have any questions, we can walk you through it! Our algorithm is quite fast regarding sectioned elements because it uses Garrett Johnson's BVH implementation for Three.js.

    This looks amazing!

  • @Moult said:
    FreeCAD works, but I'm worried about performance too. In FreeCAD, it would be IFC -> FreeCAD -> FreeCAD HLR Renderer -> SVG. Historically, in the past with the BlenderBIM Add-on I did IFC -> Blender -> Blender Hybrid Raster + Vector Renderer -> SVG. The Raster Vector hybrid allows it to scale up to huge scenes, as the vector only dealt with the cut plane, and the raster handles everything in the background. Blender, especially when combined with Blender links, can handle hundreds of thousands of objects and produce a raster render super quickly. I'm not so sure if FreeCAD can handle >100k objects, or something like 1GB of federated IFCs.

    Sure there are limits. FreeCAD is not "for everyone, for everything". People must try it and see if this tool is suitable for their workflow or part of it.

  • edited November 24

    @aothms said:

    I don't understand what you mean by...

    Maybe you can try with IfcConvert <in.ifc> <out.svg> --exclude entities IfcOpeningElement to override the default set of elements included. It would also help if you post the full command line output and input.

    thx @aothms,
    I still don't know how to use it (sorry) but it's better

    the last thing i tried is this
    IfcConvert test2.ifc test3.svg --exclude=entities IfcOpeningElement --auto-elevation
    and here is the result
    IfcOpenShell IfcConvert -e0e8281a (OCC 7.5.3)
    Scanning file...
    Done scanning file
    Parsing input file took 0 seconds
    Creating geometry...
    Done creating geometry (3 objects)
    Conversion took 0 seconds
    my *.ifc is really simple

    and here is the result in inkscape ... oups

    i will have a look to the --help command to show how that works
    thanks again !
    David

  • Yes and have a look at the examples in https://github.com/IfcOpenShell/IfcOpenShell/issues/1153 --bounds (without or without --scale) will likely help. And --svg-project to include things besides purse sections with the cross plane. --section-heights-from-storeys is a good default to include as well typically

Sign In or Register to comment.