AddMultigon
AddMultigon ( left ; top ; width ; height ; numOfVertices ; rotation ; innerRadiiRel ; innerCornerRadiusRel ; capParams ; spokeThickness ; fillColor ; fillColorVariant ; borderStroke ; borderColor ; borderColorVariant ; shadowEffect ; shadowColor )
| Argument | Type | Range | Default | Note |
|---|---|---|---|---|
| left | num | -inf..+inf | (required) | |
| top | num | -inf..+inf | (required) | |
| width | num | 0..inf | (required) | |
| height | num | 0..inf | (required) | |
| numOfVertices | int | 3..100 | (required) | |
| rotation | num | -360..+360 | 0 | Dimension:[deg] |
| innerRadiiRel | num[] | -1..1 | 0.5 | |
| innerCornerRadiusRel | num | 0..1 | 0 | |
| capParams | num[] | 0..3 | 0 | |
| spokeThickness | num | 0..1000 | 0 | |
| fillColor | rgba | 0..255 | black | |
| fillColorVariant | int | -1..128 | solid | |
| borderStroke | num[] | 0..1000 | 0 | Dimension:[pt] |
| borderColor | rgba | 0..255 | black | |
| borderColorVariant | int | -1..128 | solid | |
| shadowEffect | num[] | -1000..1000 | 0 | |
| shadowColor | rgba | 0..255 | #888a |
Examples
AddMultigon(50;50;250;250;5) /* Polygon. */
AddMultigon(50;50;250;250;5;0;0.4) /* Star. */
AddMultigon(50;50;250;250;5;0;0;0;0;10) /* Spokes. */
Description
The AddMultigon() function makes it possible to depict regular polygons in a variety of ways. The number of polygon points (vertices) can be controlled by using the argument numOfVertices, the rotation of the polygon by the argument rotation. A rotation angle greater than zero moves the polygon clockwise; by entering a negative rotation angle the polygon is moved counter-clockwise. The rotation angle is to be entered within the range of ±360 degrees. The argument innerRadiiRel can have up to 2 values, i.e. the radial indent of the inner vertices, and an optional circular offset. Both values have to be entered relative to the outer radius, the radial indent between 0 and 1 (default is 0.5) and the circular offset between -1 and +1 (default is 0). The corner roundings of the inner vertices can be controlled by the argument innerCornerRadiusRel with a value between 0 and 1. The shape of the outer vertex is controlled by using the argument capParams. Three cap types are supported. As an option, a second parameter can be added to fine tune the appearance of the caps.
0...No cap (default).
1...Cut-off. The size of the cut-off can be controlled by entering a second value between [0..1].
2...Round. The rounding can be controlled by entering a second value between [0..1].
3...Peak. The appearance of the peak can be controlled by entering a second value between [0..1].
Spokes can be defined by using the argument spokeThickness. An optional radial spoke offset can be controlled by the argument innerRadiiRel.
| | ADD_MULTIGON_01 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;15;100;100; |
| 3 | 3; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 1.0; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 0.25; /* Cap param[1]: Cap type: 2...Round */ |
| 8 | /* Cap param[2]: Vertex corner radius */ |
| 9 | 0; /* Spoke thickness (ignored). */ |
| 10 | darkYellow;solid; /* Fill. */ |
| 11 | 6.0;110 110 110;solid; /* Border. */ |
| 12 | 0 0 5) /* Shadow. */ |
| 13 |
| | ADD_MULTIGON_02 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 4; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 1.0; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 0; /* Cap params (ignored). */ |
| 8 | 0; /* Spoke thickness (ignored). */ |
| 9 | darkYellow;solid; /* Fill. */ |
| 10 | 6.0;110 110 110;solid; /* Border. */ |
| 11 | 0 0 5) /* Shadow. */ |
| 12 |
| | ADD_MULTIGON_03 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 7; /* Number of vertices. [3..100] */ |
| 4 | 25.7; /* Rotation [-360..360] */ |
| 5 | 1.0; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 0; /* Cap params (ignored). */ |
| 8 | 0; /* Spoke thickness (ignored). */ |
| 9 | |
| 10 | 0;;; /* Border. */ |
| 11 | 0 0 8;green) /* Shadow. */ |
| 12 |
| | ADD_MULTIGON_04 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;12;100;100; |
| 3 | 5; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 1.0; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 0.25; /* Cap param[1]: Cap type: 2...round. */ |
| 8 | /* Cap param[2]: Vertex corner radius. */ |
| 9 | 0; /* Spoke thickness (ignored). */ |
| 10 | none;; /* Fill. */ |
| 11 | 4;teal;; /* Border. */ |
| 12 | 0 0 6;green) /* Shadow. */ |
| 13 |
| | ADD_MULTIGON_05 |
| 1 | OpenDrawing(320;120) |
| 2 | AddMultigon(10;0;100;100; |
| 3 | 3; /* Number of vertices. [3..100] */ |
| 4 | 180; /* Rotation [-360..360] */ |
| 5 | 0.5; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 0; /* Cap params (ignored). */ |
| 8 | 0; /* Spoke thickness (ignored). */ |
| 9 | |
| 10 | AddMultigon(100;20;100;100; |
| 11 | 3; /* Number of vertices. [3..100] */ |
| 12 | 0; /* Rotation [-360..360] */ |
| 13 | 0.5; /* Inner radius rel. [0..1] */ |
| 14 | 0.5; /* Inner corner radius rel. [0..1] */ |
| 15 | 2 0.2; /* Cap param[1]: Cap type: 2...round. */ |
| 16 | /* Cap param[2]: Vertex corner radius. */ |
| 17 | 0; /* Spoke thickness (ignored). */ |
| 18 | |
| 19 | AddMultigon(210;10;100;100; |
| 20 | 4; /* Number of vertices. [3..100] */ |
| 21 | 45; /* Rotation [-360..360] */ |
| 22 | 0.5; /* Inner radius rel. [0..1] */ |
| 23 | 1.0; /* Inner corner radius rel. [0..1] */ |
| 24 | 0; /* Cap params (ignored). */ |
| 25 | 0; /* Spoke thickness (ignored). */ |
| 26 | |
| 27 |
| | ADD_MULTIGON_06 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 15; /* Number of vertices. [3..100] */ |
| 4 | 215; /* Rotation [-360..360] */ |
| 5 | 0.75; /* Inner radius rel. [0..1] */ |
| 6 | 1.0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 8 | /* Cap param[2]: Vertex corner radius. */ |
| 9 | 0; /* Spoke thickness (ignored). */ |
| 10 | |
| 11 | 0;;; /* Border. */ |
| 12 | 2 2 5) /* Shadow. */ |
| 13 |
| | ADD_MULTIGON_07 |
| 1 | OpenDrawing(240;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 17; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0.85; /* Inner radius rel. [0..1] */ |
| 6 | 1.0; /* Inner corner radius rel. [0..1] */ |
| 7 | 0; /* Cap params (ignored). */ |
| 8 | 0; /* Spoke thickness (ignored). */ |
| 9 | darkYellow;solid; /* Fill. */ |
| 10 | 2.5;#888;solid; /* Border. */ |
| 11 | 0 0 5) /* Shadow. */ |
| 12 | AddMultigon(130;10;100;100; |
| 13 | 17; /* Number of vertices. [3..100] */ |
| 14 | 0; /* Rotation [-360..360] */ |
| 15 | 0.75; /* Inner radius rel. [0..1] */ |
| 16 | 0.5; /* Inner corner radius rel. [0..1] */ |
| 17 | 1 0.8; /* Cap param[1]: Cap type: 1...cut-off. */ |
| 18 | /* Cap param[2]: Cut-off amount. */ |
| 19 | 0; /* Spoke thickness (ignored). */ |
| 20 | darkYellow;solid; /* Fill. */ |
| 21 | 2.5;#888;solid; /* Border. */ |
| 22 | 0 0 5) /* Shadow. */ |
| 23 |
| | ADD_MULTIGON_08 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 17; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0.25; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 0; /* Cap params (ignored). */ |
| 8 | 0; /* Spoke thickness (ignored). */ |
| 9 | darkYellow;solid; /* Fill. */ |
| 10 | |
| 11 | 0 0 5) /* Shadow. */ |
| 12 |
| | ADD_MULTIGON_09 |
| 1 | OpenDrawing(240;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 15; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0.7 1.0; /* [1]: Inner radius rel. [0..1] */ |
| 6 | /* [2]: Inner point offset. [-1..1] */ |
| 7 | 1; /* Inner corner radius rel. [0..1] */ |
| 8 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 9 | /* Cap param[2]: Vertex corner radius. */ |
| 10 | 0; /* Spoke thickness (ignored). */ |
| 11 | |
| 12 | 0;;; /* Border. */ |
| 13 | 2 2 5) /* Shadow. */ |
| 14 | AddMultigon(130;10;100;100; |
| 15 | 15; /* Number of vertices. [3..100] */ |
| 16 | 0; /* Rotation [-360..360] */ |
| 17 | 0.5 -1.0; /* [1]: Inner radius rel. [0..1] */ |
| 18 | /* [2]: Inner point offset. [-1..1] */ |
| 19 | 1.0; /* Inner corner radius rel. [0..1] */ |
| 20 | 0; /* Cap params (ignored). */ |
| 21 | 0; /* Spoke thickness (ignored). */ |
| 22 | darkYellow;shaded; /* Fill. */ |
| 23 | 0;;; /* Border. */ |
| 24 | 2 2 5) /* Shadow. */ |
| 25 |
| | ADD_MULTIGON_10 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 4; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0.75 0.5; /* [1]: Inner radius rel. [0..1] */ |
| 6 | /* [2]: Inner point offset. [-1..1] */ |
| 7 | 0; /* Inner corner radius rel. [0..1] */ |
| 8 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 9 | /* Cap param[2]: Vertex corner radius. */ |
| 10 | 0; /* Spoke thickness (ignored). */ |
| 11 | darkYellow;solid; /* Fill. */ |
| 12 | 3.0;110 110 110;solid; /* Border. */ |
| 13 | 0 0 5) /* Shadow. */ |
| 14 |
| | ADD_MULTIGON_11 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;18;100;100; |
| 3 | 3; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0; /* Inner radius rel. [0..1] */ |
| 6 | 0.25; /* Inner corner radius rel. [0..1] */ |
| 7 | 3 0.5; /* Cap param[1]: Cap type: 3...peak. */ |
| 8 | /* Cap param[2]: Peak size. */ |
| 9 | 12; /* Spoke thickness. */ |
| 10 | |
| 11 | 0;;; /* Border. */ |
| 12 | 2 2 5) /* Shadow. */ |
| 13 |
| | ADD_MULTIGON_12 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;12;100;100; |
| 3 | 5; /* Number of vertices. [3..100] */ |
| 4 | 215; /* Rotation [-360..360] */ |
| 5 | 0; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 8 | /* Cap param[2]: Vertex corner radius. */ |
| 9 | 12; /* Spoke thickness. */ |
| 10 | |
| 11 | 0;;; /* Border. */ |
| 12 | 2 2 5) /* Shadow. */ |
| 13 |
| | ADD_MULTIGON_13 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 4; /* Number of vertices. [3..100] */ |
| 4 | 45; /* Rotation [-360..360] */ |
| 5 | 0; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 8 | /* Cap param[2]: Vertex corner radius. */ |
| 9 | 15; /* Spoke thickness. */ |
| 10 | |
| 11 | 0;;; /* Border. */ |
| 12 | 0 0 6) /* Shadow. */ |
| 13 |
| | ADD_MULTIGON_14 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;15;100;100; |
| 3 | 30; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0.25; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 8 | /* Cap param[2]: Vertex corner radius. */ |
| 9 | 10; /* Spoke thickness. */ |
| 10 | darkYellow;solid; /* Fill. */ |
| 11 | 1.0;200 100 0;solid; /* Border. */ |
| 12 | 0 0 5) /* Shadow. */ |
| 13 |
| | ADD_MULTIGON_15 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;15;100;100; |
| 3 | 3; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 8 | /* Cap param[2]: Vertex corner radius. */ |
| 9 | 100; /* Spoke thickness. */ |
| 10 | darkYellow;solid; /* Fill. */ |
| 11 | 6.0;110 110 110;solid; /* Border. */ |
| 12 | 0 0 5) /* Shadow. */ |
| 13 |
| | ADD_MULTIGON_16 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;15;100;100; |
| 3 | 38; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0.92; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 8 | /* Cap param[2]: Vertex corner radius. */ |
| 9 | 100; /* Spoke thickness. */ |
| 10 | darkYellow;solid; /* Fill. */ |
| 11 | 1.0;110 110 110;solid; /* Border. */ |
| 12 | 0 0 5) /* Shadow. */ |
| 13 |
| | ADD_MULTIGON_17 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 11; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0.4; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 8 | /* Cap param[2]: Vertex corner radius. */ |
| 9 | 9; /* Spoke thickness. */ |
| 10 | |
| 11 |
| | ADD_MULTIGON_18 |
| 1 | OpenDrawing(120;120) |
| 2 | AddMultigon(10;10;100;100; |
| 3 | 13; /* Number of vertices. [3..100] */ |
| 4 | 0; /* Rotation [-360..360] */ |
| 5 | 0.45; /* Inner radius rel. [0..1] */ |
| 6 | 0; /* Inner corner radius rel. [0..1] */ |
| 7 | 2 1.0; /* Cap param[1]: Cap type: 2...round. */ |
| 8 | /* Cap param[2]: Vertex corner radius. */ |
| 9 | 8; /* Spoke thickness. */ |
| 10 | 2 0.5 0.5 0.0 255 0 0 255 0.5 255 255 0 255 1.0 0 0 255 255;; /* Fill. */ |
| 11 | 0;none;; /* Border. */ |
| 12 | 0 0 8;green) /* Shadow. */ |
| 13 |