Automated Technical Drawings Processor Software
Budget: €250 – €750 EUR
**Project: Development of Software for Automated Processing of Technical Drawings**
**Description:**
The goal is to develop a Windows-based software application that automates the processing of technical drawings. The focus is on simple and intuitive user interaction while integrating seamlessly into existing processes, such as ERP systems. The software will enable users to analyze technical drawings, extract relevant properties, remove logos, and save structured data for further use.
**Software Objectives:**
- **Logo Recognition and Removal:**
Automatic detection and removal of logos using two technologies: template matching and deep learning (e.g., YOLO). If no logo is detected, the user can manually mark it.
- **Property Recognition:**
Automatic extraction of critical information such as material, surface finish, and tolerances. Extracted data will be highlighted in the drawing and presented in a structured format (e.g., JSON). Users can review and adjust the data manually.
- **ERP Integration:**
Create new articles in the ERP system **Acumatica X360** based on the extracted information, including attaching processed drawings.
- **Export and Storage:**
Save processed drawings as vector-based PDFs with an additional page containing the extracted information.
- **Duplicate Check:**
Automatically verify whether a new article already exists in the ERP system by comparing relevant attributes such as drawing numbers and material.
- **Error Handling:**
Provide clear and understandable feedback to the user in case of errors during processing.
**Program Workflow (User Interaction):**
1. **Program Launch:**
- The user opens the Windows application.
2. **Opening Files:**
- The user selects a technical drawing or a folder containing multiple drawings.
3. **Preview:**
- The selected drawing is displayed in a preview window within the GUI.
4. **Property Recognition:**
- The software analyzes the drawing for properties such as material, surface finish, and tolerances.
- Found properties are:
- Displayed in a "Properties" window.
- Highlighted in different colors on the drawing for easy review (e.g., material = green, surface = blue).
- Editable by the user.
5. **Logo Recognition:**
- The software automatically searches for logos:
- First using template matching.
- If unsuccessful, it switches to a deep learning approach (e.g., YOLO).
- A statistics feature prioritizes frequently detected logos for optimized searches.
- Found logos are highlighted in the preview.
- Users can manually mark logos.
- Logos are removed entirely (data deleted) upon saving, without leaving placeholders.
6. **Save Options:**
- **"Save":**
- A new folder named "processed" is created in the same location as the original file.
- Extracted properties are added as a second page in the drawing.
- The processed drawing is saved as a vector-based PDF (DXF files are excluded).
- **"Save & Add":**
- Performs all steps of "Save."
- Additionally, creates a new article in the ERP system, including attaching the processed drawing.
7. **Logs and Status Window:**
- A status window displays key steps and results, such as:
- Logo successfully marked.
- Properties successfully identified.
- Drawing successfully saved.
- Article successfully created in the ERP system (with article number).
- Errors are clearly communicated to the user for immediate resolution.
**Core Tasks:**
1. **Algorithm Development:**
- Implementation of modern algorithms for property extraction and logo recognition (template matching and deep learning).
2. **Data Visualization:**
- Display extracted properties in the preview and highlight them in the drawing.
3. **User Interface:**
- Develop an intuitive GUI with preview functionality, manual editing, and a status log.
4. **ERP Integration:**
- Automate article creation in **Acumatica X360** via REST API.
5. **File Storage:**
- Save processed drawings as vector-based PDF files with additional information included.
6. **Error Management:**
- Clear and actionable error messages with user guidance for resolution.
**Technologies:**
- **Programming Languages:** Python, C#, or equivalent.
- **Frameworks:** TensorFlow, PyTorch, OpenCV (for image processing and machine learning).
- **UI Frameworks:** Qt, Electron, or alternatives.
- **ERP Integration:** Acumatica X360 REST API.
- **OCR Technology:** Tesseract OCR or equivalent solutions for text recognition.
**Deliverables:**
- A complete Windows-based software application with the described features.
- Detailed documentation of the source code and implementation.
- Log functionality for transparency and error management.
**Additional Information:**
A prototype with basic functionality (template matching for logo recognition and initial property extraction capabilities) is already available and can be used as a starting point if required.
**Description:**
The goal is to develop a Windows-based software application that automates the processing of technical drawings. The focus is on simple and intuitive user interaction while integrating seamlessly into existing processes, such as ERP systems. The software will enable users to analyze technical drawings, extract relevant properties, remove logos, and save structured data for further use.
**Software Objectives:**
- **Logo Recognition and Removal:**
Automatic detection and removal of logos using two technologies: template matching and deep learning (e.g., YOLO). If no logo is detected, the user can manually mark it.
- **Property Recognition:**
Automatic extraction of critical information such as material, surface finish, and tolerances. Extracted data will be highlighted in the drawing and presented in a structured format (e.g., JSON). Users can review and adjust the data manually.
- **ERP Integration:**
Create new articles in the ERP system **Acumatica X360** based on the extracted information, including attaching processed drawings.
- **Export and Storage:**
Save processed drawings as vector-based PDFs with an additional page containing the extracted information.
- **Duplicate Check:**
Automatically verify whether a new article already exists in the ERP system by comparing relevant attributes such as drawing numbers and material.
- **Error Handling:**
Provide clear and understandable feedback to the user in case of errors during processing.
**Program Workflow (User Interaction):**
1. **Program Launch:**
- The user opens the Windows application.
2. **Opening Files:**
- The user selects a technical drawing or a folder containing multiple drawings.
3. **Preview:**
- The selected drawing is displayed in a preview window within the GUI.
4. **Property Recognition:**
- The software analyzes the drawing for properties such as material, surface finish, and tolerances.
- Found properties are:
- Displayed in a "Properties" window.
- Highlighted in different colors on the drawing for easy review (e.g., material = green, surface = blue).
- Editable by the user.
5. **Logo Recognition:**
- The software automatically searches for logos:
- First using template matching.
- If unsuccessful, it switches to a deep learning approach (e.g., YOLO).
- A statistics feature prioritizes frequently detected logos for optimized searches.
- Found logos are highlighted in the preview.
- Users can manually mark logos.
- Logos are removed entirely (data deleted) upon saving, without leaving placeholders.
6. **Save Options:**
- **"Save":**
- A new folder named "processed" is created in the same location as the original file.
- Extracted properties are added as a second page in the drawing.
- The processed drawing is saved as a vector-based PDF (DXF files are excluded).
- **"Save & Add":**
- Performs all steps of "Save."
- Additionally, creates a new article in the ERP system, including attaching the processed drawing.
7. **Logs and Status Window:**
- A status window displays key steps and results, such as:
- Logo successfully marked.
- Properties successfully identified.
- Drawing successfully saved.
- Article successfully created in the ERP system (with article number).
- Errors are clearly communicated to the user for immediate resolution.
**Core Tasks:**
1. **Algorithm Development:**
- Implementation of modern algorithms for property extraction and logo recognition (template matching and deep learning).
2. **Data Visualization:**
- Display extracted properties in the preview and highlight them in the drawing.
3. **User Interface:**
- Develop an intuitive GUI with preview functionality, manual editing, and a status log.
4. **ERP Integration:**
- Automate article creation in **Acumatica X360** via REST API.
5. **File Storage:**
- Save processed drawings as vector-based PDF files with additional information included.
6. **Error Management:**
- Clear and actionable error messages with user guidance for resolution.
**Technologies:**
- **Programming Languages:** Python, C#, or equivalent.
- **Frameworks:** TensorFlow, PyTorch, OpenCV (for image processing and machine learning).
- **UI Frameworks:** Qt, Electron, or alternatives.
- **ERP Integration:** Acumatica X360 REST API.
- **OCR Technology:** Tesseract OCR or equivalent solutions for text recognition.
**Deliverables:**
- A complete Windows-based software application with the described features.
- Detailed documentation of the source code and implementation.
- Log functionality for transparency and error management.
**Additional Information:**
A prototype with basic functionality (template matching for logo recognition and initial property extraction capabilities) is already available and can be used as a starting point if required.