Git Product home page Git Product logo

ifc_roundtrip's Introduction

IFC_roundtrip

An open, crowdsourced library of IFC/BIM test files.

The objective of this initiative is to identify, within the various BIM Platforms, ...

  • ...what objects/functionality can be round-tripped currently.
  • ...what objects/functionality could be prime candidates for round-tripping in the future.

Hopefully, in the future, this project will evolve to the point that it could be used as the basis for a new type of 'Roundtrip MVD'.

  • What is an MVD?
  • What are the current, sanctioned MVDs?

Contributing


As it is open source, and crowdsourced, please add to the project as you see fit. As you can imagine, this is a BIG project.

...

The way i'm tackling it thus far, is to create a native object within a native authoring BIM program that tests one single function/attribute.

examples...

  • wall linked/constrained to building elevations
  • wall with unique header profile
  • slab with a slope
  • slab with a opening
  • slab with different material profiles/layers
  • door with a 2d swing profile
  • etc.

The next step is to export out an IFC file using the authoring program's specific MVD settings (Coordination View 2.0 or FM handover, for example)

The next step is to import the test file into another BIM platform, again using a specific MVD setting. From here, I've denoted that if the translation has passed/failed (or partial) based on how much 'intelligence' remains intact upon import.

Although somewhat vague, (could use help tightening this definition), I define ‘intelligence’ as how easy/hard it would be to re-conjure or imbue the import object with the same functionality that was present in the export program.

I use the following logic for file naming (a logic that could change over time, open to ideas)...

  • Authoring Program(Version,Element & Test)--Export Program(Version,MVD)--Import Program(Version,MVD)

Examples:

  • Revit(2014,Wall(Base_Constraint('Level 1'),Top_Constriant('Level 2'))--IFCExporter(2_9_0,CV_2_0)--ArchiCAD(17,CV_2_0).pln
  • ArchiCAD(17,Wall(Home_Link('1st FLOOR'),Top_Link('2nd FLOOR'))--ArchiCAD(17,CV_2_0)--Revit(2014,default).rvt

In terms of help, it would be great to work with other IFC enthusiasts who can either create native/IFC test files from their BIM platform of choice and/or import the IFC files from other platforms, and report results.

As i said before, i expect this project to evolve over time and am open to reinterpretations and reformatting of the approaches. Thus the beauty of open source--please fork at your fancy.


Tools


If you're not familiar with Git or Github workflow, I highly recommend using Github's Windows Client. Go here, for an overview. Once you start using this distributed revision control, you will start demanding similar workflows in the AEC industry.


License


Highly permissive! BSD, MIT... take your pick.

ifc_roundtrip's People

Contributors

theoryshaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ifc_roundtrip's Issues

Allplan

Hi Ryan,

this is Bernd. Just saw the gitrepo of test ifc files. Are you interested in adding Allplan Nemetschek to the test suites too?

kind regards bernd

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.