New to Python - grid lines

I am trying to select an existing grid, get the start/end coordinates and then make more girds based on that. I have the following code and have tried others from online without success. This is my first attempt at writing something so please don’t judge.


from Autodesk.Revit import DB
from Autodesk.Revit import UI
from pyrevit import revit, UI

#Input from selection
crv = revit.uidoc.Selection.PickObject(UI.Selection.ObjectType.Element)

startpoints = []
for crv in curves:
	startpoints.Add(crv.StartPoint)
	print(startpoints)
OUT = startpoints

startpoints()

Hi @jstro and welcome

here an example

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

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

#import Revit APIUI namespace
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
from Autodesk.Revit.UI.Selection import *

#import net library
from System.Collections.Generic import List

clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
uidoc = uiapp.ActiveUIDocument

refE = uidoc.Selection.PickObject(ObjectType.Element)
elem = doc.GetElement(refE)
if isinstance(elem, DB.Grid):
	curveGrid = elem.Curve
	startPoint = curveGrid.GetEndPoint(0)
	# convert point to Prototype
	DS_StartPoint = startPoint.ToPoint()
	OUT = DS_StartPoint

you can find more information here

3 Likes