BUG Sub-Crv Rhino.Command

subcrv

(se ricordo bene proprio nell’ultimo periodo di quasi 4/5 anni fa avevo già sottolineato questa cosa)

eseguendo i comandi tramite VBS utilizzando Rhino.Command come nel caso del comando -SubCrv
quando capita l’opzioni di conferma che richiede l’accettazione “Sì” nasce il problema dell’accento

come si vede dalla foto evidenziato in rosso se nello script scrivo la conferma con “Si” normale
mi torna comando sconosciuto quindi sono obbligato a scrivere il codice col “Sì” accentuato

ma nel video come si può vedere a volte non so per quale motivo nell’esecuzione cambia qualcosa
comportando un errore di lettura della lettera accentuata e quindi di conseguenza fallandomi lo script

i caratteri vengono cambiati da “C=Sì” ad “C=ì”

in conlusione per ritornare al corretto funzionamento debbo ricopiare tutto il codice
e salvarlo come nuovo file RVB per poi andare a ricaricarlo per eseguirlo nuovamente

problema a parte che non so nemmeno se sia possibile correggere una cosa simile
ma mi chiedo come mai per confermare hanno scelto di dover scrivere il “Sì” con accento?

ps provato sia su Rh5 che V7.2 il problema si verifica in entrambe le versioni
non si potrebbe far in modo di dover scrivere il “Si” senza accento. . .

Ci stiamo guardando Salvio.

1 Mi Piace

ok grazie Giuseppe come sempre la disponibilita’ :+1:

1 Mi Piace

Buongiorno Salvio,

Sono Anna e faccio parte del team di localizzazione di McNeel. Grazie per averci segnalato l’errore. Potrebbe, gentilmente, inviare il file dello script che utilizza in questo caso specifico o copiare qui il codice in modo da controllarlo?

Grazie mille e buona giornata.

Anna

1 Mi Piace

buongiorno,

BUG.rvb (574 Byte)

il file contiene parte dello script dove restituisce il problema,
ma se si copia lo script e lo si esegue il problema non si presenta.

Buongiorno Salvio,

Grazie per il file. Lo controlliamo e le facciamo sapere al più presto.

Saluti,
Anna

Buongiorno Salvio,

Ho controllato il file e ho cambiato la stringa del comando in modo che funzioni con Yes, anziché con Sì. Ho inserito quindi l’istruzione in inglese, usando il trattino basso “_”. In questo modo dovrebbe funzionare.

Ecco la modifica e le allego anche il file. Mi faccia sapere, per favore, se funziona:

Call Rhino.Command(“-SubCrv C=Sí”, True)
Call Rhino.Command(“_SubCrv _C=Yes”, True)

In linea di massima, le consiglio di scrivere le istruzioni di macro, script e booleane sempre in inglese, se possibile, in modo da evitare errori di codifica di caratteri speciali o accenti.

La ringrazio per la segnalazione del bug, ci è stata davvero utile.

Saluti,
Anna

BUG_corretto.rvb (575 Byte)

1 Mi Piace

buonasera Anna, mi scusi se rispondo solo adesso, ho voluto provare prima bene i suggerimenti dati,
purtroppo la soluzione esposta nel mio caso mi ritorna questo errore: Comando sconosciuto: _C=Yes

per raggirare ciò avevo pensato a quest’alternativa: Call Rhino.Command(“_SubCrv _C=No _C”, True)
in questo modo dovrebbe andare bene sia in inglese con underscore che in italiano senza underscore

ps nel frattempo di una soluzione, avevo provato “a caso” a cambiare il font in Rhino,
essendo che con l’editor ciò non accade, ma non so che tipo di font usa editor script.
(era giusto un tentativo ma può darsi che quando si carica un file usa un font specifico)

La ringrazio per la celere risposta e la disponibilità dimostrata.

Underscore va inserito solo nel comando e non nelle opzioni.

1 Mi Piace

Salve,
Grazie mille @Sergio_Alessi per il suggerimento.

@0904
Provi a usare il comando come segue:
Call Rhino.Command(“_SubCrv C=Yes”, True)

Saluti,
Anna

@Sergio_Alessi @Anna_Foglietta avevo già provato Call Rhino.Command(“_SubCrv C=Yes”, True)
ma per lo meno nel mio caso mi torna sempre Comando sconosciuto “sarà il pc che è troppo vecchio”

alla fine mi arrendo e alzo le mani :open_hands: prendo atto che si incorre in questa situazione usando il “Sì”
anche perché per la cronaca sono andato a vedere vecchi post ed era un domanda che feci tempo fa
e già all’epoca c’era questa divisione di pensiero, se con “_” davanti alle opzioni risulterebbero tradotte:

invece, se non erro con le nuove versioni di Rhino al momento del download è possibile scegliere varie
lingue con il quale installarlo, in questo caso volendo quando si ha bisogno di usare gli script dei file rvb
si può andare a cambiare la lingua nelle opzioni usando gli script direttamente nella lingua inglese in
questo modo si bypassarebbe il problema della lingua italiana per lo meno fino a che non si risolve.
(chissà sarebbe buona cosa avere nell’installazione la lingua inglese spuntata e bloccata di default. . .)

