Skip to main content

ifctester

With IfcTester, you can author and read Information Delivery Specification - IDS - files and validate your IFC models against IDS to see if your model is compliant. After the audit, you can generate reports in console, as a web page, JSON or BCF file. It works from the command line, as a web app, or as a library.

How to use it

Command line use

.. code-block:: bash

# run console reporter
python -m ifctester example.ids example.ifc
python -m ifctester example.ids example.ifc -r Html -o report.html

Available flags:

  • -r / --reporter: The reporting method to view audit results. Availabe reporters: Console, Txt, Json, Html, Ods, Bcf
  • --no-color: Disable colour output (supported by Console reporting).
  • --excel-safe: Make sure exported ODS is safely exported for Excel.
  • -o / --output: Output file (supported for all types of reporting except Console).

Code example

import ifcopenshell
from ifctester import ids, reporter


# create new IDS
my_ids = ids.Ids(title="My IDS")

# add specification to it
my_spec = ids.Specification(name="My first specification")
my_spec.applicability.append(ids.Entity(name="IFCWALL"))
property = ids.Property(
    baseName="IsExternal",
    value="TRUE", 
    propertySet="Pset_WallCommon", 
    dataType="IfcBoolean",
    uri="https://identifier.buildingsmart.org/uri/.../prop/LoadBearing", 
    instructions="Walls need to be load bearing.",
    cardinality="required")
my_spec.requirements.append(property)
my_ids.specifications.append(my_spec)

# Save such IDS to file
result = my_ids.to_xml("SampleIDS.xml")

# open  IFC file:
my_ifc = ifcopenshell.open("MyIfcModel.ifc")

# validate IFC model against IDS requirements:
my_ids.validate(my_ifc)

# show results:
reporter.Console(my_ids).report()

Release files for ifctester 0.0.240518

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ifctester 0.0.240518
File Size Uploaded
ifctester-0.0.240518.tar.gz 36.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ifctester 0.0.240518
File Interpreter ABI Platform
ifctester-0.0.240518-py3-none-any.whl Python 3 none any Details

Total release size: 62.3 kB

Release files / ifctester-0.0.240518.tar.gz

Download URL ifctester-0.0.240518.tar.gz
Size 36.0 kB
Tags Source
SHA-256 checksum
How to use checksums
db7d788460f2a5d8752348ddd4824a66d4262d425d3723282cedaeef617660bc
BLAKE2b-256 checksum
How to use checksums
f0a6dbb823bd79e944f41ef4158d7d9ebda022aeadfee7920497f636996fc183
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.9

Release files / ifctester-0.0.240518-py3-none-any.whl

Download URL ifctester-0.0.240518-py3-none-any.whl
Size 26.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ff0893442ff7b02635f8dac64a5176fc17c2d35324650ed0d5df885c77c669f
BLAKE2b-256 checksum
How to use checksums
f716b6583dfacebbe2628236869cea006cad342d271785763c7785f53a68030d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.9
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page