- Add 'Unificati' and 'Commerciali' as indexed root folders alongside the existing four, updating Indexer.CartelleRadice and the docs. - Replace the separate "Pulisci cartella raw" / "Pulisci cartella step" buttons with a single "Pulisci raw e step" that clears both under one confirmation; falls back to a folder picker when no path is known yet in the session instead of staying disabled. - "Trova componenti referenziati" now also writes a persistent summary (PRT/sub-assemblies found and copied, codes not found) to the main window's status line, not just the popup dialog, and reports clearly when no database is loaded instead of failing silently. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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,Unificati,Commerciali) 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.