- 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>
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à
- 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 defaultX:\, cartelle__Accessori,__B.end,__Corpi,__Fondi) e indicizza tutti i file. - Importa Distinta Base — trascina (o scegli da file) l'estrazione
.xls/.xmldel gestionale (foglio "Distinta Base", colonne Componente/Descrizione): viene generato un CSV con anteprima in griglia. - 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.