Location of linked file

To work in feets, it’s probably something like that :

import clr
import math
# import Document Manager
clr.AddReference("RevitServices")
import RevitServices 
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import *

dataEnteringNode = IN
doc=IN[0]
outData = []
outProjBasePt = []
outProjSurvPt = []
outProjLoc = []

coll = FilteredElementCollector(doc)
basePt = coll.OfClass(BasePoint).ToElements()

projBasePt = None

for e in basePt:
	a = e.Category.Name
	if a == "Project Base Point":		
		pbpEW = e.LookupParameter("E/W")
		pbpNS = e.LookupParameter("N/S")
		pbpElev = e.LookupParameter("Elev")
		pbpAngle = e.LookupParameter("Angle to True North")
		outProjBasePt.append(round(pbpEW.AsDouble(),6))
		outProjBasePt.append(round(pbpNS.AsDouble(),6))
		outProjBasePt.append(round(pbpElev.AsDouble(),6))
		outProjBasePt.append(round(pbpAngle.AsDouble()*180/math.pi,6))
	elif a == "Survey Point":
		pspEW = e.LookupParameter("E/W")
		pspNS = e.LookupParameter("N/S")
		pspElev = e.LookupParameter("Elev")
		outProjSurvPt.append(round(pspEW.AsDouble(),6))
		outProjSurvPt.append(round(pspNS.AsDouble(),6))
		outProjSurvPt.append(round(pspElev.AsDouble(),6))

projLoc = doc.ActiveProjectLocation
origin = XYZ(0.0,0.0,0.0)

projPos = projLoc.get_ProjectPosition(origin)
if projPos == None:
	outProjLoc.append("No Project Position at origin point")
else:
	outProjLoc.append(round(projPos.EastWest,6))
	outProjLoc.append(round(projPos.NorthSouth,6))
	    	
OUT = [outProjLoc, outProjBasePt, outProjSurvPt]
2 Likes