algorithmic modeling for Rhino
Im trying to make a component that has an input that can take a list of both breps, and text. Then in the component it would sort through the inputs.
Currently I have an input set to List Access with the Type Hint of System.Object. It takes these inputs just fine, but then when I try to access the inputs, it gives me an error if I try to access the item which is text.
Im testing a list of
(0) Brep
(1) TestString
(2) TestString
the code looks something like this...
int i = 0;
while(i < MyList.Count)
{
Print(MyList[i].GetType().ToString());
i++;
}
If I replace "MyList[i]" with "MyList[0]" it works fine. But when I try to access the text, i get this error:
1. Object reference not set to an instance of an object. (line: 0)
Any advice?
Tags:
Ah! You are correct! Turns out the error was in a different part of the script. Really what Im looking to do is instead of Printing the type, I want to assigin it to sepperate lists of type string, and GeometryBase... so more like this...
List<string> myString = new List<string>();
List<GeometryBase> myGeom = new List<GeometryBase>();
int i = 0;
while(i < myList.Count)
{
if(myList[i].GetType() == typeof(string))
myString.Add(myList[i].ToString());
else if(myList[i].GetType() == typeof(Brep))
myGeom.Add(myList[i]);
else
Print("Cannot accept Objects of type " + myList[i].GetType().ToString());
i++;
}
I was able to get around the casting the string with the .ToString(). But have not found how to assign the brep to GeometryBase. In Theory I would add if statements for all geometry types I want to accept.
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