# Multiple Spot Coordinates

**URL:** <https://forum.dynamobim.com/t/multiple-spot-coordinates/40410>\
**Category:** Developers\
**Tags:** python\
**Created:** [September 6, 2019, 4:26pm UTC](https://forum.dynamobim.com/t/multiple-spot-coordinates/40410 "2019-09-06T16:26:06Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![MartinSpence](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/martinspence/32/25208_2.png) [@MartinSpence](https://forum.dynamobim.com/u/MartinSpence)\
**Post date:** [September 9, 2019, 7:58pm UTC](https://forum.dynamobim.com/t/multiple-spot-coordinates/40410/10 "2019-09-09T19:58:54Z")

</div>

Hi @quagliatol,

The Reference needs to be a geometric reference, which you need to get from the floor object. See below for a, quick and dirty, example for a single Floor object:

![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/b/9/b9aa4a3a53daad8b8a4400f862c640a8d8a15537.png)

Python script:

```
import clr

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

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

#Import ToDSType(bool) extensions method
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

#Reference the active Document and application
doc = DocumentManager.Instance.CurrentDBDocument

#---###Start scripting here:###---#
floor = UnwrapElement(IN[0])
refPts = [i.ToXyz() for i in IN[1]]
view = doc.ActiveView

opts = Options()
opts.ComputeReferences = True

floorSolid = floor.get_Geometry(opts)
plFaces = [i.Faces for i in floorSolid][0]
upFace = None
for i in plFaces:
	normal = i.FaceNormal
	if normal.Z == 1:
		upFace = i

ref = upFace.Reference
		
#Transaction start:
TransactionManager.Instance.EnsureInTransaction(doc)
spotElev = []
for i in refPts:
	spotElev.append(doc.Create.NewSpotElevation(view, ref, i, i, i, i, False))
#Transaction end:
TransactionManager.Instance.TransactionTaskDone()

OUT = spotElev
```

---

_[View the full topic](https://forum.dynamobim.com/t/multiple-spot-coordinates/40410)._
