Files
prep-step/README.md
T
davideandClaude Sonnet 5 97d53a16dd Add raw-folder step, redesign UI, remember last DB path, add README
- Split the import flow into explicit steps: import/preview CSV, then a
  separate "Crea cartella raw" button that looks up CAD paths and copies
  matched files into raw/ next to the source distinta file.
- Redesign the top panel with grouped, auto-sized sections (database vs.
  import) instead of hand-tuned row heights, fixing overlap/clipping bugs;
  style the primary action button and polish the results grid.
- Remember the last successfully loaded database path in
  %AppData%\CadSearchGui\ultimo_db.txt so it reloads automatically on
  future launches regardless of the working directory.
- Ignore the /step/ working folder.
- Add a README with build/run/publish instructions and project overview.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 10:59:16 +02:00

2.7 KiB

CadSearchGui

App Windows Forms (.NET 10) per indicizzare, cercare e recuperare i file CAD Pro-ENGINEER/Creo di un disco/share di rete, e per trasformare l'estrazione "Distinta Base" del gestionale (file .xls/.xml) in un CSV con il percorso CAD di ogni componente.

Funzionalità

  1. Indice CAD — all'avvio carica automaticamente cad_index.db (se presente accanto all'eseguibile). Se manca, si può selezionare un DB esistente con Apri DB... o generarne uno nuovo con Aggiorna indice, che scansiona il disco (di default X:\, cartelle __Accessori, __B.end, __Corpi, __Fondi) e indicizza tutti i file.
  2. Importa Distinta Base — trascina (o scegli da file) l'estrazione .xls/.xml del gestionale (foglio "Distinta Base", colonne Componente/Descrizione): viene generato un CSV con anteprima in griglia.
  3. Crea cartella raw — cerca nell'indice il percorso CAD di ogni componente importato e copia i file trovati in una cartella raw/ accanto al file di distinta originale.

Requisiti

  • Windows
  • .NET 10 SDK (per build/run da sorgente)
  • Accesso alla share di rete con i file CAD (X:\ di default) per l'indicizzazione

Build

cd CadSearchGui
dotnet build -c Release

Avvio

Da sorgente:

cd CadSearchGui
dotnet run -c Release

Oppure l'eseguibile già compilato:

cd CadSearchGui\bin\Release\net10.0-windows
.\CadSearchGui.exe

Pubblicazione (eseguibile standalone)

Genera un .exe self-contained per Windows x64, senza bisogno del runtime .NET installato sulla macchina di destinazione:

cd CadSearchGui
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publish

L'eseguibile risultante è in CadSearchGui\publish\CadSearchGui.exe.

Struttura del progetto

Tutto il codice è in CadSearchGui/ (unico progetto nella solution, GUI e indicizzazione integrate):

  • Program.cs — entry point.
  • Form1.cs — finestra principale (indice CAD, import Distinta Base, griglia risultati); UI costruita interamente in codice, nessun designer visuale.
  • Indexer.cs — scansione del disco e scrittura/aggiornamento del DB SQLite.
  • DistintaBaseImporter.cs — parsing del file Distinta Base (SpreadsheetML XML o Excel binario/OpenXML tramite ExcelDataReader) e generazione CSV.
  • ProgressForm.cs — dialog di avanzamento durante l'aggiornamento indice.

Il database generato (cad_index.db), i file Excel/CSV della distinta trascinati nella root e la cartella raw/ sono rigenerabili e non sono tracciati in git (vedi .gitignore).

Non ci sono test automatizzati nel repo.