1Plugin(CutGrid).View = 0; 2Plugin(CutPlane).View = 0; 3 4xslices = GetValue("Number of slices along X-axis?", 10); 5yslices = GetValue("Number of slices along Y-axis?", 0); 6zslices = GetValue("Number of slices along Z-axis?", 0); 7regular = GetValue("Use regular grid?", 0); 8If(regular) 9 npts = GetValue("Number of points in regular grid?", 20); 10 Plugin(CutGrid).NumPointsU = npts; 11 Plugin(CutGrid).NumPointsV = npts; 12EndIf 13 14xmin = View[0].MinX; xmax = View[0].MaxX; 15ymin = View[0].MinY; ymax = View[0].MaxY; 16zmin = View[0].MinZ; zmax = View[0].MaxZ; 17 18If(xslices && xmin != xmax) 19 For x In {xmin : xmax : (xmax-xmin) / (xslices > 1 ? (xslices-1) : 0.1)} 20 If(!regular) 21 Plugin(CutPlane).A = -1 ; Plugin(CutPlane).B = 0 ; Plugin(CutPlane).C = 0 ; 22 Plugin(CutPlane).D = x ; Plugin(CutPlane).Run ; 23 EndIf 24 If(regular) 25 Plugin(CutGrid).X0 = x ; Plugin(CutGrid).Y0 = ymin ; Plugin(CutGrid).Z0 = zmin ; 26 Plugin(CutGrid).X1 = x ; Plugin(CutGrid).Y1 = ymax ; Plugin(CutGrid).Z1 = zmin ; 27 Plugin(CutGrid).X2 = x ; Plugin(CutGrid).Y2 = ymin ; Plugin(CutGrid).Z2 = zmax ; 28 Plugin(CutGrid).Run ; 29 EndIf 30 EndFor 31EndIf 32 33If(yslices && ymin != ymax) 34 For y In {ymin : ymax : (ymax-ymin) / (yslices > 1 ? (yslices-1) : 0.1)} 35 If(!regular) 36 Plugin(CutPlane).A = 0 ; Plugin(CutPlane).B = -1 ; Plugin(CutPlane).C = 0 ; 37 Plugin(CutPlane).D = y ; Plugin(CutPlane).Run ; 38 EndIf 39 If(regular) 40 Plugin(CutGrid).X0 = xmin ; Plugin(CutGrid).Y0 = y ; Plugin(CutGrid).Z0 = zmin ; 41 Plugin(CutGrid).X1 = xmax ; Plugin(CutGrid).Y1 = y ; Plugin(CutGrid).Z1 = zmin ; 42 Plugin(CutGrid).X2 = xmin ; Plugin(CutGrid).Y2 = y ; Plugin(CutGrid).Z2 = zmax ; 43 Plugin(CutGrid).Run ; 44 EndIf 45 EndFor 46EndIf 47 48If(zslices && zmin != zmax) 49 For z In {zmin : zmax : (zmax-zmin) / (zslices > 1 ? (zslices-1) : 0.1)} 50 If(!regular) 51 Plugin(CutPlane).A = 0 ; Plugin(CutPlane).B = 0 ; Plugin(CutPlane).C = -1 ; 52 Plugin(CutPlane).D = z ; Plugin(CutPlane).Run ; 53 EndIf 54 If(regular) 55 Plugin(CutGrid).X0 = xmin ; Plugin(CutGrid).Y0 = ymin ; Plugin(CutGrid).Z0 = z ; 56 Plugin(CutGrid).X1 = xmax ; Plugin(CutGrid).Y1 = ymin ; Plugin(CutGrid).Z1 = z ; 57 Plugin(CutGrid).X2 = xmin ; Plugin(CutGrid).Y2 = ymax ; Plugin(CutGrid).Z2 = z ; 58 Plugin(CutGrid).Run ; 59 EndIf 60 EndFor 61EndIf 62 63Delete Empty Views; 64 65If(GetValue("Remove original view?", 1)) 66 Delete View[0]; 67EndIf 68 69If(GetValue("Combine all slices in a single view?", 1)) 70 Combine Views; 71EndIf 72