algorithmic modeling for Rhino
I'm trying to send an object from one component to another, in the easiest way possible.
the class:
public class SonicStep
{
private string distance;
public SonicStep(string legdistance)
{
this.distance = legdistance;
}
public string Distance
{
get { return distance; }
set { distance = value; }
}
}
setup:
pManager.Register_GenericParam("SonicStep", "Steps", "Each Step from A to B (Use the Step Component to read this output)");
SonicStep stepTemp = new SonicStep("some distance");
DA.SetData(7, new GH_ObjectWrapper(stepTemp));
Then bringing it in on the other component:
GH_ObjectWrapper allSteps = new GH_ObjectWrapper();
if (!DA.GetData<GH_ObjectWrapper>(0, ref allSteps)) {return;}
SonicStep tempStep = allSteps.Value as SonicStep;
string tempdist = tempStep.Distance;
I get an error that says "Object reference not set to an object......etc etc"
Any ideas?
Tags:
Did you forget this?
if (!DA.GetData<GH_ObjectWrapper>(0, ref allSteps))
return;
Hi Sridevi,
I was using ....................if (!DA.GetData(0, ref allSteps)).....
tried if (!DA.GetData(0, ref allSteps)) aswell, no go :(
Any ideas?
Since the "as" keyword will set your SonicStep to null if the cast doesn't work, it is probably a good idea to test for null before trying to access the properties of the object.
however otherwise your code works for me... the only other thing I can think of - is 7 the correct index for the SetData? I usually do this by name rather than index to avoid confusion.
ahhhh yes. That would be the problem. Haven't tested this, but you could probably include a reference to the other assembly? or define the class in a .dll external to the two GHAs?
Update - I played around and got this to work. An external dll containing only the SonicStep class, and two GHAs containing components which output and receive the custom type respectively. However - I ran into the problem described here - the external dll reference only worked when COFF loading was disabled.
I know there are GHA libraries (sawapan, kangaroo, etc) that refer to external dlls and function properly even with COFF loading enabled. So there's gotta be a way...
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