if brep:
if isinstance(brep, Rhino.Geometry.Brep):
verts = [v.Location for v in brep.Vertices]
edges = [e.EdgeCurve for e in brep.Edges]
faces = [f for f in brep.Faces]
import rhinoscriptsyntax as rs
import Rhino
curves = x if isinstance(x, list) else [x]
all_points = []
for crv in curves:
if crv is None:
continue
if isinstance(crv, Rhino.Geometry.PolylineCurve):
pts = [pt for pt in crv.ToPolyline().ToArray()]
all_points.extend(pts)
elif isinstance(crv, Rhino.Geometry.LineCurve):
all_points.append(crv.PointAtStart)
all_points.append(crv.PointAtEnd)
elif isinstance(crv, Rhino.Geometry.ArcCurve):
all_points.append(crv.PointAtStart)
all_points.append(crv.PointAtEnd)
all_points.append(crv.Arc.MidPoint)
elif isinstance(crv, Rhino.Geometry.Curve):
pline = crv.ToPolyline(0,0,0,0,0,0,True)
if pline:
all_points.extend([pt for pt in pline])
else:
all_points.append(crv.PointAtStart)
all_points.append(crv.PointAtEnd)
a = all_points
While the new CPython 3 component has its quirks/issues when implementing RhinoCommon/.NET, in this case it works the exact same as the GhPython/IronPython version: