import clr
# ProtoGeometry (Dynamo)
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# API
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
# RevtiServices
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
# RevitNodes, ToDSType method, Geometry conversion
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
# defs
def Convert(num):
return UnitUtils.ConvertToInternalUnits(num, DisplayUnitType.DUT_MILLIMETERS)
# start
doc = DocumentManager.Instance.CurrentDBDocument
view = UnwrapElement(IN[0])
av = doc.ActiveView
#Top Grid
deltatop = IN[1]
#vatopx = Convert(deltatop[0].X)
#vatopy = Convert(deltatop[0].Y)
#vatopz = Convert(deltatop[0].Z)
grids = [UnwrapElement(item) for item in IN[2]]
#Bottom Grid
deltabottom = IN[3]
#vabottomx = Convert(deltabottom[0].X)
#vabottomy = Convert(deltabottom[0].Y)
#vabottomz = Convert(deltabottom[0].Z)
TransactionManager.Instance.EnsureInTransaction(doc)
for g in range(len(grids)):
newStart = XYZ(deltatop[g].X, deltatop[g].Y, deltatop[g].Z)
newEnd = XYZ(deltabottom[g].X, deltabottom[g].Y, deltabottom[g].Z)
newCurve = Line.CreateBound(newStart, newEnd)
grids[g].SetCurveInView(DatumExtentType.ViewSpecific, view , newCurve)
TransactionManager.Instance.TransactionTaskDone()
# end
OUT = grids
Warning: IronPythonEvaluator.EvaluateIronPythonScript operation failed.
Traceback (most recent call last):
File “”, line 54, in
Exception: The curve is unbound or not coincident with the original one of the datum plane.
Parameter name: curve
@c.poupin. Thank you so much.
your work is amazing.
I am looking into this many times to understand.
but i think i missed to specify diagonal grids as shown in image.
is that possible for diagonal grids also?