Ciao a tutti,
Sto cercando di farmi un componente in grasshopper con python che mi “cuocia” delle breps sul documento rhino in determinati layer e colori e che poi me le raggruppa.
So che ci sono altri componenti per farlo ma mi voglio un po’ mettere alla prova.
Mi sono subito scontrato con una cosa: non trovo un modo con rhinoscriptsyntax di aggiungere le breps nel documento rhino. Ho trovato Add ecc per un po’ di tutto ma per aggiungere delle breps no.
Qualcuno mi può aiutare?
Ciao Federico
Hmmm … forse sbaglio, ma non credo che rhinoscriptsyntax si occupi di Brep o altri oggetti geometrici in quanti tali … per cosi’ dire …
rsyntax riproduce in un certo modo i comandi Rhino. In Rhino non puoi definire prima una Brep e poi aggiungerla al documento.
Le due cose sono fuse insieme. Ad esempio in rsyntax hai AddSphere, AddSrfPt eccetera.
Ma in ogni caso non passi l’oggetto sfera come parametro, devi dargli centro e raggio e la sfera la costruisce lui ‘di nascosto’ … … e poi la cuoce. Ma il tutto e’ ottenuto tramite una sola funzione rsyntax.
Se vuoi/devi lavorare con gli oggetti geometrici ‘astratti’, credo che tu debba usare RhinoCommon.
L’operazione di ‘cuocere’ e’ una tipica operazione RhinoCommon: prende un oggetto geometrico e lo aggiunge al documento Rhino.
Non so se mi sono spiegato …
Sempre ammesso di aver capito il problema …
Ciao !
Ciao Emilio e grazie.
Hai capito il problema e penso anche indovinata l’analisi.
Era un pensiero che ho fatto anch’io (che rsyntax riproduce i comandi di rhino e quindi AddBrep non aveva in quest’ottica senso) ma volevo esserne sicuro.
Quindi si va di RhinoCommon!
Ora cerco di capire dove trovare la funzione di RhinoCommon che mi baka gli oggetti, se ho difficoltà mi rifaccio vivo.
Ciao e grazie.
Ecco, è arrivato il momento di fare la domanda su RhinoCommon e dimostrare la mia ignoranza in materia.
Ora io probabilmente ho già sbagliato in partenza ma per esempio cosa vuole da me questa funzione?
ObjectTable? ObjectAttributes?
Non capisco perchè non si scrivere "Rhino.DocObjects.Tables.ObjectTable.AddBrep( Brep, layer , name , color) o cose simili; Boh!
Con RhinoCommon per il momento non ci vado d’accordo
Eeeeeh … gli oggetti, questi dispettosi …
Il metodo AddBrep() e’ un normale metodo che deve essere richiamato collegandolo ad un oggetto.
Non e’ un metodo statico che va collegato alla classe.
Per cui prima del punto precedente AddBrep() ci vuole un oggetto appartenente alla classe ObjectTable
( e non la classe stessa )
L’oggetto lo ottieni di solito da
Rhino.RhinoDoc.ActiveDoc.Objects
Credo che in GH la cosa non cambi … anche se non ricordo bene …
Ciao
p.s.
Se lo usi per un po’, vedrai che ti abitui anche a RhinoCommon.
Certo e’ piu’ vasto di rs, per cui ci vuole un po’ di tempo.
Pero’ ci fai molte piu’ cose,e quindi essendo piu’ articolato e potente risulta anche piu’ complesso e lungo da apprendere.
… Sempre sperando che prima o poi (meglio prima) si decidano a completarlo o almeno a proseguire nel lavoro …
Speriamo in Rhino 6
…non ho capito Don Emilius
Ciao Giuspa !
Volevo dire che credo che per accedere al RhinoDoc del documento Rhino si usi:
Rhino.RhinoDoc.ActiveDoc
… E quindi la ObjectTable risulterebbe in questo caso il succitato oggetto
Rhino.RhinoDoc.ActiveDoc.Objects
… ma credo di si’ perche’ vedo che il RhinoDoc e’ quello che Federico ha settato come valore di
scriptcontext.doc
… che se non erro ( mah … ) e’ quello che usa rhinoscriptsyntax in ambiente GH
Hmmm … a questo punto tanto vale usare scriptcontext.doc … credo che sia lo stesso … a piacere …
Giusto ? … non vorrei aver perso il filo un’altra volta …
Speriamo.
Comunque ieri grazie alla tua risposta sono riuscito a sbloccarmi e a fare qualcosa.
Il tempoooo ecco cosa più mi servirebbe…oltre a qualche buon consiglio
Ciao e grazie.
Hehe … su questo possiamo fare un club anche subito … cioe’, appena trovo il tempo …
Bella, questa me la segno!
AHAHAHAHAHA…no…il filo è quello!!!
Un abbraccio