protected override void SolveInstance(IGH_DataAccess DA) { int unit = 0; Box box = new Box(); bool run = false; DA.GetData(0, ref unit); DA.GetData(1, ref box); DA.GetData(2, ref run); Point3d[] verices = box.GetCorners(); Point3d min = verices[0]; Point3d max = verices[0]; foreach (Point3d item in verices) { if (item.X < min.X || item.Y < min.Y || item.Z < min.Z) { min = item; } if (item.X > max.X || item.Y > max.Y || item.Z > max.Z) { max = item; } } FD_Range range = new FD_Range(unit, max.X - min.X, max.Y - min.Y, max.Z - min.Z, min.X, min.Y, min.Z); string values = "Unit: " + range.Unit.ToString() + Environment.NewLine; values += "Width: " + range.Width.ToString() + Environment.NewLine; values += "Deepth: " + range.Deepth.ToString() + Environment.NewLine; values += "Height: " + range.Height.ToString() + Environment.NewLine; values += "Offset_X: " + range.Offset_X.ToString() + Environment.NewLine; values += "Offset_Y: " + range.Offset_Y.ToString() + Environment.NewLine; values += "Offset_Z: " + range.Offset_Z.ToString(); DA.SetData(0, range); DA.SetData(1, values); if (run) { range.Update(); } }