Modifica Codice Py

è vero che con il livello dei due script postati prima, non mi sarei dovuto azzardare ad avvicinarmi a questo, ma Emilio non’é colpa mia, te la devi prendere con una certa persona che mi aveva consigliato, invece di creare gli oggetti tramite script e previa verifica confermarli oppure cancellarli, di usare le PipeLine e nel caso poi crearle. :grin: :grin:

e a quel punto non ho saputo resistere alla tentazione di provarci, che ci vuoi fare sono un folle ahahahah

ps comunque ho specificato di aver capito qualcosina ma giusto mi sono fatto un’idea,
ma ho ancora molte cose da approfondire (man mano) per adesso mi va bene così.

Salvio
Avrai notato che molte istruzioni di rhinocommon se usate in py hanno argomenti differenti rispetto a c#.
Altri ancora non sono proprio supportati.
Saltando continuamente da c# a py alimenterai ancor di più i dubbi. Tu rinnovo il consiglio di usare c#.

Ti riferisci a me ?
:smile:
Non mi ricordo … e come al solito non ho capito il procedimento di cui parli … o la discussione a cui accenni. :confused: :blush:.
Cosa sono le PipeLine ? :slight_smile:

Sergio ti do ragione al 1000% infatti è stato un mio approccio non voglio dire sbagliato,
ma di sicuro poco lungimirante, ho iniziato col VBS avendo avuto esperienza col VBA
è mi sembrava quello più vicino alle mie possibilità, e in questo modo ho capito i metodi
poi ad un certo punto, mi serviva fare qualcosina in più, ed avendo imparato i metodi
ed il loro funzionamento in VBS ed avendo avuto in precedenza una piccola infarinatura
in Py a quel punto mi sono sentito pronto a passare in Py. poi c’é stato l’avvicinamento
a Gh che aveva anche Py per fare gli script che però visogna comunque prima capire
prima un bel po di Gh per poi poter usare gli script di Py e ci siamo cimentati anche in quello
alla fine come è andata a finire che ho alzato ancora l’asticella e per fare anche un piccolo
script in C# per Rhino bisogna usare e imparare VisualStudio che già di per se si deve studiare
poi saper programmare in C# (e questo qualcosina l’ho visto in rete tramite tutorial) ed infine
mancava solo RCommon che anchesso è scritto in C#, ma che se uso VS come già detto
è una tragedia, per ogni prova dovrei creare un plug-in importarlo in Rhino ed eseguirlo
onestamente su questo non credo di potercela fare, quindi sto seguendo questa via
intermedia usare Py con RCommon in Rh imparo il più possibile mi faccio le ossa
per poi quando mi sentirò capace di poter scrivere un codice al 80/90% già corretto
in VS allora potrò fare ciò che dici, altrimenti sarebbe un suicidio (adesso sicuramente)

ps non dirmi che mi vuoi come studente (ne sarei onorato) con me hai visto ci vuole molta pazienza
anche, però se vogliamo analizzare bene le cose, come ha già detto Emilio, in effetti questi sono argomenti di no poco spessore, anzi direi anche abbastanza complessi da trattare sopratutto a distanza e ancor di più se non si ha una buona base alle spalle non si dovrebbe avvicinarsi a tali livelli di programmazione senza prima fare un percorso ben preciso, ma che ci vuoi fare, io ogni volta mi metto a provare cose nuove, ed il primo sono io che accuso i colpi, ti assicuro che non’é facile, speriamo di avere le spalle larghe fino infondo.

se riesco a trovarla te la posto ahahahah
non’é di molto tempo fa, credo di quest’anno al massimo fine anno scorso :wink:

Emilio che vuoi fare, tu mi stuzzichi le idee, ed io non mi tiro indietro ahahahah

edit: che poi inizialmente mi sarebbe piacito usare le pipeline nei miei script
ma usando VBS non potevo, adesso che avevo iniziato a passare tutto in Py
ma sapevo che erano complitate, però se poi mi sproni ad usarle che dovevo fare. . .

:smile:

1 Mi Piace

Continuo a non capire cosa sono le pipeline … :thinking:

ormai anche al di fuori della programmazione siamo disincronizzati ahahahah
credevo che ti riferissi a quando nel post mi avevi consigliato di usare. . .

mi ricordavo PipeLine che starebbe come diminutivo DisplayPipeline o no?
in pratica quando si vedono gli oggetti disegnati in Rhino ma che di fatto non esistono (tipo Gh)

1 Mi Piace

@emilio ecco la discussione incriminata:

