Ok then try this python script, it uses this method from the RevitAPI
http://www.revitapidocs.com/2018.1/7991d0f9-e792-94b0-1170-0b8ea27e48ed.htm
edit: this should work for both lists and single elements
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
clr.AddReference('System')
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
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
if isinstance(IN[0],list):
element = UnwrapElement(IN[0])
else:
element = [UnwrapElement(IN[0])]
list = []
TransactionManager.Instance.EnsureInTransaction(doc)
for x in element:
points = AdaptiveComponentInstanceUtils.GetInstancePlacementPointElementRefIds(x)
list.append(points)
TransactionManager.Instance.TransactionTaskDone()
OUT = list
