Dimension to wall finished face

You can use the awesome code shared by @viktor_kuzev here:

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

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

line = UnwrapElement(IN[0]).GeometryCurve
elements= IN[1]
dim=0

elementsRef=ReferenceArray()
opt=Options()
opt.ComputeReferences=True
opt.IncludeNonVisibleObjects=True
opt.View=doc.ActiveView

for element in elements:
	elementsRef.Append(element)
	
TransactionManager.Instance.EnsureInTransaction(doc)

dim= doc.Create.NewDimension(doc.ActiveView, line, elementsRef).ToDSType(True)

TransactionManager.Instance.TransactionTaskDone()

OUT=dim

Looks like the difference between Revit.GeometryReference.ElementFace and Autodesk.Revit.DB.Reference (when converting a wall surface to a reference through the clockwork node did the trick)