While working on a small scale software project I realized that not much is referenced around the web about analytical nodes. These nodes usually found at characteristic points of analytical elements such as beams, columns walls etc. In Revit Api a node is called as “ReferencePoint” which inherits Element object. You can collect all elements in a a collector and loop through for all ReferencePoints :
public Result Execute(ExternalCommandData CommandData, ref string message, ElementSet elements) { Document doc = CommandData.Application.ActiveUIDocument.Document; FilteredElementCollector collector = new FilteredElementCollector(doc).WhereElementIsNotElementType(); foreach (ReferencePoint node in collector.OfClass(typeof(ReferencePoint))) { //do smth. with node... int id = node.Id.IntegerValue; //you can get its id XYZ pos = node.Position; //or its coordinates } }