 # Can't find polygon command?

Hey,
This is probably (hopefully) a very simple question, but which seems to be harder to find an answer for than it should.
I would like to draw star polygons with python (GHpython), but I can’t seem to find the command for it. Whats the Rhinocommon command for creating n-sided polygons? Is the polygon tools a macro of other commands?
Many thanks
/Jakob

Alright, no time for waiting, so here’s a simple solution for a ngon in case any1 else needs it:

``````def polygon(n):
sector = math.pi * 2 / n
return [Rhino.Geometry.Point3d(
math.sin(sector * i),
math.cos(sector * i),
0
) for i in range(n)]``````

and heres the whole thing to make a star:

``````import Rhino
import math
from itertools import chain

n = int(n)`

sector = math.pi * 2 / n
return [Rhino.Geometry.Point3d(
math.sin((sector * i) + rotation) * radii,
math.cos((sector * i) + rotation) * radii,
0
) for i in range(n)]

def star(n, r1, r2):
polyline = []
for i in zip(polygon(n, r1), polygon(n, r2, rotation=(math.pi * 2 / n) / 2)):
polyline.extend(i)
return Rhino.Geometry.PolylineCurve(polyline + [polyline])

star = star(n, r1, r2)``````

Hi @Jakob1,

I’m surprised we haven’t exposed method to do this. I’ve added a to-do item to the pile.

https://mcneel.myjetbrains.com/youtrack/issue/RH-48105

– Dale

1 Like nice, thanks @dale !