Skip to content

Instantly share code, notes, and snippets.

@chuongmep
Created December 2, 2020 03:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chuongmep/295440f7a8695964a054d00fee177409 to your computer and use it in GitHub Desktop.
Save chuongmep/295440f7a8695964a054d00fee177409 to your computer and use it in GitHub Desktop.
import clr
import math
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
items = UnwrapElement(IN[0])
curves = []
for item in items:
loc = item.Location
if loc.ToString() == 'Autodesk.Revit.DB.LocationCurve':
curves.append(loc.Curve.ToProtoType())
try:
refs = HostObjectUtils.GetTopFaces(item)
blines = []
for ref in refs:
try:
boundaries = item.GetGeometryObjectFromReference(ref).GetEdgesAsCurveLoops()
for loop in boundaries:
cloop = []
for line in loop:
cloop.append(line.ToProtoType())
blines.append(cloop)
except:
pass
if (len(blines) > 0):
curves.append(blines)
except:
pass
OUT = curves
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment