Digital twin-enabled BIM-blockchain integration for automated and transparent construction progress payments
Description
ACC_File_Tool.py: Utility script for managing file structures and interactions with Autodesk Construction Cloud (ACC) folders, including automated directory creation and file registration within BIM project environments called by Auto_Manual_Upload.py. Auto_Manual_Upload.py: Hybrid upload handler for both automated and manual document uploads to ACC and IPFS, enabling structured data ingestion from construction progress submissions. Contract_OCR_Parser.py: Implements OCR-based parsing for scanned PDF construction contracts, extracting structured metadata such as parties, dates, and payment clauses using AI-assisted NLP. DT_PAYMENT.py: Main entry script for initializing the BIM-Digital Twin-Blockchain integrated progress payment system. Orchestrates file parsing, progress validation, IPFS upload, and smart contract invocation. ethereum_client.py: Web3.py-based Ethereum client wrapper for handling blockchain connectivity, transaction broadcasting, and interaction with deployed smart contracts as a shared utility module used by both Smart_Contract.py and Gnosis_Triggering.py. Forge_Viewer.py: Provides interface functionalities to Autodesk Forge Viewer, supporting real-time visualization of BIM model progress and associating URNs with payment-triggered records called by DT_PAYMENT.py. Gnosis_Triggering.py: Implements interaction with Gnosis Safe for multi-signature payment authorization using ethereum_client.py. Monitors contract events and triggers Gnosis transactions upon validated progress milestones. Listens to progress update events triggered by DT_PAYMENT.py and Smart_Contract.py. Smart_Contract.py: Contains the complete Solidity smart contract and the Python service class (ForgeBlockchainService) for compilation, deployment, and interaction with Ethereum-based milestone payment contracts called by DT_PAYMENT.py, and interfaces with Gnosis_Triggering.py for multi-signature transactions; Upload_Tester.py: Simple testing utility to simulate local PDF upload to the backend API for debugging the full file ingestion and smart contract execution pipeline.