Creating polygons with a for loop?

I would like to create multiple polygons with a for loop depending on some info from the user, right now i just create one at a time because i cant iterate an id name?

Now i go like:

skRegularPolygon(sketch, "polygon2", {
                "center" : pointArray[2],
                "firstVertex" : vector(pointArray[2][0]+(4)*millimeter, pointArray[2][1]+(4)*millimeter),
                "sides" : 4
            });
            skRegularPolygon(sketch, "polygon3", {
                "center" : pointArray[3],
                "firstVertex" : vector(pointArray[3][0]+(4)*millimeter, pointArray[3][1]+(4)*millimeter),
                "sides" : 4
            });
            skRegularPolygon(sketch, "polygon4", {
                "center" : pointArray[4],
                "firstVertex" : vector(pointArray[4][0]+(4)*millimeter, pointArray[4][1]+(4)*millimeter),
                "sides" : 4
            });


BUT.. i would like to do something like

        for (var i = 0; i < count; i += 1)
        {
             skRegularPolygon(sketch, "polygon" + i, {
                "center" : pointArray[i],
                "firstVertex" : vector(pointArray[i][0]+(4)*millimeter, pointArray[i][1]+(4)*millimeter),
                "sides" : 4
            });
        }

It is the ID that gives me an error because it needs to be unique..

Best Answer

Answers

  • lemon1324
    lemon1324 Member, Developers Posts: 230 EDU
    You can also do something like id + i + "polygon", which will also work.  I tend to use this structure when there's multiple different features within the loop, so all features at loop iteration i have Id prefix of id + i.
    Arul Suresh
    PhD, Mechanical Engineering, Stanford University
  • lana
    lana Onshape Employees Posts: 782 image
    @lemon1324
    That is a sketch entity id - it has to be a string, not Id. Sorry we made it confusing.