algorithmic modeling for Rhino
Help !
Please could you tell me how to assign a File path to a parameter (using AssignDataToParameter) in a Rhino VB.NET plugin ?
And how to assign a boolean to a parameter (using AssignDataToParameter)
And how to assign a string to a parameter (using AssignDataToParameter)
Thank you.
For a double, it works, but not for a string or a boolean.
Why ?
I tried a lot of things :
grasshopper = Rhino.RhinoApp.GetPlugInObject("b45a29b1-4343-4035-989e-044e8580d9cf")
... I open my .GHX doc ...
Public Shared Sub UpdateValue(ByRef dblVal As Double, ByRef sSplinePath As Object, _
ByRef CheckBoxTestVal As Boolean, ByRef LabelTest As String)
Rhino.RhinoApp.WriteLine("----------- Executing Grasshopper definition ... -----------'------------------ DOUBLE : It works --------------------------")
Rhino.RhinoApp.WriteLine("Number value (Sphere diam.) :" & dblVal.ToString)
grasshopper.AssignDataToParameter("Num", dblVal) 'It works
'------------------- FILE PATH : It doesn't work ------------------------
Rhino.RhinoApp.WriteLine("File path :" & sSplinePath.ToString)
grasshopper.AssignDataToParameter("PathToWrite", sSplinePath) 'It does not work
'grasshopper.AssignDataToParameter("PathToWrite", "C:\FileToOpenViaPlugIn.txt") 'It does not work
'All digits are superposed !
'c225ec4b-8b8f-4c4b-828f-3f4267b44f39
grasshopper.AssignDataToParameter("c225ec4b-8b8f-4c4b-828f-3f4267b44f39", sSplinePath) 'It does not work
'-------------------- BOOLEAN : It doesn't work ------------------------
Rhino.RhinoApp.WriteLine("Checkbox value :" & CStr(CheckBoxTestVal))
'grasshopper.AssignDataToParameter("Use the Bus data ?", CheckBoxTestVal) 'It does not work
grasshopper.AssignDataToParameter("Use the Bus data ?", False) 'It does not work
'd83dc9e6-f941-40c3-8e68-d3da6b2e6a4e
grasshopper.AssignDataToParameter("d83dc9e6-f941-40c3-8e68-d3da6b2e6a4", CheckBoxTestVal) 'It does not work
'---------------------STRING : It doesn't work -----------------------
Rhino.RhinoApp.WriteLine("Text to see :" & CStr(LabelTest))
'grasshopper.AssignDataToParameter("PanelTest", LabelTest) 'It does not work
grasshopper.AssignDataToParameter("PanelTest", "Tata") 'It does not work
'695122cc-e00d-4cbe-a61a-7f3f4f2b6db5
grasshopper.AssignDataToParameter("695122cc-e00d-4cbe-a61a-7f3f4f2b6db5", "Tata") 'It does not work
grasshopper.RunSolver(True)
End Sub
Tags:
Replies are closed for this discussion.
Salut johnluc,
Je vois que tu es français je te répond donc dans ma langue natale.
J'ai joins deux fichier qui permette de lier une géométrie rhino dans grasshopper via l'iD.
En fait ta seule erreur est de n'avoir pas bien saisit le paramètres iD:
A partir du paramètre iD quand tu demande une sélection d'iD en fait grasshopper demande à rhino de sélectionné un objet. Du coup dans le script il faux raisonné de la même manière.
Voila j'espère que cela t'a aidé...
Rémy
Merci Remy,
Te serait-il possible de faire cela avec un chemin vers un fichier texte, s'il te plait ?
Si le "File Path" est un object, comment le sélectionner alors qu'il n'apparait pas en tant que tel dans Rhino ?
Merci.
Jean-Luc
johnluc,
Je ne comprend pas trop:
Si le "File Path" est un object, comment le sélectionner alors qu'il n'apparait pas en tant que tel dans Rhino ?
Tu dis que "grasshopper demande à rhino de sélectionné un objet" (quand on demande une sélection d'iD), donc, dans le cas d'un "File Path" (Chemin vers un fichier), comment le sélectionner ?
Un "File Path" n'est pas un point ou une ligne ou une surface, qui eux sont sélectionnable dans Rhino.
Le mieux serait que tu m'envoies un exemple avec un composant "File path" dans un canevas Grasshopper, où tu arrives à affecter un chemin via un plug in Rhino.
Cela t'est-il possible ?
Merci.
Jean-Luc
Ok plusieurs manière de le faire, en voici une.
Merci Rémy !
Effectivement, le fait de rajouter les composants "String" et "Join String" dans mon fichier Grasshopper résout mon problème.
Je pensais que le problème se résoudrait dans le code VB.NET.
Merci.
En revanche, il reste le passage d'un booléen...
Si tu as une idée, je suis preneur.
Merci encore !
Jean-Luc
johnluc,
Je ne sais pas si le problème peut se résoudre en VB mais ce que je sais c'est que je suis le pro du contournement de problème dans grasshoper.
Voici un exemple pour le booléen, mais vu tout ce que je t'ai déjà envoyé je pensais que tu aurais pu modifier en conséquence. Si non sans problème biensur !!
Pourrais tu m'expliquer la finalité de ton projet ?
Merci Remy !
Effectivement, la solution pour le booléen ressemble fortement à celle du FilePath. Il faut donc considérer le "résultat" du booléen comme une string.
Encore Merci.
La finalité de mon projet est de représenter plusieurs volumes délimités par des fichiers de surfaces externes, qu'il faut donc appeler via des FilePath (indiqués par l'utilisateur dans une interface). Le Choix du ou des volumes à afficher doit dépendre de Checkboxes actives ou pas (True/False) dans l'interface utilisateur.
Une autre possibilité d'utilisation des checkboxes, que je vais tester, serait de "Baker" dans Rhino, dans des Layers différents, tous les volumes de mon fichier GH, via la fonction BakeDataInObject(), et d'activer les layers (calques) en fonction des cases à cocher activées.
Mais la fonction BakeDataInObject() ne permet pas de spécifier le layer dans lequel "Baker" un objet. Il va falloir que je déplace l'objet du Layer par défaut vers un Layer spécifique, à l'aide d'une instruction Rhino, qui doit certainement exister mais que je ne connais pas encore.
D'ailleurs, si tu as une idée sur le sujet, cela m'aiderait...
Mais, je ne veux pas abuser.
Merci.
Jean-Luc
Johnluc,
Je n'ai pas bien saisit l'intégralité du projet.
Mais je peux te dire que les problèmes d'interface cela me connais:
tu peux voir ici une interface connecté à grasshopper.
Pour l'histoire du baking voici un petit composant qui répondra à tes attentes.
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by