My idea is that I should be able to click anywhere on the floor plan, and the clicked position should return the coordinates as an output point. Then, based on that point/location, the tags can be placed automatically.
In simple terms:
-
User clicks anywhere on the floor plan
-
The system captures the clicked coordinates (X, Y point)
-
Those coordinates are used to place annotation tags automatically at that location
Select Point On Face sounds kind of like what you’re after - have you tried that yet?
we can get all clicking point on a workplane and get coordinates, but will not help for tagging then you have click point on an element, face with reference PS think OOTB only have node pick point for single point
Yes i have tried it, it needs an element to get the points.
import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry import *
clr.AddReference(‘RevitAPI’)
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference(‘RevitNodes’)
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference(‘RevitAPIUI’)
from Autodesk.Revit.UI import *
from Autodesk.Revit.UI.Selection import *
clr.AddReference(‘RevitServices’)
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
uidoc = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
TaskDialog.Show(“Info”, “Pick Point and press Escap to finish”)
outPt = []
flag = True
while flag:
try:
pt = uidoc.Selection.PickPoint(“Pick Point and press Escap to finish”)
outPt.append(pt.ToPoint())
except:
flag = False
break
OUT = outPt
I am using this code to select the point, and this code needed Boolen to refresh, but its working
yey great or genius loci could help

Not entirely sure why you want ‘no element face’ available, but I am glad you found a pretty good Python solution.
I do recommend caution when using a TaskDialog within a hosted process such as with Dynamo for Revit or any other Revit add-in as the pop-up can get buried or otherwise hidden on screen. Since you’re already using the Revit UI you might want to consider the UI noted here instead: Calling ctypes to create a custom system message - #2 by Gui_Talarico