--- name: engineering-ocr-blueprints description: Read and parse engineering drawings and BIM files. Extracts text/dimensions/formulas from drawing images via Mathpix and Gemini Vision, parses DXF/DWG geometry via ezdxf (layers, entities, lengths, title-block text), and inspects IFC/BIM models via ifcopenshell (elements, quantities, spatial structure). Use when a user provides a drawing image, PDF plan, DXF, or IFC file and asks to read it, extract dimensions/text, list layers, count elements, or parse the BIM model. ---
📑 engineering-ocr-blueprints — قراءة المخططات الهندسية و BIM
> قراءة المخططات: Mathpix (نص/معادلات/أبعاد) + Gemini Vision (فهم المخطط) + ezdxf (DXF) + ifcopenshell (IFC/BIM). > مُتحقّق: ezdxf + ifcopenshell مثبّتان. MATHPIX_APP_ID/KEY + GEMINI_API_KEY متاحة.
---
🎯 القدرات
1. Mathpix OCR — استخراج نص/أبعاد/معادلات من صورة المخطط (دقة عالية للنص الهندسي والرموز). 2. Gemini Vision — فهم المخطط: تحديد العناصر، الـ grid، الـ title block، الملاحظات. 3. DXF parser (ezdxf) — layers، entities count، أطوال الخطوط، نص الـ title block، blocks/inserts. 4. IFC parser (ifcopenshell) — أنواع العناصر (walls/slabs/columns…)، عددها، البنية المكانية (site/building/storey)، الكميات (Qto).
---
🛠️ السكربت
scripts/blueprint_ocr.py
الأوامر
bash
1) DXF inspection (layers, entities, title-block text)
python3 scripts/blueprint_ocr.py dxf --file plan.dxf2) IFC inspection (elements by type, spatial structure, quantities)
python3 scripts/blueprint_ocr.py ifc --file model.ifc3) Mathpix OCR on a drawing image
python3 scripts/blueprint_ocr.py mathpix --image plan.png4) Gemini Vision read
python3 scripts/blueprint_ocr.py vision --image plan.png --prompt "list all dimensions and the title block"python3 scripts/blueprint_ocr.py --help
---
🔑 المفاتيح المطلوبة
MATHPIX_APP_ID + MATHPIX_APP_KEY -> mathpix sub-command
GEMINI_API_KEY (or GOOGLE_API_KEY) -> vision sub-command
(dxf / ifc need no keys — pure local parsing)
🔗 التكامل
- المخرجات →
quantity-takeoff-engine(كميات) وcivil-methodology-engine(scope). - IFC/Revit الكبير → APS Model Derivative (عند توفّر AUTODESK_CLIENT_ID).
⚠️ قواعد
- DWG غير مدعوم مباشرة بـ ezdxf؛ حوّله إلى DXF أولاً (ODA File Converter أو APS) — موثّق في السكربت.
- راجع دائماً مخرجات الـ OCR/Vision ضد المخطط الأصلي قبل الاعتماد عليها في الحصر.
- IFC schemas مختلفة (IFC2X3 / IFC4) — السكربت يكتشفها تلقائياً.