Analisi del Codice

Non mi risulta

Se converti in intero la stringa ‘Curve’, certo non ottieni 4.

qui int() si riferisce a int(a) o int(ObjectType.Curve), non a int(“Curve”),
come hai giustamente indicato sotto:

Comunque a parole puo’ essere difficile capirsi, dato anche che mi sembra che a volte chiamiamo le cose con nomi diversi.
Discutere su cose che possiamo verificare in pratica non ha senso.
Basta fare una prova.
Spero che questo metta tutti d’accordo

image

image

solo adesso sono riuscito a collegarmi
esatto avevo letto la tua risposta e volevo proprio sottolineare questo (mi sono un pò impappinato :wink: )
ciò che hai indicato da me postato, è la corretta spiegazione che volevo dare.

hai ragione a volte le immagini valgono più di mille parole:

immagine

per come la vedo io dal risultato degli output,
il primo print riporta che è un’oggetto
il secondo mi stampa il tipo di oggetto (curva)
il terzo per riportarmi il valore “numerico 4” lo debbo convertire con int

quindi c’é la conversione da tipo di oggetto in questo caso “curve” al suo valore numerico corrispondente 4

ps la mia curiosità non era nel “chi converte cosa” ma com’è impostato il codice che fa tutto ciò
ovviamente non’é che si deve sapere questo, non cambia nulla per chi deve scrivere un codice
essendo che in questo caso, si sa cosa fa enum si sa come usarlo e va bene cosi
ma mi intrigava questa cosa che se converto con int un tipo oggetti mi riporta il valore
(tutto qua)

mah forse chissà, se facendo la domanda al forum internazionale qualcuno che sapeva avrebbe risposto.
oppure rispondevano con: Te c’hanno mai mannato a quel paese. . . ahahahah

Veramente dice che il tipo e’ ObjectType, che, se andiamo a vedere,
e’ una enum:
ObjectType Enumeration (rhino3d.com)
Io direi che il tipo e’ una enum … :wink:
Poi dipende cosa intendi con ‘oggetto’ … :confused:

Stampa il Member name di quel valore (che appartiene alla enum ObjectType).
Come abbiamo visto, e’ cio’ che fa il linguaggio in questi casi.

Se tu chiami ‘tipo di oggetto’ il ‘Member name’, OK.

Come gia’ detto, credo che stiamo solo usando nomi diversi per le stesse cose …
L’importante e’ riuscire a usare una enum quando serve nel nostro script … :grinning:

… Certo non e’ semplice cercare di seguire i ragionamenti che scrivi se cambi i nomi alle cose secondo l’oroscopo … o una cosa del genere …
:wink: :smile:

però sta volta non dovrebbe essere complicato

import Rhino
print Rhino.DocObjects.ObjectType.Curve
print int(Rhino.DocObjects.ObjectType.Curve)

import rhinoscriptsyntax as rs
print rs.ObjectType(rs.GetObject())

output:
Curve
4
4

nell’ultimo caso il valore numerico è di default mentre nel secondo lo si deve convertire in int dal primo

vabbè comunque, come hai detto diciamo la stessa cosa in modi diversi :+1:

:rofl: :rofl: :rofl:

abbè Emilio, mi sa che la mia storia sul forum è ben chiara
cambiare o meno i nomi è indifferente, tanto non cambia ahahahah

1 Mi Piace

@emilio giusto perché un po so che anche a te piaccino queste cose;
in VisualStudio con le parole chiavi (non so se con tutte)
premendo CTRL e cliccandoci sopra apre il suo modulo
non so, credo che sia il codice col quale va a lavorare. . .

questo è per enum

questo invece per int

ho postato solo le foto se secondo te va bene per farsi un’idea
ma mi sono copiato anche il codice completo essendo che
dove ci sono i 3 punti sono altre righe abbastanza lunghe
poi se serve mi fai sapere che posto tutto il codice. . .

mi sono ricordato di questa cosa spero possa servire :wink:

Ciao Salvio, grazie.

Io lo chiamo elenco di proprieta’ e metodi di quella classe.
… Ma forse intendiamo la stessa cosa. :wink: