Given a selected polygon, add the next 5 polygons to the selection. For example, if polygon 22 is selected, then add polygons 23,24,25,26, and 27 to the selection.
You can do this without using any loops, by using a string expression for the polygon components.
Here’s some JScript that shows two ways to do it. Method 1 uses a string expression. Method 2 is a loop, which can either use the Polygons collection or a string expression.
var o = Selection(0).SubComponent.Parent3DObject
var p = Selection(0).SubComponent.ComponentCollection(0)
var LAST = o.ActivePrimitive.Geometry.Polygons.Count;
// Method 1
// SelectGeometryComponents("grid.poly[22-27]", null, null);
var sPoly = ".poly["+p.Index+"-"+Math.min( p.Index+5,LAST-1 )+"]"
//SelectGeometryComponents( o.FullName + sPoly );
//Selection.SetAsText( o.FullName + sPoly );
// Method 2
//for ( var i = p.Index+1 ; i < Math.min( p.Index+5,LAST ) ; i++ )
//{
// ToggleSelection( o.ActivePrimitive.Geometry.Polygons(i) );
// -or-
// ToggleSelection( o.FullName + ".poly["+i+"]" )
//}
Here’s some Python that does something similar but different:
si = Application o = si.Selection(0).SubComponent.Parent3DObject p = si.Selection(0).SubComponent.ComponentCollection(0) LAST = o.ActivePrimitive.Geometry.Polygons.Count s = ".poly[%s-%s]" % ( p.Index, min( p.Index+5,LAST-1 ) ) si.SelectGeometryComponents( s )