*****************
ShapeGen allows the user to create rings (clyinders) and spheres larger than 10 meters by rezzing and aligning a set of box prims. It is provided free of charge by Cadroe Murphy. It may be resold only if all of the source code is left open and available.
ShapeGen listens on CHANNEL 88 for commands from its owner.
Example: "/88 radius 4.5"
CREATING A RING:
1) Set the number of sides you want the ring to have. ("sides" command)
2) Rez the blocks. ("rez" command)
3) Set properties of the ring such as radius and thickness.
4) Form the ring. ('ring"

5) Set properties of the blocks such as color and texture.
6) Repeat steps 3 through 5 until you're happy.
7) a. Freeze the blocks in place. ("freeze" command) **Important**
7) or b. Delete the blocks. ("delete" command)
CREATING A SPHERE:
1) Set the number of sides.
2) Set radius of sphere.
3) Set all properties of blocks (color, texture, etc).
4) Create the sphere ("sphere" command).
Note that you can not adjust a sphere after issuing the sphere command, you do not need to freeze the blocks, and you can not delete it through the delete command. Unlike with rings, generating a sphere is a single operation that can not be undone. Be careful. It can be useful to rez a ring and set its properties such as color first to visually verify them before creating a sphere. A sandbox sim is a good place to pratice with ShapeGen.
COMMANDS:
"sides X"
- Set the number of sides to X.
"rez"
- Rez the building blocks. Applies only to rings.
"ring"
- Form the ring using the current settings. Applies only to rings.
"radius X"
- Set the radius of the ring or sphere to X.
"width X"
- Set the width from inner to outer edge to X. Applies only to rings.
"thickness X"
- Set the thickness from top to bottom to X.
"tilt X"
- Set the tilt of the ring to X degrees. (Imagine a cone) Applies only to rings.
"set color X Y Z side"
- Set the color of side to color X Y Z (values from 0 to 255)
- See below for side names. If no side is given, all sides are set.
"set texture key side"
- Set the texture of side to key.
- See below for side names. If no side is given, all sides are set.
- To get a texture key, right-click it in inventory and select "Copy Asset UUID", then paste into chat window.
- Use "blank" as key to remove textures.
"set tscale X Y side"
- Set the texture scale of side to X and Y.
- See below for side names. If no side is given, all sides are set.
"set alpha X side"
- Set the alpha of side to X. 0 is transparent, 1 is opaque.
- See below for side names. If no side is given, all sides are set.
"freeze"
- Freeze the blocks in place. They will no longer obey commands. Applies only to rings.
"delete"
- Delete the set of blocks. Applies only to rings.
"report"
- Report settings to owner over private chat
"reset"
- Reset settings to default.
"delay x"
- Set the delay between block messages to x. See NOTES below.
SIDES:
For commands that take sides, they use the following names (not numbers).
"top" - the top side of an un-tilted ring; the outside of a sphere
"bottom" - the bottom side of an un-tilted ring; the inside of a sphere
"front" - the inner edge of an un-tilted ring
"back" - the outer edge of an un-tilted ring
"left" - one side of a block next to its neighbor
"right" - other side of a block next to its neighbor
NOTES:
Delay: When using a large number of blocks, some of them may be unresponsive until commands are re-issued. Increasing the delay between messages send to the blocks can sometimes help. The default is .2 seconds. The "delay" command can be used to adjust the delay time.
ShapeGen remembers color, texture and alpha settings after shapes are rezzed, and the settings will be applied to the next shape.
Unlike in previous versions, a ring wil not change shape until you use the "ring" command. This allows you to change several settings before reshaping the ring, but it means an extra step when changing a single setting.
You can't change the number of sides after you rez a set of blocks for a ring. If you change your mind after rezzing, delete them, then change the number of sides, and rez again.
Don't forget to freeze the blocks when you're done adjusting a ring.
The ring settings are displayed as text above the RingGen object, but you can also use "report" to get them through chat.