Assemblies reference other assemblies and parts internally; a flat
single-level copy into raw/ left Creo unable to load models ("Dati di
input non completi"). AssemblyComponentScanner heuristically extracts
component codes embedded as readable strings inside the otherwise
binary .asm files; each candidate is validated against the index (which
filters out scan noise), copied into raw/, and if it's itself an
assembly, queued for the same treatment until the whole tree resolves
to PRT leaves. PrtMancantiForm reports what was found and copied.
Also ignore Creo Distributed Batch job files (*.dxc).
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) 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.