Nuovi doc: tutorial-primo-giro, risoluzione-problemi, sviluppo, rilascio, glossario e registro delle decisioni (docs/decisioni, 6 ADR). docs/README.md e' l'indice per categoria e la tabella delle fonti uniche; il README di root rimanda a sviluppo/rilascio invece di duplicarli. scripts/CheckDocs.cs verifica link e ancore, <Version> contro CHANGELOG, copertura di architettura.md e presenza di ogni doc nell'indice; .markdownlint-cli2.jsonc configura il lint Markdown. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
4.9 KiB
PrepStep - Cevolani
App Windows Forms (.NET 10, progetto PrepStep) 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, fino a raccogliere in raw/ tutto il necessario per
l'esportazione STEP con Creo Distributed Batch: è un pre-processo per quel
passaggio, non lo sostituisce.
Funzionalità
- Indice CAD — all'avvio carica automaticamente
cad_index.dbdalla cartella di installazione (%LOCALAPPDATA%\Programs\PrepStep). Se manca, lo si crea con Aggiorna indice, oppure si apre un altro DB per la sola sessione con Apri DB.... Aggiorna indice scansiona il disco (di defaultX:\, tutte le cartelle di primo livello che trova) e indicizza tutti i file. La cartella di lavoro (dove finiscono il CSV e la cartellaraw/; gli STEP esportati con Creo vanno instep/, dentro la stessa cartella) è di default la cartella di installazione, modificabile in qualunque momento da File → Scegli cartella di lavoro... (la scelta viene ricordata). Dal menu File si ripuliscono ancheraw//step/e i CSV accumulati. - Importa Distinta Base — trascina (o scegli da file) l'estrazione
.xls/.xmldel gestionale (foglio "Distinta Base", colonne Componente/Descrizione): viene generato un CSV nella cartella di lavoro, con anteprima in griglia. Se il file segue la convenzione di nomeDBP_<codice>_<timestamp>del gestionale, l'assieme generale dell'estrazione viene aggiunto come riga in più nel CSV (il foglio elenca solo i componenti sotto l'assieme, non l'assieme stesso). Il bottone Verifica presenza (compare solo dopo un import riuscito) cerca i componenti nel database — è questo passo, non il solo import, a sbloccare la fase successiva. - Crea cartella raw — cerca nell'indice il percorso CAD di ogni
componente importato (assieme generale incluso) e copia i file trovati
in una cartella
raw/dentro la cartella di lavoro. - Trova componenti referenziati — legge i metadati dei file
.asminraw/per trovare ricorsivamente i sotto-assiemi/parti che li compongono, copiandoli a loro volta inraw/(passo opzionale se la distinta contiene solo parti singole). - Verifica completezza — mostra i file
.asmdella distinta già inraw/, trascinabili su Creo Distributed Batch per l'esportazione STEP (passo manuale, fuori da quest'app): scrive instep/, dentro la cartella di lavoro.
Primo uso: docs/tutorial-primo-giro.md. Guida utente completa in
docs/guida-utente.md
(stessa sintesi anche in-app da Aiuto → Guida, F1).
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, test e rilascio
Build, avvio e test: docs/sviluppo.md. Pubblicazione dell'eseguibile e
generazione del setup di installazione: docs/rilascio.md.
Il setup installa solo per l'utente corrente, in %LOCALAPPDATA%\Programs\PrepStep, senza
diritti di amministratore; si disinstalla da "Impostazioni → App installate".
Struttura del progetto
Il codice dell'app è tutto in PrepStep/ (GUI e indicizzazione integrate); accanto ci sono
il progetto di test PrepStep.Tests/, gli script standalone scripts/ e lo script del setup
installer/. Mappa file-per-file completa in docs/architettura.md; indice di tutti i doc in
docs/README.md.
Program.cs— entry point.Form1.cs— finestra principale, wizard a 5 fasi e menu; UI costruita interamente in codice (Form1.Designer.csè solo lo scheletro del template).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.AsmRecordReader.cs— lettura esatta dei record dei.asm(fase 4).AssemblyComponentScanner.cs— euristica testuale di fallback per i.asmfuori formato.ProgressForm.cs,ProgressoComponentiForm.cs— avanzamento di scansione e fase 4.PrtMancantiForm.cs— esito di "Trova componenti referenziati".GuidaForm.cs— guida in-app (Aiuto → Guida, F1).UiStile.cs— stile condiviso di bottoni, card e barre.
Il database generato (cad_index.db), i file Excel/CSV della distinta
trascinati nella root e le cartelle raw//step/ sono rigenerabili e non
sono tracciati in git (vedi .gitignore).
Per i test vedi docs/sviluppo.md.
Licenza
Software proprietario, © 2026 Davide Grilli, tutti i diritti riservati: vedi
LICENSE.