quindi per visualizzare la preview mi consigliasti DisplayConduit ecco non DisplayPipeLine ok :+1:

Non avevo consigliato proprio niente.

Parlando del problema di Paolo, dicevo:

sarebbe un lavoraccio

Poi tu hai chiesto come si sarebbe potuto fare il ‘lavoraccio’ e io ti ho risposto.

Tu:

Visto che ti interessava, ho dato qualche informazione:

NOTA:
Mi sembra un argomento un po’ complesso per chi inizia con RhinoCommon …

Non mi piace che mi si mettano in bocca cose che non ho detto.

per carità Emilio, non voglio mettere parole a nessuno. . .

si vede che avevo capito altro :peace_symbol:

1 Mi Piace

Giocando con ChatGPT…ho posto questo quesito :

Using Rhino’s Python scripting to create a custom command that prompts the user to select a point and then dynamically draws a line from a fixed point to the current point being selected by the user.

Ecco la rispostadi dell’ AI di ChatGPT …secondo voi è corretta ?

import rhinoscriptsyntax as rs
import Rhino.Geometry as rg

def draw_dynamic_line():
start_point = rg.Point3d(10, 0, 0)
current_point = rs.GetPoint()
if current_point:
line = rg.Line(start_point, current_point)
rs.AddLine(line.From, line.To, color=(0, 255, 0))
rs.EnableRedraw(True)

draw_dynamic_line()

Ciao Mario!
Purtroppo no. Aggiunge semplicemente la linea dopo il click.
Sergio

1 Mi Piace

Ciao Sergio
Grazie per la risposta

infatti è quello che mi aspettavo, aggiunge una singola linea dal punto (10,0,0) al punto clickato dallo user…
Mi premeva capire se ChatGPT è in grado di scrivere del codice corretto anche in Python.

Hai formulato la domanda in modo corretto: se la scrivevo io … povero chatgpt!
Fortunatamente la IA, almeno quella disponibile al “popolino”, sembra presentare
dei limiti. Speriamo che questo gap perduri altrimenti per molti saranno guai …

Purtroppo sul mio Rhino V5 Python non sembra funzionare , e non capisco perchè !

Lo stessa richiesta fatta per un codice VBS ha dato questa risposta (che funziona ):

Option Explicit

Call Main()

Sub Main()
Dim pt, basePt
basePt = Rhino.GetPoint(“Select the base point for the line”)
If IsArray(basePt) Then
Do
pt = Rhino.GetPoint(“Select a point to draw the line to”)
If IsArray(pt) Then
Rhino.AddLine basePt, pt
basePt = pt
End If
Loop While IsArray(pt)
End If
End Sub

1 Mi Piace

Ciao Mario !

Neanche su Rhino 6 … :smile:
Perche’ c’e’ un errore bello grosso.
rs.AddLine non ha nessun parametro color
ChatGPT se lo e’ inventato.
Prova cosi’

import rhinoscriptsyntax as rs
import Rhino.Geometry as rg

def draw_dynamic_line():
    start_point = rg.Point3d(10, 0, 0)
    current_point = rs.GetPoint()
    if current_point:
        line = rg.Line(start_point, current_point)
        rs.AddLine(line.From, line.To)

draw_dynamic_line()

Ho anche tolto la linea
rs.EnableRedraw(True)
perche’ usata cosi’ non ha senso.

1 Mi Piace

Pero’ e’ furbo … che c’entrino gli italiani ? :smile:
Ha chiamato la funzione ‘dynamic’, anche se di dinamico non ha proprio niente :smile:
In pratica ha preso in giro Mario … :angry:

1 Mi Piace

Grazie Emilio …adesso con la tua correzione funziona :grinning:
Eh ChatGPT ne deve mangiare ancora molto di pane e volpe per essere utile :laughing:

2 Mi Piace

Mah … potrebbe essere semplicemente la prossima evoluzione della programmazione.
Forse il primo tentativo serio di ottenere agevolmente il mitico riutilizzo del codice con cui i vari guru ci riempiono i maroni da decenni … :smile:
Forse il futuro ci si concentrera’, almeno per certe cose, piu’ sull’impostare/sviluppare il motore AI che sullo scrivere per la 200esima volta le stesse funzioni, o andare a cercarle in giro tra le varie librerie …
Mi sembra solo un effetto della maggior potenza di calcolo disponibile rispetto al passato,
e credo ce ne saranno altri …
E’ solo un’ipotesi, ovvio … :grinning:

1 Mi Piace

E’ un ipotesi che è già molto vicina alla realtà :wink:

2 Mi Piace