Contare Oggetti in un file 3DM

Ho un disegno con dei cuscinetti che ovviamente sono formati da più poli superfici.
ho una funzione che mi conta gli oggetti, ma gli oggetti formati da più polisuperfici conta il numero delle poli invece che contare un pezzo unico, ho provato in tutti i modi, raggruppando le parti, unione (no perchè le superfici non sono collegate)
gruppi, layer, trasformazione in mesh ecc.
non c’è verso che conta sempre le polisuperfici.
assegna ad ogni poli un ID diverso malgrado l’oggetto abbia lo stesso nome.
Qualche idea?

Usare le istanze di blocco?

Fabio.

… Oltre al giusto suggerimento di Fabio …

Non mi e’ chiaro il problema.

Nel disegno ci sono solo cuscinettti o anche altrro ?
Se c’e’ dell’altro, come distingui i cuscinetti dal resto ?
Vuoi fare uno script per contare i cuscinetti o vuoi usare quello che hai gia’ ?
E se vuoi usare quello vecchio, come funziona ?

è un discorso generico che sto facendo per ogni tipo di disegno, posso avere indifferentemente oggetti con nome oppure livelli e sottolivelli e così riesco a fare l’elenco dei componente estraendone il codice e registrandolo nel software gestionale.
Il problema è che vorrei anche contare il numero di ogni oggetto (il programma li raggruppa per codice) ma se un oggetto è fatto da più parti anche se unite di fatto ogni parte è parte a se con il proprio ID identificativo.
Si devo fare uno script che li conti.
Allego un esempio ma i disegni non hanno regole, ogni tipo può essere diverso e va processato.
test_NomeLayer.3dm (635,0 KB)

C’e’ un criterio per stabilire che un oggetto e’ fatto di piu’ parti ?
… O che una parte appartiene ad un oggetto ?

Oppure, a parte il fatto che tu lo sai ( :wink: ), per ogni oggetto diverso bisogna trovare una regola particolare ?

Anche in questo caso, forse si riesce a individuare alcuni criteri che lo script possa usare, con l’utilizzatore che sceglie come fare … OK … discorso un po’ vago … ma anche il problema si difende. :smile:

No, non c’è nessun criterio, a meno che non proviamo ad imporli, il fatto è che i disegni possono arrivare da un numero di disegnatori che disegnano come vogliono :worried:, arrivano i file e vengono inseriti a sistema, tutto qui, quindi se mi arriva un disegno di una vite e questa vite è composta, ad esempio, da 2 parti (testa e gambo) io vorrei semplicemente contarla come un pezzo.
Sto pensando di inserire dei criteri di sviluppo, ma temo che la montagna di disegni pregressi sia notevole e metterci mano sarebbe impegnativo.
Se scarichi il file di esempio trovi il cuscinetto in questione…

OK, capito.

Forse si potrebbe, per ogni pezzo composito, selezionare un pezzo completo (composto di vari oggetti) e poi cercare, automaticamente o con l’aiuto dell’utilizzatore, qualche caratteristica che identifichi uno solo degli oggetti componenti il pezzo composito …
As esempio se e’ una polisurf, il numero di facce, oppure il volume, o l’area … o altre cose … qui serve fantasia … :slight_smile:
Cosicche’ quando tu selezioni tutti gli oggetti componenti lo script sia in grado di contare solo quelli che soddisfano il particolare requisito scelto …

Che ne dici ?

Certo, e’ solo un’ipotesi … bisognerebbe provare per vedere che problemi ci sono ecc. ecc. …

Il cuscinetto che hai postato appartiene a un gruppo (veramente a 3 gruppi)
Se ognin cuscinetto forma un gruppo distinto, potrebbe bastare contare i gruppi …
Ma se un cuscinetto appartiene a 3 gruppi e un alto a 2, per esempio, la cosa si complica …

forse già ci avete pensato, ma considerare un solo pezzo tutti gli oggetti che si intersecano?
potrebbe essere valida come soluzione? (se ovviamente fattibile)

Emilio ho capito la tua idea ma implica errori possibili per l’imprevedibilità dei disegni.
0904 intendi di un oggetto considerare solo uno degli ID che lo formano? ci sto pensando smanettando un po

Con i blocchi ho risolto, quindi il vincolo da passare al disegnatore è che gli oggetti composti da più polisuperfici non unite devono raggruparli singolarmente in blocchi.
Ho fatto un disegno con un cuscinetto, copiato de volte e ho creato due blocchi distinti per ogni oggetto dando ad entrambi lo stesso nome, fatti contare da programma e così li conta giusti, due oggetti e due ID
Peccato non funzioni anche solo con il nome

Mi fa piacere.
Ma perché gli oggetti non sono uniti? … hanno solo funzione di visualizzazione?
Non capisco una cosa, quando parli di disegnatori intendi chi dovrà mettere mano a modelli già fatti per adattarli a questa tua necessità o a chi dovrà realizzare nuovi modelli?

Fabio.

Scusa … ho realizzato ora che sono cuscinetti, uniti non penso funzionino bene! :slight_smile:

Esatto!:grinning:
Per quanto riguarda i disegnatori mi riferisco alla gestione del mio software gestionale in grado di interagire con Rhino per i cicli di lavoro, materiali e distinte, messe in produzione ecc. è un gestionale per fabbrica digitale in che deve lavorare su disegni disomogenei (ognuno disegna a modo proprio) ma che devono essere letti dal software per generare le schede prodotto.
L’idea principale è di lasciare la massima libertà al disegnatore ponendo come unico vincolo che l’oggetto oppure il layer che lo contiene sia codificato correttamente, dopodichè il software è in grado di prenderlo in carico e gestirlo come assieme o come singola scheda prodotto e generare con i cicli di lavoro il flusso di produzione.