OSArch Community

Machine readable BIM requirements

  1. D
  2. R
  3. D

    Brilliant @ReD_CoDE that's just what I was looking for.

  4. M

    @duncan that is what an MVD (Model View Definition - a definition of what should be included in a model) was designed for. However, the devil is in the details. For this reason, at work we've translated exchange requirements into the MicroMVDs that I've half documented in the wiki (they read like English, but are machine readable). It has been very successful - with both technical and non-technical (people who don't know anything about IFC and don't use BIM software) able to appreciate. I described a bit of it here. The academic paper here also justifies why MVDs are not currently capable. The four main points are that:

    1. Are highly bespoke, leading to a lack of implementations

    2. Have a lot of dialects due to an ambiguous specification, leading to unreliable execution

    3. Inefficient to describe exchange requirements (a unit testing approach results in an average of 10% of the size of an mvdXML definition)

    4. There are certain exchange requirements which simply cannot be described in mvdXML

    Tools like the one @ReD_CoDE has pointed to help generate mvdXML - the machine readable format for an MVD.

  5. R

    @Moult MicroMVDs are nothing new, and even IDM Toolkit is developed to solve these kinds of issues and many other issues too

    When ISO19650 came, IFC was not (and still is not) ready for that, and IDM Toolkit is the attempt to solve the issues, and introduce new IDM which will come 2021

    However, some from bSI built it as commercial solutions

    The approach you follow has some advantages as well as disadvantages, however, it's invaluable too me

    And in the end, the day I decide to build IfcXtreme, all of those solutions will destroy, including what you purpose

  6. D

    @ReD_CoDE thanks for your comment. You might want to check the dictionary definition of invaluable. I'm guessing you probably mean 'not valuable to me' since that's usually what you write. 'Invaluable', to the great frustration of many with English as a second language, means the opposite. I have no idea how the English language did something so stupid - but it happened.

    https://www.merriam-webster.com/dictionary/invaluable

  7. R

    @duncan thanks, at first many confuse, the first time I heard "invaluable" I thought it's negative too, however, soon realized that it has an extremely positive meaning:

    
    Invaluable: /ɪnˈvaljʊ(ə)b(ə)l/
    
    adjective
    
    extremely useful; indispensable.
    
    "an invaluable source of information"
    
  8. B

    tried to run BIM-tester. At the moment my blender is broken :-( tried to download BIM-tester from the BlenderBIM page but this does not run on my system either ...

    [6224] Error loading Python lib '/tmp/_MEIsfJQav/libpython3.7m.so.1.0': dlopen: /lib/x86_64-linux-gnu/libm.so.6: versionGLIBC_2.29' not found (required by /tmp/_MEIsfJQav/libpython3.7m.so.1.0)

    `

    How do I compile BIM-tester myself? Or is it a simple python module?

    cheers bernd

  9. B
  10. D
  11. M
  12. B
  13. B

    @Moult said:

    @bernd BIMTester should be run from Blender - the one on the website's download page is extremely outdated and should not be used. I'll update the downloads page to prevent confusing others, sorry. This page has instructions: https://wiki.osarch.org/index.php?title=Using_MicroMVDs_for_exchange_requirements

    How about the python module from ifcopenshell? AFAIKS I could run the method _runtests from bimtester module in ifcopenshell too?

    https://github.com/IfcOpenShell/IfcOpenShell/blob/d0c207f6b90877ee9f4a04434ac712e4f3867f6e/src/ifcbimtester/bimtester.py#L33

    but ist it installed somewhere? How do I import this module?

  14. B

    OK importing is easy by the use of sys.path.append() the time beeing, but how to run bimtester methods standalone with python directly?

  15. B

    It runs from blender :-) great stuff. I need to play with this ... But still I would like to know how to run it from python.

  16. B

    about MicroMVD for element classes ... https://wiki.osarch.org/index.php?title=Element_classes_MicroMVD

    I would like to check if all IfcSpace in the ifc fit the following requirements:

    • the guid does not matter, it must just be provided for each IfcSpace

    • the Name attribute of the IfcSpace entity must be provided for each IfcSpace

    • the LongName attribute of the IfcSpace entity must be provided for each IfcSpace

    • the pset Pset_SpaceCoveringRequirements must be provided for each IfcSpace

    • the attribut FloorCovering in pset Pset_SpaceCoveringRequirements must be provided for each IfcSpace

    that would be a start ...

    ATM I only found how to check for some attributes and properties of a special guid entity in MicroMVD

  17. M

    @bernd You can run it standalone python bimtester.py ...

    A new MicroMVD statement needs to be defined. It should be very fast to write.

  18. B

    and the ifc file? how to define the ifc file to take for bimtester?

  19. B

    @Moult said:

    A new MicroMVD statement needs to be defined. It should be very fast to write.

    would you help to start ? May be only with this:

    the Name attribute of each IfcSpace entity must be provided

  20. B

    @Moult said:

    @bernd You can run it standalone python bimtester.py ...

    works great. How to create the html files from json output? adding -r does not work

  21. B

    for some reasons my *.feature files are copied into soruce tree of ifcopenshell and sometimes deleted in its origin ... there are happen some strange os copy and remove actions in bimtester if run in python or as python method

  22. B

    all this seam only to run if the *.feature file will be copied into the source tree of bimtester.py inside the feature directory over there ... ?

    Actually this is what bimtester does and calls behave with this directory

  23. B
  24. M

    Sorry - I haven't had the time yet to look at your issue.

    @Moult said:

    @bernd BIMTester should be run from Blender - the one on the website's download page is extremely outdated and should not be used. I'll update the downloads page to prevent confusing others, sorry.

    The downloads page has now been updated.

  25. B

    bringing this up once again ...

    AFAIKT bimtester is not installed if run make install for ifcopenshell. Would you confirm this?

    I tried to use the bimtester from source to import and run ...

    This is what I came up with.

    
    # Copy the feature files inside the feature directory in ifcopenshell source!
    
    from behave.__main__ import main as behave_main
    
    args = ['/home/hugo/Documents/dev/ifcopenshell/ifcopenshell-official/ifcos/src/ifcbimtester/features', '--format', 'json.pretty', '--outfile', 'report/report.json']
    
    behave_main(args)
    
    
    import sys
    
    sys.path.append("/home/hugo/Documents/dev/ifcopenshell/ifcopenshell-official/ifcos/src/ifcbimtester/")
    
    import bimtester
    
    bimtester.generate_report()
    

    very cumbersome IMHO

  1. Page 1
  2. 2

Login or Register to reply.