Qual’è il sito con la lista dei materiali?
Hai una tabella?
No Luca per quanto riguarda i duplicati è sufficiente individuarli e poterli rimuovere. Come ho scritto precedentemente cioè capire quelli sovrapposti anche un po scontati tra loro.
La questione del peso specifico e l assegnazione del materiale potrebbe essere oggetto di un altro tema che credo si potrebbe sviluppare se fosse d interesse comune
Per lo script che ho accennato si tratta dei Peter’s Tools che ha una serie di comandi utili a chi, lavorando nella progettazione civile consente di estrapolare quantità listati e pesi dei componenti costruttivi. Qua sarebbe lungo da spiegare e forse nemmeno il luogo adatto. Mi sembrano script ben fatti ma un po lacunosa nella sezione in cui, una volta assegnato un materiale ad un oggetto non puoi riconoscerlo solo in base ad una " banale" selezione, ma devi abbinabili un dot per poterne ricavare le informazioni
Se vuoi un aiuto in questo senso è necessario che elenchi gli step delle operazioni, poi vediamo se siamo in grado di tradurle in codice.
Riguardo i pesi specifici non ti preoccupare, io ho già fatto questo, dovrei modificare qualcosa.
Se vuoi utilizzare l altro tool di cui parli, allora non posso aiutarti.
Credevo di averlo già elencato comuque le richieste della routine credo che dovrebbero essere le seguenti : selezionare gli oggetti ( dei quali si ntende trovarne le sovrapposizioni o i duplicati) . Una volta evidenziati chiedere se si vogliono !. conservare su di un altro layer oppure eliminarli.
Riguardo i pesi specifici mi va bene la tua routine purchè possa ssegnare il peso specifico del materiale idoneo (ad esempio, i mattoni della volta che ho postato sono di un materiale refrattario che ha un peso specifico di 2.65 grammi per centimetro cubo)
grazie
Se riesci ad implementare il gh di Leo, mi passi il codice, inserisco quello dei pesi specifici e diamo i gha, visto che possiamo avviare lo script da Rhino senza lasciare aperto gh.
Per l’individuazione dei duplicati avevo fatto qualcosa al volo che assomigliava molto allo script di leo.
Ora stavo pensandone un’altro che lavora con mesh, operazioni di booleane solide e/o intersezioni… mi sembra sia una buona strada.
Domanda, è da usare grasshopper, o si vorrebbe risolvere stando in rhinoscript o altro?
Ritengo User Data Methods interessantissimi nel contesto, penso siano abbastanza facili da implementare sia tramite rhinoscript che con c# dentro grasshopper.
Uno script “assegna densità” e un’altro “selezione per densità” andrebbe bene?
(aggiungere volume e massa è un passaggio che nemmeno menziono, sono 2 righe di codice in più, in caso)
per quanto mi riguarda, da utente Rhino preferisco usare gli script rimanendo sempre nell’ambiente a me più familiare ma mi adeguo a qualunque alternativa anche perchè abuserei troppo della vostra cortesia.
rispondo al quesito : Uno script “assegna densità” e un’altro “selezione per densità” andrebbe bene?
(aggiungere volume e massa è un passaggio che nemmeno menziono, sono 2 righe di codice in più, in caso)
Non so cosa intendi per assegnare densità ma mi sembra molto simile ad assegnare un materiale fisico (cambierebbe solo la dizione) Quello che a me servirebbe è soprattutto questo cioè: assegnato a degli oggetti il materiale (che puo essere diverso anche per la stessa tipologia di oggetti come ad esempio dei mattoni di una parete di un forno possono essere in parte costituiti dal materiale SG44 e altri con materiale SL) poterli riconoscere in base al materiale assegnato cioè poter fare una selezione mirata ad esempio chiedendo di evidenziare solo quelli siglati SG44.
Intendi… proprio i materiali di rhino? Usati nel rendering?
In quel caso, basterebbe _SelMaterialName
no se
no non intendo quello , Io ho bisogno di esportare in una tabella cvs o excell il listato degli oggetti col il relativo materiale e il loro peso. Nei precedenti post ho citato i Peter’ s Tool che ho scaricato da inetrnet. Si tratta di un plugin gratuito che svolge molteplici funzioni tra le quali anche l’assegnazione del peso specifico degli oggetti. La cosa interesante e utile per me è che puoi esportare in un formato cvs questi dati e utilizzarli in Excell tipo peso quantità dimensioni etc… perciò mi domanderai : se già ce l’hai perchè lo chiedi a noi? In realtà questo plugin a mio avviso ha una lacuna e cioè che una volta assegnato il meteriale ( ad esempio acciaio) a vari oggetti poi non c’è modo di fare un selezione per “materiale” . Consente solo di interrogare gli oggetti restituendo un dot con un testo che ti dice anche il materiale. Questa cosa va bene se devi interrogare pochi oggetti ma se ne hai un centinaio di un tipo e 50 di un altro ti trovi il modello tapezzato di Dot con testo e non ti ci racapezzi. ecco perchè servirebbe questo tipo di selezione. Ovviamente bisognerebbe chiedere all’autore Peter di implementare questa funzione ma non ho ricevuto risposta.
allego il link dei peter’s tool Peter's Tools | Food4Rhino
Il plugin sembra proprio usare degli “User Data” …
Creare uno script per la selezione dovrebbe essere abbastanza banale.
Ottimo
Eccolo qua.
Come puoi notare, la chiave (key) da cercare è una stringa fissa “RealMaterial”, ma togliendo l’apicetto ’ nella riga dopo si può chiedere all’utente quale chiave cercare.
A me questo funziona, assegno vari materiali con Peter’s Tools e poi lo script seleziona gli oggetti col materiale richiesto.
(È case sensitive. Pvc e pvc son due cose diverse)
-runscript (
sub SelectByUserText
Rhino.UnselectAllObjects ()
key = "RealMaterial"
'key = Rhino.GetString("Key to search for")
val = Rhino.GetString("Material to search for")
objs = Rhino.AllObjects(false,false,false)
Rhino.EnableRedraw (false)
If IsArray(objs) Then
For Each obj In objs
foundvalue = Rhino.GetUserText(obj, key)
If (foundvalue=val) Then
Rhino.SelectObject(obj)
End If
Next
End If
Rhino.EnableRedraw (true)
End sub
SelectByUserText
)
Perfetto appena posso lo provo
Ottimo grazie ma si potrebbe fare anche l’inverso e cioè selezionare l’oggetto per sapere quale sia il materiale?
Guarda l’ultima immagine che ho postato ^ …
Dentro la scheda Properties (l’arcobaleno), c’è la sezione “Attribute user text” (quel cilindro blu) dove puoi vedere i vari attributi custom che ha.
Se ti serve uno script, si può fare… ma direi che dal pannello properties ci arrivi con un click…
hai ragione non l’avevo mai considerato ma se non ti è di troppo disturbo ti chiederei lo script così faccio un pulsante con tasto destro " selezione e ottieni nome materiale" e tasto sx “seleziona per nome materiale”
Come vuoi che venga “outputtato” il nome del materiale?
Un messaggio sulla barra “command”?
Un messaggio pop-up?
Non ho preferenze come ti viene più semplice e ancora molte grazie per l’aiuto. Spero di poter ricambiare in qualche modo