Batch-Processing Vendor P&IDs - Console-Based Annotation Engine
By Anand George
Challenge
The client had received over 500 vendor P&IDs for package equipment — including skids, compressors, and instrument panels — as part of a downstream refinery expansion. These P&IDs varied widely in symbology and layout but were all delivered in PDF format with no structured data.
Their in-house team lacked the manpower to manually annotate these at scale, and the company’s IT policy forbade uploading any engineering files to external cloud services, ruling out most off-the-shelf AI tools.
Solution
Storm Consulting delivered a console-based annotation tool — a lightweight, command-line application that could be deployed on the client’s internal servers with no internet dependency.
Key features included:
- Batch processing of P&IDs using folder-based input/output structure
- Automated symbol detection, tag extraction, and line tracing
- Optional flag-based toggles to include/exclude OpenAI-based corrections
- Outputs in both annotated image overlays and structured CSV files
Implementation Highlights
- Installed the tool on 3 internal machines as part of a parallel pipeline
- Integrated with their existing Windows batch job scheduler
- Used project-specific template sets for vendor-drawn control blocks
- Processed ~100 P&IDs per run (overnight jobs, no manual triggers needed)
- Engineers validated flagged outputs only (~10–15% of total)
Results
Metric | Manual Estimate | Console Tool Output |
---|---|---|
Total P&IDs | 500+ | 500+ |
Time to process (first batch) | ~4–5 weeks | 5 days |
Validation effort | 100% of files | ~15% (flagged elements) |
Accuracy post-review | ~97% | 97.8% |
Tool runtime per P&ID | ~1 minute | 40–60 seconds |
“This console tool blended right into our existing infrastructure. No UI, no internet — just results.” — Digital Engineering Lead, Client IT Division
Why It Worked
- Headless CLI design meant easy integration into batch scheduling and scripts
- Fully offline-compatible — zero cloud dependencies
- Custom template matching handled vendor-specific blocks
- Lightweight install — no special environment or Docker setup required
- Consistent structure in outputs allowed downstream integration with MTO tools