Sintassi If Else Python

Premessa: sono cose che non pratico piu’ ( C# da parecchio ) e di cui non seguo l’evoluzione.
( Oltre a essere ormai rimbecillito di mio)
quindi facilmente diro’ delle cavolate, sorry :blush:

scriptcontext e’ una piccola libreria che contiene 3 o 4 funzioni e il valore ‘doc’, utilizzato per accedere all’oggetto RhinoDoc, cioe’ agli oggetti contenuti nel file 3dm su cui stai lavorando.

rhinoscriptsyntax/scriptcontext.py at rhino-6.x · mcneel/rhinoscriptsyntax · GitHub

E’ una cosa di Python. Non so come si faccia da C# ad accedere al RhinoDoc corrente, chiederei agli esperti … :slight_smile:

utility e view sono 2 dei file che compongono rhinoscriptsyntax, quindi si tratta semplicemente di un file rhniinoscriptsyntax che ne importa un altro. Anche qui cose di Python.

System invece e’ una libreria .NET e capitera’ spesso di doverla importare con C# perche’ contiene molte cose utili.

Ma non e’ il caso di preoccuparsi di questi ‘import’.
Se tu stai studiando una funzione rhinoscriptsyntax, pensa ad eventuali librerie solo se le vedi richiamate nella funzione.

Poi tutto questo discorso lo considererei ormai superato se conti di imparare direttamente C# e pensare poi a RhinoCommon in seguito. :slight_smile:

Non so se @lucio_zadra sia d’accordo di parlare di disuso … :wink: :grinning_face_with_smiling_eyes:
( Anch’io avevo ancora diversi pulsanti con script VBS )

Scusa Riccardo, forse non capisco bene … :slight_smile:
Sembra che qui:

e qui:

tu stia parlando di cose diverse.
Ma e’ la stessa cosa, o forse ti riferivi a RhinoScript …

rhinoscriptsyntax (scritta in minuscolo) e’ la libreria Python che si ispira allo storico RhinoScript (in VBS).

RhinoScript e’ quella vecchia libreria per VBS, che a quanto ne so non c’entra con RhinoCommon (e’ precedente) e ti consente di fare alcune cose usando appunto il VBS, ma si ferma li’.

rhinoscriptsyntax e’ per Python e puo’ essere utilizzata insieme a RhinoCommon negli script in Python.

… Ma se Salvio decide di ‘fare il salto’, ci togliamo di torno tutta questa complicazione … :grinning_face_with_smiling_eyes:

2 Mi Piace

Hai ragione, ho corretto.
Quello che intendevo è che con python ti tocca conoscere più linguaggi/grammatiche.
Con c# una sola.

1 Mi Piace

Ah beh, io continuo ad usarlo… quando non si potrà più allora vedrò cosa fare…
Vedo che ci sono utenti che usano ancora la V4 o V5 di Rhino, quindi se nelle prossime versioni toglieranno il vbs magari mi fermerò anch’io con l’acquisto degli aggiornamenti e poi deciderò… :wink:

1 Mi Piace

cosa intendi: con Python bisogna conoscere più linguaggi?

alla fine perché toglierlo?

Infatti, finché non toglie risorse allo sviluppo del nuovo programma, quello che c’è lo lascerei.
Poi se uno vede che vbs non ha i metodi che gli servono mentre python o c# si, allora userà quello che gli piace di più.

infatti potrebbe essere una cosa che penserebbero di fare molti clienti
in tutti questi anni, chissà quanti utenti hanno creato migliaia script VBS
se ad un certo punto non li potrebbero più usare con le nuove versioni
di sicuro sarebbe un disincentivo, sarebbe fastidioso utilizzare 2 versioni

chissà forse ad un certo punto si userebbe un metodo totalmente nuovo che VBS non potrebbe interagire?

Certo. Non proponevo di toglierlo.
… ma di non impararlo.

C# già ora ignora completamente l’esistenza di rhinoscript/VBS … se non erro.
… e non se ne sente la mancanza.

essendo che in una vecchia discussione si parlava che gli oggetti creati in Rhino con le nuove versioni hanno delle proprietà maggiori a differenza di quelle precedenti se capito bene delle caratteristiche diverse

quindi intendevo dire che nel caso queste differenze sarebbero abissali VBS non potrebbe riconoscere gli oggetti creati in Rhino tipo curve superficie ecc ecc (no so è solo un mio pensiero)

Qualche cosa potrebbe “rompersi” nel tempo, ma ricorda che sotto anche VBS usa rhinocommon per lavorare, quindi è più un problema riguardo a rhinocommon stesso.
VBS potrebbe chiamare metodi rhinocommon recenti, aggiornati, ma che hanno lo stesso nome di quelli vecchi.
Questo comporta risultati diversi dello stesso rhinoscript in versioni di rhino diverse. Capita, in effetti.

Al contrario se in rhinocommon rimuovono qualche metodo, rhinoscript/VBS fallirà nel richiamare quel metodo. Di solito evitano queste cose, quando possibile.

Anch’io usavo ancora parecchi vecchi script in VBS nei pulsanti.
La cosa comica e’ quando per qualche motivo dovevo modificare in fretta uno di quegli script e non mi ricordavo piu’ il VBS …
:grinning_face_with_smiling_eyes:

Tra l’altro, se non vado errato, ci sono cose che puoi fare con RhinoScript ma non con RhinoCommon.
… O almeno c’erano fino a pochi anni fa. :slight_smile:

1 Mi Piace

Ho installato Mono, per poter provare il C# :slight_smile:

Primo test (ricavato dalla documentazione … :wink: )

using System;

public class Hello
{
  public static void Main( string[] args )
  {
    Console.WriteLine ( "Hello Salvio!" );
  }
}

Usando GH, la parte … burocratica e’ gia’ pronta.
Quindi basta inserire le nostre istruzione dentro la funzione RunScript().
In questo caso per avere l’ouput sul parametro ‘out’ del componente usiamo una chiamata a Print().

2 Mi Piace