Professional Documents
Culture Documents
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import Solid as DynamoSolido
from Autodesk.DesignScript.Geometry import Line as DynamoLine
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
#Variables de Documento
doc = DocumentManager.Instance.CurrentDBDocument
uidoc = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
def InterseccionGrillas(grilla1,grilla2):
linea1 = grilla1.Curve.ToProtoType();
linea2 = grilla2.Curve.ToProtoType();
interseccion1 = linea1.Intersect(linea2)
return interseccion1
punto = IN[0]
rejillas1 = FilteredElementCollector(doc)
rejillas1.OfClass(GridRevit).ToElements();
rejillas = list()
for ele in rejillas1:
rejillas.append(ele)
distanciaComparativa = 999999999999
for i in xrange(len(rejillas)):
rejillai = rejillas[i]
for j in xrange(len(rejillas)):
if not (i==j):
rejillaj = rejillas[j]
intersecciones = InterseccionGrillas(rejillai, rejillaj)
if not(intersecciones.Count==0):
distancia = punto.DistanceTo(intersecciones[0])
if distancia<distanciaComparativa:
distanciaComparativa = distancia
rejilla1 = rejillai
rejilla2 = rejillaj
OUT = rejilla1,rejilla2