grazie a tutti per l’aiuto :+1:

Ciao Salvio,
io per non incorrere in errori scrivo sempre l’opzione del comando per esteso.
Nel tuo caso metterei:
Call Rhino.Command(“_SubCrv Copy=Yes”, True)
Hai fatto anche una prova a richiamare il comando da tastiera aggiungendo il trattino basso e vedere cosa ti restituisce in inglese?
Questa prova è quella più diretta per capire come si comporta Rhino dato che con Rhino.Command non fai altro che eseguire una Macro di comandi…

ciao Lucio,
ragazzi adesso vi dirò una cosa “ma non ci crederete”

ho ri-provato come ha suggerito Lucio mettendo per esteso sia Copy=Yes che _Copy=Yes

come detto mi ritorna comunque in entrambi i casi la scritta: “Comando sconosciuto”

la cosa che non mi sarei aspettato invece e che se scrivo Copy=No mi da sempre l’errore,
mentre invece se aggiungo “_” quindi scrivo _Copy=No mi accetta il comando senza errori

si può concludere, la sintassi giusta in inglese è con " _ " davanti le opzioni
ma “nel mio caso” non solo non mi accetta il “Sì” accentuato in italiano
a quanto pare non mi accetta nemmeno “Yes” in inglese mettendo “_”

non so cosa pensare :scream:

Io lancerei il comando _SubCrv da riga di comando e darei un occhio alle opzioni che mi vengono proposte.
Le opzioni le vedi subito come sono scritte: “Copia=Si” oppure “Copy=Yes” o qualche altra scritta.
Si tratta di passare l’opzione scrivendola da tastiera e vedere se ti restituisce errore oppure se la accetta (Se non la accetta da script non dovrebbe accettarla nemmeno da command prompt).
Ho anche provato a togliere le parentesi al Rhino.command… ti allego il file .rvb che qui da me funziona.
BUG.rvb (592 Byte)

credo che ti funziona essendo che richiami il comando in inglese con “_”
e continui poi con opzione Copy=Yes sempre in inglese quindi ti va bene essendo che
hai Rhino impostato in inglese, a me mi da sempre Comando sconosciuto anche col tuo file

però credo che ci si sta allontanando dal problema iniziale; com’è che l’opzione
“Copia=Sì” oppure “C=Sì” diano questi risultati “Copia=ì” oppure “C=ì”
(parlo sempre del file rvb mentre nell’editor invece vanno bene entrambi)

sbaglierò, ma sono sempre più convinto che ci sia una qualche formattazione strana in un certo punto.

Riprova il codice di Lucio inserendo underscore anche
nelle opzioni (ha ragione @Anna_Foglietta).
Rhino.Command “_SubCrv _Copy=Yes”, True

Buongiorno Salvio,

Il problema è chiaramente di codifica, sono d’accordo. Le stringhe software in italiano sono state compilate con la giusta codifica, quindi deduco que si tratti di un problema specifico de file rbv che sorge in runtime sul suo PC. Nell’editor non succede perché è plain text. Mentre ci occupiamo del problema, le consiglio di continuare con il metodo usato finora.
Grazie a tutti per il vostro intervento.

Anna

Sergio anche senza le parentesi con la stringa che mi hai postato il risultato è sempre identico:
“Comando sconosciuto”


:sob: :sob:

mi viene da piangere, ma sta volta è per la contentezza penso che finalmente ho trovato la quadra

Call Rhino.Command(“_SubCrv _Copy=_Yes _Enter”)

l’unica consa che non avevo provato ancora confermare “Yes” con " _ " underscore
alla fine credo che sia anche logico chiamo il comando “SubCrv” in inglese con " _ "
seleziono opzione “Copy” con " _ " e ovviamente si deve dare il valore booleana “Yes”
sempre in inglese con " _ " ecco perchè come avevo già sottolineato quando mettevo
come valore “No” mi veniva accettata essendo che “No” è uguale in italiano e inglese

:tada: :tada: :tada:

buongiorno Anna,

grazie della conferma, sono lieto che questo mio post abbia contribuito ad individuare un problema,
e mi fa piacere che avete già ristretto l’area sulla quale lavorare che di sicuro risolverete al più presto.

ne approfitto per ringraziare ancora Lei e tutto il team McNeel
per l’impegno e la professionalità che come sempre mettete :+1:

ps lungi da me dare consigli non richiesti sopratutto in materie che non mi appartengono,
come specificavo nel primo post; mi chiedo soltanto se invece del “Sì” accentuato si fosse scelto
di usare il “Si” normale, in questo caso il problema della codifica si sarebbe presentato oppure no. . .

Call Rhino.Command(“SubCrv Copia=_Yes”)

carina questa cosa, si può alternare i comandi/opzione/valori anche fra la lingua Italiana e Inglese