BuildingCoder.CmdCropToRoom.SectionBox C# (CSharp) 메소드

SectionBox() 개인적인 메소드

Set 3D view section box to selected element extents.
private SectionBox ( UIDocument uidoc ) : void
uidoc UIDocument
리턴 void
        private void SectionBox(UIDocument uidoc )
        {
            Document doc = uidoc.Document;
              View view = doc.ActiveView;

              double Min_X = double.MaxValue;
              double Min_Y = double.MaxValue;
              double Min_Z = double.MaxValue;

              double Max_X = Min_X;
              double Max_Y = Min_Y;
              double Max_Z = Min_Z;

              ICollection<ElementId> ids
            = uidoc.Selection.GetElementIds();

              foreach( ElementId id in ids )
              {
            Element elm = doc.GetElement( id );
            BoundingBoxXYZ box = elm.get_BoundingBox( view );
            if( box.Max.X > Max_X )
            {
              Max_X = box.Max.X;
            }
            if( box.Max.Y > Max_Y )
            {
              Max_Y = box.Max.Y;
            }
            if( box.Max.Z > Max_Z )
            {
              Max_Z = box.Max.Z;
            }

            if( box.Min.X < Min_X )
            {
              Min_X = box.Min.X;
            }
            if( box.Min.Y < Min_Y )
            {
              Min_Y = box.Min.Y;
            }
            if( box.Min.Z < Min_Z )
            {
              Min_Z = box.Min.Z;
            }
              }
              XYZ Max = new XYZ( Max_X, Max_Y, Max_Z );
              XYZ Min = new XYZ( Min_X, Min_Y, Min_Z );

              BoundingBoxXYZ myBox = new BoundingBoxXYZ();

              myBox.Min = Min;
              myBox.Max = Max;

              ( view as View3D ).SetSectionBox( myBox );
        }