There are three CreatePatch commands in Rhinocommon:
http://4.rhino3d.com/5/rhinocommon/?topic=html/Overload_Rhino_Geome...
Two of them work normally but the pro version with full control won't take the same list of curves as the others?! The starting surface works fine too with the version that only takes a starting surface instead of the full list of options, so really it's the Curves input that is saying my list isn't an IEnumerable. Not a common error as far as Google lets on.
Printing Curves gives:
[<Rhino.Geometry.NurbsCurve object at 0x00000000000007E0 [Rhino.Geometry.NurbsCurve]>, <Rhino.Geometry.NurbsCurve object at 0x00000000000007E1 [Rhino.Geometry.NurbsCurve]>]
Nik Willmore
Here djordje mentions it, actually, this specific problem:
http://discourse.mcneel.com/t/issue-with-ienumerable-geometrybase/7...
"An Overload CreatePatch()1 list shows three methods. There stands that all of them require IEnumerable(GeometryBase) as their first parameter. But somehow the first and the second one accept regular python lists too. Only the third3 one requires a .NET list, which I did after Menno's advice.
The only thing that confuses me now is this inconsistency - when IEnumerable required: why is it sometimes ok to only pass a regular python list, while some other time you need to pass a .NET one?
I think Mitch was talking about that too."
Feb 25, 2016
Nik Willmore
Oh, my, so I found at least a curve container in Rhino.Collections, and I can get past the first error as long as I'm just using various curves, with:
CURVES_CONTAINER = Rhino.Collections.CurveList()
for c in Curves:
CURVES_CONTAINER.Add(c)
Then I get a new error that's better explained but not in detail. One of the Boolean flags is expected to be an *array* of four Booleans (True/False).
More work....
Feb 25, 2016
Nik Willmore
"Instead of using a Python list, use a .NET generic list."
from System.Collections.Generic import List
geomBaseList = List[GeometryBase]()
# add stuff to list (curves, points)
Feb 28, 2016