Resolve UNI family-table hardware (screws/nuts/washers) as components
These appear in the .asm binary as a family-table instance name (e.g. "R6--_-_U6592<UNI6592>"), not a separate file on disk - only the generic "uni6592.prt" is actually indexed. Extract just the "<UNI...>" content instead of the full instance name, in both the standalone script and the production scanner, so standard hardware stops being silently dropped as "not found in index". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
52d126372d
commit
338a7327a0
4 files changed
+55
-2
No files matched your search
@@ -70,6 +70,31 @@ riesce a discriminarlo in modo affidabile senza rischiare di scartare
|
||||
componenti veri con pattern simili altrove. Se ricompare, l'unica verifica
|
||||
sicura resta l'apertura manuale in Creo del sotto-assieme sospetto.
|
||||
|
||||
## Viti/dadi/rosette normalizzati (family table UNI)
|
||||
|
||||
I componenti di minuteria standard (viti, dadi, rosette UNI) sono definiti in
|
||||
Creo come **family table**: un file generico (es. `uni6592.prt`) con tante
|
||||
righe/istanze quante sono le varianti dimensionali. Nel binario dell'assieme
|
||||
compaiono così:
|
||||
|
||||
```
|
||||
Componente ID 28755 (R6--_-_U6592<UNI6592>.PRT)
|
||||
```
|
||||
|
||||
`R6--_-_U6592` è il nome della singola istanza (riga della family table), **non
|
||||
un file separato su disco** — sulla share esiste solo `uni6592.prt.<versione>`
|
||||
(verificato in `Unificati/`). Cercare l'istanza intera nell'indice fallisce
|
||||
sempre; va estratto solo il contenuto tra `<` e `>` (`UNI6592`), che coincide
|
||||
col nome del file generico realmente indicizzato:
|
||||
|
||||
```
|
||||
regex aggiuntiva: (?<=<)UNI\d+(?=>)
|
||||
```
|
||||
|
||||
Implementata sia in [`scripts/ExtractCreoStrings.cs`](../scripts/ExtractCreoStrings.cs) sia in
|
||||
[`AssemblyComponentScanner.cs`](../CadSearchGui/AssemblyComponentScanner.cs) (fase "Trova componenti
|
||||
referenziati" dell'app).
|
||||
|
||||
## Risoluzione ricorsiva dell'albero
|
||||
|
||||
Un `.asm` referenzia solo i propri sotto-componenti diretti, non l'intero
|
||||
|
||||
Reference in new issue
Block a user