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)
| File | Size | Uploaded | |
|---|---|---|---|
| ifctester-0.0.240518.tar.gz | 36.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|