Skip to main content

An open-source IFC 4.3 to structural engineering analytical and detailed design exporter

Project description

bridge-io 🌉

PyPI version License: MPL 2.0 GitHub workflows

bridge-io is a production-grade, highly extensible open-source Python library designed to act as an interoperability translation layer. It parses bridge models represented in the international building information modeling standard IFC 4.3 (Industry Foundation Classes for Infrastructure) and exports them into standard structural engineering analytical and detailed design packages.

🚀 The Translation Pipeline

graph LR
    A[IFC 4.3 File] --> B[bridge-io Parser]
    B --> C[In-Memory Spatial Tree]
    C --> D[Target Exporter]
    D --> E[Target Design File]
    
    style A fill:#34495e,stroke:#2c3e50,stroke-width:2px,color:#fff
    style B fill:#3498db,stroke:#2980b9,stroke-width:2px,color:#fff
    style C fill:#2ecc71,stroke:#27ae60,stroke-width:2px,color:#fff
    style D fill:#f39c12,stroke:#d35400,stroke-width:2px,color:#fff
    style E fill:#e74c3c,stroke:#c0392b,stroke-width:2px,color:#fff

By reading standard structural alignment curves, deck sections, girder distributions, pier cap geometries, and materials via the ifcopenshell framework, bridge-io builds a highly cohesive intermediate spatial tree which is then mapped and serialized by specialized exporters.


🔌 Target Integrations

Target Software Exporter Key Export Format Status
CSiBridge csibridge .b2k / SAP2000 Text Format Production
PGSuper pgsuper .pgt / XML Project Template Production
Bentley OpenBridge openbridge .xml / .landxml LandXML Schema Production
midas Civil midas .mxt Midas Exchange Command File Production
STAAD.Pro staad .std STAAD Structural Commands Production
LUSAS lusas .cmd LUSAS CMD Automation Script Production
LARSA 4D larsa4d .csv / .txt Copy-Paste Data & COM Script Production

📦 Installation

To install bridge-io from PyPI, run:

pip install bridge-io

Alternatively, to install from source using Poetry or Hatch:

git clone https://github.com/bridgecopilot/bridge-io.git
cd bridge-io
pip install .

💻 Programmatic API Usage

Translate models programmatically using Python:

from bridge_io import IFCParser, get_exporter

# 1. Parse your IFC 4.3 infrastructure file
parser = IFCParser()
bridge_def = parser.parse("my_bridge_model.ifc")

print(f"Parsed Bridge: {bridge_def.name}")
print(f"Total Spans count: {len(bridge_def.spans)}")

# 2. Re-route structural parameters to PGSuper XML templates
pgsuper_exporter = get_exporter("pgsuper")
pgsuper_exporter.export(bridge_def, "outputs/pgsuper_model.pgt")

# 3. Export to analytical CSiBridge B2K command file
csibridge_exporter = get_exporter("csibridge")
csibridge_exporter.export(bridge_def, "outputs/csibridge_model.b2k")

🛠️ CLI Usage

bridge-io includes a rich command-line interface for batch processing and automated translation pipelines:

# List all registered exporters and their target extensions
bridge-io list

# Translate an IFC 4.3 model to CSiBridge B2K
bridge-io translate input_bridge.ifc --target csibridge --output translated_model.b2k

# Translate an IFC 4.3 model to PGSuper XML
bridge-io translate input_bridge.ifc -t pgsuper

🤝 Extensibility & Contributions

bridge-io was architected with a developer-first mindset. If you wish to write and register a new exporter for a structural package not listed here (e.g. Ansys APDL, Abaqus, Autodesk Robot, or SAP2000), please consult our CONTRIBUTING.md manual.

We highly encourage engineering firms and BIM developers to showcase their custom translators by contributing upstream!


📄 License

This project is licensed under the Mozilla Public License 2.0 (MPL 2.0) - see the LICENSE file for details. ops@bridgecopilot.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bridge_io-0.1.1.tar.gz (35.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bridge_io-0.1.1-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

File details

Details for the file bridge_io-0.1.1.tar.gz.

File metadata

  • Download URL: bridge_io-0.1.1.tar.gz
  • Upload date:
  • Size: 35.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bridge_io-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7337deac0697263d8e54fd5fd2d701d7a4d712d29ad2baeb5641971d6ef632c6
MD5 9cfd267c72bb6272add8c3a81200d8b1
BLAKE2b-256 57bfe85c44a52f25f510b020749170a9f43965de9acf10baceac8d5861d4e75a

See more details on using hashes here.

Provenance

The following attestation bundles were made for bridge_io-0.1.1.tar.gz:

Publisher: publish.yml on bridge-copilot/bridge-io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bridge_io-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: bridge_io-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 39.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bridge_io-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b5e89b0da0d016ddaddc0a9c55bc6f44af99d3f4ecf161c1239ea3ad09768c23
MD5 438d61b76fab6588dcf018818b21fbd1
BLAKE2b-256 1e526873e0d4546fa49a2f6c087f0e6c4a24632a36e9e96da637d4291c10bb41

See more details on using hashes here.

Provenance

The following attestation bundles were made for bridge_io-0.1.1-py3-none-any.whl:

Publisher: publish.yml on bridge-copilot/bridge-io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page