OSArch Community

IDS Information Delivery Specification

  1. A

    Hi! For some time I've been working on IfcOpenShell implementation of Information Delivery Specification (IDS) * standard from buildingSMART. I wasn't very active on the forum, but will try to make up for that :) As @Moult announced here, I'm involved in the GSoC '21 programme to: Add IDS validation with BCF output to IfcOpenShell with invaluable @aothms and others guidance as I'm still new to this.

    Parsing and validation part is already completed (available on my fork branch) and now working on authoring and reporting. Both from code and web-app. Full list of features to be implemented is documented on IfcOpenShell/issues/1349. Initial prototype of authoring & validation webapp is hosted here: artomczak.pythonanywhere.com.

    Will also try to post progress in current thread.

    Let me know if I can help you with anything related to IDS and I look forward to your feedback :)

    __

  2. A

    bSI has published an updated version of the IDS and an example file here: http://standards.buildingsmart.org/IDS/

    Main changes:

    • 1to1 requirements (all except restrictions/pattern matching) should be enclosed in <simpleValue> tag

    • each specification needs 'necessity' attribute with 'required'/'optional' value. 'Optional' enables passing validation even if no applicable elements are present in the model.

    • improved 'xs:restrictions' for all the facets

  3. M

    @ATomczak do you think the time is ripe to do more BIMTester integration, perhaps connection with BCF, and with Gherkin syntax?

  4. A

    almost, still working on the new changes to the schema. But we can have a meeting this week and start integration. When it comes to BCF, currently we have an option to generate a report from the validation using BCF StreamHandler. It does not produce a viewpoint or reference to entities, just a title and description.

  5. M

    @ATomczak nice. When would you like to meet? I'm free during Sydney waking hours.

  6. A

    @Moult today/tomorrow is fine for me, I will DM you.

  7. B

    Has some of the work been merged into ifcopenshell yet, or is it all on atomczak github?

  8. M
  9. A
  10. B

    Hi guys,

    Thanks for your work.

    I'm trying to use "My Information Delivery Specification" to check my ifc.

    I create my IDS from https://artomczak.pythonanywhere.com/create/ and then save it as an .xml file.

    In blender bim, in BIMTester panel I fill The "IFC File" and "Feature / IDS" values and the i click on "Execute BIMTester".

    Is it the correct workflow?

    Unfortunately I receve this error:

    Is because of my blender settings or I miss something?

    Thanks for you replay.

    I attach the dataset too (the .xml file is in .txt because is forbidden to download .xml files)

  11. B

    Maybe i find the answer:

    the problem is: where i have to put these file?

    Thanks

  12. A
  13. B

    Now i've recieved this.

  14. A

    The problem seems to be somewhere else. @Moult ?

  15. M
  16. B

    I'll wait. Thanks

  17. B

    Thanks for the new release. Unfortunately I got the same error

    Someone can help me to fix it? Thanks!

  18. B
  19. B

    With blenderbim-220118 now everything works fine. Thanks.

  20. A

    Good to hear, sorry it took so long.

  21. F

    Hi all!

    Although I have some basic knowledge of using IfcOpenShell for simple operations, I am pretty new to using IDS through Python.

    I'm using Anaconda and Jupyter notebooks to test and experience the toolkit (IfcOpenShell). However, I am not able to import "ids".

    Is there something I should install beforehand apart from IfcOpenShell?

    Also, I would like to know how to develop my own IDS with information requirements using code (that is, Python and IfcOpenShell) and still validate an IFC file using my custom IDS file.

    Thank you, and I apologise if any issue may seem too obvious or way too easy to solve.

  22. A

    Hi @FDinis! You are in the right place to ask :)

    I assume your IfcOpenShell is working fine, but you get an error when try to do from ifcopenshell import ids. First of all, make sure that you have ids.py file inside your ifcopenshell library folder, like in the repo: https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.7.0/src/ifcopenshell-python/ifcopenshell

    Have you installed IfcOpenShell using the installed or cloned the repository? If that doesn't fix the problem let me know.

    Once you get it to work, authoring your own IDS is not hard, have a look at this example:

    
    i = ids.ids()
    
    i.specifications.append(ids.specification(name="Test_Specification"))
    
    m = ids.material.create(location="any", value="Test_Value")
    
    i.specifications[0].add_applicability(m)
    
    i.specifications[0].add_requirement(m)
    

    There are many examples in the test file, including how to add restrictions, validate created IDS on IFC and create reports: https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.7.0/src/ifcopenshell-python/test/test_ids.py

    but also you can ask here and we will try to help :)

  23. F

    Hey @ATomczak ! Thank you for the prompt reply! :)

    I was missing ids.py in the first place, but even after fixing it I still get this error message:

    "ModuleNotFoundError Traceback (most recent call last)

    Input In [2], in <module>

           import ifcopenshell

    ----> from ifcopenshell import ids

    File D:\Anaconda3\envs\IFC_env\lib\site-packages\ifcopenshell\ids.py:28, in <module>

      import ifcopenshell.util.element
    
     import ifcopenshell.util.placement

    ---> from bcf.v2.bcfxml import BcfXml

     from bcf.v2 import data as bcf
    
      from xmlschema import XMLSchema

    ModuleNotFoundError: No module named 'bcf'"

    I also tried to clone the repo from GitHub, but I still get the same error. :/

    Still stuck at this... Any thoughts on how to solve this issue?

    Thank you!

  24. A

    @FDinis you are almost there.

    The bcf is among other packages in the IfcOpenShell\src. You can simply copy this folder to your libraries folder, or add it to sys.path. I'm not acquainted with Anaconda, but in venv I'm adding it to path by typing in Windows PowerShell:

    $env:PYTHONPATH="[YOUR PATH]\IfcOpenShell\src\bcf"

    One more clue, make sure you have ifcopenshell_wrapper.py and _ifcopenshell_wrapper.pyd files in your ifcopenshell-python\ifcopenshell folder. If not, it means that you've copied the source code from the IfcOpenShell repository which isn't compiled. The most recent compiled code is here: https://github.com/IfcOpenBot/IfcOpenShell/commit/000e3acb2bf16ff0863ab91b208b7dbda56f8b59#comments. Make sure you download for the same version of Python as you are using (3.10 == 3.1).

    Let me know if that works! I agree that the configuration steps are not obvious, we should add clear instructions for others.

  25. F

    @ATomczak Thank you for the valuable tips!

    It's finally working properly! :)

    I'm checking the examples since I want to create custom IDSs and validate IFC files using those IDS files.

    Thank you once again ;)

  1. Page 1
  2. 2

Login or Register to reply.