D1 Specifications
System Specifications
Status: Updated following client feedback.
Last updated:
This document describes the current specifications for the Adcut Logo Vectorizer. The system is intended to help Adcut employees convert customer-provided images into vector files that can be used as part of the company's water jet cutting workflow. Requirements are prioritized as definite, perhaps, or improbable based on their expected scope for the semester.
Purpose and intended users
The primary users are Adcut owners and employees who prepare customer artwork for water jet cutting, including operators and CNC programmers. Customer artwork may arrive in several image formats and must be converted into vector geometry before it can be used by the cutting workflow.
Different color sections of a logo represent distinct regions that should be traced separately, similar to a paint-by-numbers image. The primary goal of the system is to allow an employee to upload an image, automatically vectorize its regions, and export a usable DXF file.
User stories
- As an Adcut operator, I want to upload a customer-provided image so that I can convert it into a vector file for water jet cutting.
- As an Adcut operator, I want the system to identify the distinct color regions of an uploaded image and trace their boundaries so that each region can be represented accurately as a vector shape.
- As a CNC programmer, I want to export the generated vector paths as a CNC-compatible DXF file so that the file can be loaded into the software used to operate the water jet machine.
- As an Adcut operator, I want to preview and, when possible, correct the generated vector paths before exporting so that obvious conversion errors can be fixed without restarting the process.
Functional requirements
Definite
- Image Upload: The system shall allow users to upload common image formats, including JPEG, PNG, WEBP, GIF, and PDF.
- Color Reduction: The system shall allow the number of colors or regions used during vectorization to be configured or reduced.
- Color Region Detection: The system shall identify distinct color regions within an uploaded image.
- Edge Tracing: The system shall generate vector paths along the boundaries of detected color regions.
- Adjacent Boundaries: Vector paths for adjacent regions shall avoid unintended overlaps or gaps where possible.
- DXF Export: The system shall generate a DXF file that can be imported into the software used for Adcut's water jet workflow.
- SVG Export: The system shall support exporting the generated vector representation as a standard SVG file.
Perhaps
- Vector Preview: The system may allow users to view the generated vector paths before exporting them.
- Color Configuration: The system may allow users to adjust how detected colors are grouped before vectorization.
- Input Validation: The system may detect images that are difficult to vectorize, such as low-resolution images, photographs, gradients, or images containing excessive numbers of colors, and provide feedback to the user.
Improbable
- Manual Path Editing: The system may allow users to manually move or correct generated vector boundaries.
- Advanced Vector Editing: The system may allow users to delete regions, merge regions, or directly modify individual vector paths.
- Integrated CAD Editing: The system may integrate an open-source CAD or vector-editing tool for more advanced modification of generated files.
Non-functional requirements
Definite
- Windows Compatibility: The application shall run on the Windows computers used by Adcut employees.
- Open-Source Stack: The application shall be built using open-source technologies that can be used commercially without recurring licensing fees.
- Ease of Use: The interface shall be usable by Adcut employees without requiring software development knowledge.
- Processing Time: A typical image shall be processed in less than one hour.
- CNC Compatibility: Generated DXF files shall use vector geometry appropriate for CNC workflows, such as lines, arcs, or polylines rather than unnecessarily complex spline geometry.
Perhaps
- Local Operation: The application may perform the entire vectorization process locally on the user's computer without depending on a cloud service.
- Installation: The application may be packaged so that an Adcut employee can install and run it without manually configuring development tools.
Improbable
- Cloud Deployment: The system may additionally be deployable as a hosted application if Adcut later determines that cloud access would be useful.
Constraints and inverse requirements
Definite
- The core application shall not require paid or recurring software licenses.
- The system shall not require users to manually create vector geometry in order to complete the basic image-to-DXF workflow.
- Generated DXF files shall not depend on unnecessarily complex geometry when simpler CNC-compatible lines, arcs, or polylines can represent the same path.
Perhaps
- When operating locally, customer image files should not need to be uploaded to an external service.
Improbable
No additional constraints are currently identified at this priority.
Interfaces
Definite
- Upload Interface: The application shall provide an interface through which a user can select and upload an image.
- Vectorization Controls: The application shall provide controls for starting the conversion process and configuring required options such as the desired number of colors.
- Export Interface: The application shall provide a way for users to export and save generated DXF and SVG files.
- Water Jet Workflow Interface: The exported DXF shall be compatible with the downstream software used to prepare files for Adcut's water jet machine.
Perhaps
- Preview Interface: The application may display the generated vector paths before export.
- Error and Warning Interface: The application may inform users when an input image cannot be converted reliably and explain the issue.
Improbable
- Editing Interface: The application may provide interactive controls for selecting, moving, deleting, merging, or otherwise modifying generated vector regions.
- External CAD Interface: The application may connect to or embed an open-source CAD application for detailed path editing.
Expected workflow
The expected core workflow is: upload image → identify and reduce color regions → trace vector boundaries → optionally preview the result → export SVG or DXF.
The minimum successful semester deliverable is a system that allows an Adcut employee to upload an image, convert it into vector geometry, and download a DXF file that can successfully be used in Adcut's existing water jet workflow.
Open questions
Some implementation details still require further validation or testing with Adcut, including:
- The exact DXF version, units, scale, layer conventions, and other requirements of the downstream CAD/CAM software.
- The types and quality of customer images most commonly received by Adcut.
- The desired behavior when an image cannot be vectorized cleanly.
- Which editing capabilities, if any, are practical within the semester's scope.