Beispiel #1
0
        internal int GetRoomIdContainingCentroid()
        {
            XYZ    centroid         = GetAptCentroid();
            double distToClosestPnt = 100;
            Room   outRoom          = null;

            foreach (int id in m_iRoomId)
            {
                Room rm = m_doc.GetElement(new ElementId(id)) as Room;
                Autodesk.Revit.DB.LocationPoint currRoomCnt =
                    rm.Location as Autodesk.Revit.DB.LocationPoint;

                if (centroid.DistanceTo(currRoomCnt.Point) < distToClosestPnt)
                {
                    distToClosestPnt = centroid.DistanceTo(currRoomCnt.Point);
                    outRoom          = rm;
                }
            }

            return(outRoom.Id.IntegerValue);
        }