Dictionary in VBScript

In questo caso io preferisco associare i dati all’oggetto con rhino.setobjectdata e rhino.getobjectdata
developer.rhino3d.com/api/rhinoscript/user_data_methods/getobjectdata.htm
É più facile da gestire e i dati si mantengono fino alla cancellazione dell’id oggetto (occhio che alcuni comandi di rhino ricostruiscono gli oggetti con conseguente rigenerazione dell’id e perdita di dati)
Ho visto anche che hanno sostituito il metodo con UserData con il quale si possono associare i dati all’oggetto vincolandoli alla geometria oppure agli attributi.
Nel tuo caso, vincolando i dati alla geometria, sei più tranquillo che vengano invalidati nel caso di modifica della curva (se hai dei punti che giacciono sulla curva e modifichi quest’ultima, quei punti non saranno più validi mettendoti al riparo da calcoli errati).

a dir il vero io vorrei ottenere l’effetto contrario
modificando la curva i punti sul dominio 0 1 debbono rimanere
anche se poi si modificano di conseguenza ma l’importante e che ci sono
per questo in secondo momento avevo optato per “SetDocumentUserText”

debbo capire bene prima come funziona finisce che mi riserva delle sorprese alla fine
infatti stavo ipotizzando di inserire il tutto nelle note di Rhino oppure non è consigliato?

Solo scrivendo gli script potrai toglierti ogni dubbio. Dapprima verifica che i dati siano correttamente memorizzati (ti crei due funzioni: lettura e scrittura) e poi cominci a scrivere nello specifico quanto ti serve.

Se devi salvare dei dati per un comando/script che devi richiamare su più oggetti (quindi i dati non sono legati all’oggetto ma sono gli ultimi valori che hai impostato nello script) allora utilizza il DocumentUserText; se i valori sono legati alla singola geometria (quindi ci possono essere più geometrie con dati personalizzati) allora si utilizza lo UserText associato all’id oggetto.
Le note di Rhino lasciale stare che sono un boomerang che ti torna dritto sui denti (piuttosto delle note utilizza un file esterno dove scrivi/leggi i dati - io li utilizzo per importare i dati da tabelle scritte in file di testo così si possono editare facilmente anche fuori da Rhino).

eeee Lucio a questo stavo pensando un bel dilemma
non vorrei usare file esterni un dubbio sulle note c’è lo anchio
anche perchè non so nemmeno se li posso gestire come i file
leggere riga per riga perchè alla fine i dati li debbo poi manipolare
e vedendo il funzionamento non credo che le note te lo permettano

non saprei spero che non mi addentri in una situazione senza uscita con DocumentUserText o UserText

i dati sono ID curva e poi varie coppie di punti sulla suddetta curva quindi array con una o più coppie
ora non credo che sia importante che venga associata alla geometria. adesso provo DocumentUserText
vi terrò aggiornati :+1:

Ero fermo alla vecchia versione di DocumentData … :sweat_smile:
Adesso la nuova versione DocumentData (+ UserText) ha una sola chiave di ricerca … bhà: non mi sembra na gran scoperta.
La doppia chiave era molto più “elegante”. La prima la uso per identificare l’applicazione script e la seconda per i dati. Vabbè, cambia poco.

infatti Sergio adesso pensandoci poteva essere comodo la doppia chiave

sto pensando al fatto che se cancello una curva dove ho memorizzato le coppie di punti
avendo la seconda chiave si poteva sostituire con replace la geometria mancante

(mah non saprei forse è meglio fare un passo alla volta se no questo script non si finisce mai) :slight_smile: