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.240423

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.240423
File Size Uploaded
ifctester-0.0.240423.tar.gz 35.5 kB Details

Built distribution (wheel)

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

Total release size: 61.3 kB

Release files / ifctester-0.0.240423.tar.gz

Download URL ifctester-0.0.240423.tar.gz
Size 35.5 kB
Tags Source
SHA-256 checksum
How to use checksums
27528cc33fceaecafed088c3d9ebf9256a59c231ca7112421b3cf0f7c460ab96
BLAKE2b-256 checksum
How to use checksums
859c069df486c92f9e2ae4ddfef0cc931f86b54cd8ab167fbc2c63415259f79d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.9

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

Download URL ifctester-0.0.240423-py3-none-any.whl
Size 25.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4684ec7c20f2a9c9ce921073d43317883a057ffdf394acbee48bfd8b86328434
BLAKE2b-256 checksum
How to use checksums
cb5ec43f64795844308ade8fda3ee8a36a679e958e0aa46eae23f2232f9ec80e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.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