The Primer says this should work:
What am I doing wrong?
It works fine without the ProtoType thing, but I cannot make any sense of it in Dynamo:
The Primer says this should work:
What am I doing wrong?
It works fine without the ProtoType thing, but I cannot make any sense of it in Dynamo:
Believe you are missing the geometry conversion part of the boilerplate code.
Hi Danail,
To use ToProtoType add above :
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
Because you only imported the Element wrapper extension methods and not the geometry conversion extension methods.
Thank you both, Alban and Jacob!
Here’s the final code, to whom it may be useful in the future:
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
areas = UnwrapElement(IN[0])
curveslist = []
Options = SpatialElementBoundaryOptions()
Options.SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Center
for area in areas:
curvesSublist = []
for curve in area.GetBoundarySegments(Options)[0]:
curvesSublist.append(curve.GetCurve().ToProtoType())
curveslist.append(curvesSublist)
OUT = curveslist