Sunday, July 26, 2015

Creating 2d SVG floor plans from IFC files


SVG floor plans extracted from the Medical Clinic model by USACE ERDC and buildingSMART Alliance
IfcConvert converts IFC files into a variety of output formats. Most of you will know these formats include geometrical models, either tessellated and easy to understand for importing applications, such as Wavefront OBJ and Collada, or Boundary Representation models in STEP or IGES with support for curved surfaces. Some of you might know the 0.5.0 branch also features an XML output format that contains a decomposition tree and property data of the building elements.

In collaboration with ROOT B.V. a new two-dimensional geometrical output format is added, called SVG (Scalable Vector Graphics). In order to turn the three-dimensional IFC model into 2d floor plans, the model is sliced at horizontal cross-sections. ROOT B.V. uses this format for their web-based tool flatt., an online facility management platform that aggregates sources of additional information into a two-dimensional overview. The development of the SVG conversion has been executed by AECgeeks, a consultancy company founded by one of the main contributors to IfcOpenShell. Both companies are strongly committed to free open source software, so we are happy to see that these developments are merged back into IfcOpenShell for the greater public good.

The SVG output format of IfcConvert is integrated into the public IfcOpenShell source code as of today. The image on the right does not show the direct output of IfcConvert, the isometric projection is added in a vector graphics manipulation tool.


10 comments:

  1. Lets credit USACE ERDC and buildingSMART Alliance for sharing the Medical Clinic as a test bed.

    ReplyDelete
    Replies
    1. Absolutely. Attribution added. Thanks.

      Kind regards,
      Thomas

      Delete
  2. Hello,
    Can you tell me how to ifc file import in BIMserver.

    ReplyDelete
  3. Hi
    I was looking forward to seeing the svg export, but the 0.5.0 preview-1 available from ifcopenshell.org/ifcconvert.html seems to lack this output option.
    Any chance that a preview-2 will be available?
    Best regards
    Michael Bjerregaard-Pedersen

    ReplyDelete
    Replies
    1. Unfortunately this is true. The official binaries on the website are horribly out of date. Keep in mind that IfcOpenShell is a software library oriented towards software developers. We are working on a continuous build system, but for the time being that it is not up and running I would recommend compiling IfcOpenShell yourself, with the automatic build scripts [1] [2], building IfcOpenShell is a breeze on all major operating systems.

      [1] https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win
      [2] https://github.com/IfcOpenShell/IfcOpenShell/blob/master/nix/build-all.py

      Hope that helps,

      Kind regards,
      Thomas

      Delete
    2. Hey
      I understand very well your constraints but it would be really great to have fresh version (ex. to support svg) because underlying dependencies required to compile from source are heavy: git, cmake, visualstudio 2008, VS env.
      This doesn't helps end-user to adopt this tool :/

      Regards
      Brice

      Delete
    3. I had tried to install visual studio (15, 2017) to compile but seems latest supported cmake version is 14 2015. I were unable to download older version of visualstudio on msdn. Blocked :/

      Delete
    4. @Brice,

      I understand your sentiment. It is something we are aware of and working on. With build scripts for all common operating systems at least the process is somewhat automated. We are working on a system with automatic builds on every commit, but that simply takes time, as existing systems don't cut it due to eg. compile time constraints. Keep in mind that adoption by itself does not put bread on the table. Most contributions come from 'heavy' users. Just some reasons why continuous integration has not yet got the highest priority.

      MSVC 2017 is a bit bleeding edge at the moment, but it seems CMake 3.7.2 at least should support it [1]. Then again, it might be better to stick to MSVC 2015 as I have no experience with 2017, it is on the radar though [2].

      [1] https://cmake.org/cmake/help/v3.7/generator/Visual%20Studio%2015%202017.html
      [2] https://github.com/IfcOpenShell/IfcOpenShell/issues/194

      Kind regards,
      Thomas

      Delete
  4. I would like that as well please :)
    Best regards,
    Lukas.

    ReplyDelete
    Replies
    1. Please see reply above.

      Kind regards,
      Thomas

      Delete