Collecting the perimeter curves of a Toposolid

Hi,

alternative with API Revit


import sys
import clr
clr.AddReference('ProtoGeometry')
import Autodesk.DesignScript.Geometry as DS

clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)

topo = UnwrapElement(IN[0])

slabShape = topo.GetSlabShapeEditor()
pair_vertices = [p.EndPoints  for p in slabShape.SlabShapeCreases if p.CreaseType  == SlabShapeCreaseType.Boundary]
OUT = [DS.Line.ByStartPointEndPoint(vertA.Position.ToPoint(), vertB.Position.ToPoint()) for vertA, vertB in pair_vertices]
7 Likes

Hi, using Position property in disguised Enumerate
pretty

cordially
christian.stan

1 Like