algorithmic modeling for Rhino
The ParameterID is the InstanceGuid of any instance of IGH_Param. The ID doesn't change unless a parameter is moved into another document (for example during Insert or Paste), so if you're accessing a specific parameter in a known file, you can always use the same ID.
The easiest way to find the ID of a parameter is to copy it into the clipboard, then paste the resulting xml into a text editor and search for this line:
<item name="InstanceGuid" type_name="gh_guid" type_code="9">7d07a00a-382c-457b-abeb-b3ad14acdefe</item>
--
David Rutten
david@mcneel.com
Poprad, Slovakia
Thanks David.
Don
David,
Could you explain how the 'BakeDataInObject(objectID As String)' works? Is the object id a target in Rhino? Also, Is there a way to specify the InstanceGuid in order to select the geometry component your wish to bake?
Thanks,
Don
The objectID is either a parameter or a component InstanceGuid.
--
David Rutten
david@mcneel.com
Poprad, Slovakia
This is a example how to generate a node in grasshopper and put the datastructure into that node. ( a text node) A Grasshopper file has to be opened in this case. This is a starting point for your task to execute grasshopper externaly. Have fun.
namespace RunTimeCompiler
{
///<summary>
/// This is the new scripting enviroment
/// have fun to use it as you want.....
///</summary>
public class ExecuteClass
{
public static void RunScript(ref Rhino.Display.CustomDisplay preview)
{
/// code comes here
/// ----->
Grasshopper.Kernel.GH_ComponentServer com_serv = Grasshopper.GH_InstanceServer.ComponentServer;
GH_Document doc = Grasshopper.GH_InstanceServer.ActiveCanvas.Document;
Grasshopper.GUI.GH_DocumentEditor com_edit = Grasshopper.GH_InstanceServer.DocumentEditor;
IGH_DocumentObject remoteObject = GH_InstanceServer.ComponentServer.EmitObject(new System.Guid("3EDE854E-C753-40eb-84CB-B48008F14FD4"));
if (remoteObject == null)
{
return;
}
remoteObject.CreateAttributes();
remoteObject.NewInstanceGuid();
remoteObject.Attributes.Selected = false;
PointF pivot = new PointF(1f, 1f);
remoteObject.Attributes.Pivot = pivot;
remoteObject.NickName = "ICS_generated";
Grasshopper.Kernel.Parameters.Param_String linear_dim = (Grasshopper.Kernel.Parameters.Param_String)remoteObject;
// linear_dim.AddPersistentData(new GH_String("hallo"));
doc.AddObject(remoteObject, false, 2147483647);
GH_IO.Serialization.GH_Archive my_archive = new GH_IO.Serialization.GH_Archive();
my_archive.AppendObject(doc, "Definition");
// linear_dim.Params.Input[1].AddVolatileData(new GH_Path(), 0,new GH_String(my_archive.Serialize_Xml()));
linear_dim.AddPersistentData(my_archive.Serialize_Xml());
linear_dim.ExpireSolution(true);
linear_dim.ExpirePreview(true);
doc.ExpirePreview(true);
doc.NewSolution(true, GH_SolutionMode.Silent);
/// <-----
/// code endes here
}
}
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
© 2024 Created by Scott Davidson. Powered by