algorithmic modeling for Rhino
Hi!
I'm trying to write for Grasshopper in C# a few custom components and a custom Data type that implements IGH_Goo. Now I'm passing this type of data to my own component with this code:
pManager.AddGenericParameter("Model", "Mod", "The models to add to this option as choices", GH_ParamAccess.item);
List<ConfigurableModel> models = new List<ConfigurableModel>();
if (!DA.GetDataList(0, models)) return;
It compiles and runs, but the last line of code is throwing a MissingMethodException: No parameterless constructor defined for this object.
Why might this happening? I would guess it has something to do with the custom data type that I have written, but I don't even know where to start looking for it and it's probably too long to paste all of it here.
Thanks,
Taavi
Tags:
That error means that your ConfigurableModel doesn't have a constructor (i.e. new()) that is public and without parameters. To wit:
public ConfigurableModel()
{
// Do whatever you need to do here to create a default, or maybe invalid ConfigurableModel.
}
Without such a constructor Grasshopper doesn't know how to create new instances of your type, which it needs in order to access the CastTo method, amongst other things.
Another problem is that you are accessing the parameter using GetDataList(), but your parameter has access of GH_ParamAccess.item. This will not work. You need to change the access to list, or use GetData().
If you've not already read it, I think the best forum post on how to create Custom Data type in GH is http://www.grasshopper3d.com/forum/topics/custom-data-type-gh-geome...
There is a really detailed example in it.
Cheers!
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
© 2024 Created by Scott Davidson.
Powered by