From Second Life Wiki
Jump to navigation Jump to search


Constant: integer PRIM_TYPE_SCULPT = 7;

The integer constant PRIM_TYPE_SCULPT has the value 7

PRIM_TYPE_SCULPT is a parameter of PRIM_TYPE used to make a prim into a sculpty of specific shape and type.
Sculpted Prims: FAQ


[ PRIM_TYPE, PRIM_TYPE_SCULPT, string map, integer type ]
• string map a texture in the inventory of the prim this script is in or a UUID of a texture
• integer type PRIM_SCULPT_TYPE_* flag with optional additional PRIM_SCULPT_FLAG_* flags OR'ed on

For use with llSetPrimitiveParams and llSetLinkPrimitiveParams

type Flags Style Description
PRIM_SCULPT_TYPE_SPHERE 1 Sphere Converge top & bottom, stitch left side to right
PRIM_SCULPT_TYPE_TORUS 2 Torus Stitch top to bottom, stitch left side to right
PRIM_SCULPT_TYPE_PLANE 3 Plane No stitching or converging
PRIM_SCULPT_TYPE_CYLINDER 4 Cylinder Stitch left side to right.
PRIM_SCULPT_TYPE_MESH 5 Mesh model See: Mesh
PRIM_SCULPT_FLAG_ANIMESH 0x20 Animesh Read-only flag to query Animated mesh status.
PRIM_SCULPT_FLAG_INVERT 0x40 Invert Render inside out (inverts the normals).
PRIM_SCULPT_FLAG_MIRROR 0x80 Mirror Render an X axis mirror of the sculpty.

PRIM_SCULPT_TYPE_MASK can be used to filter out the PRIM_SCULPT_FLAG_* flags from the type to determine the PRIM_SCULPT_TYPE_* flag. The main application of this would be when using llGetPrimitiveParams.


  • The value of map is NULL_KEY when the owner does not have full permissions to the object and the map asset is not in the prim's inventory.
  • If map is missing from the prim's inventory and it is not a UUID or it is not a texture then an error is shouted on DEBUG_CHANNEL.
  • If map is a UUID then there are no new asset permissions consequences for the object.
    • The resulting object develops no new usage restrictions that might have occurred if the asset had been placed in the prims inventory.
  • While it is possible to use this to animate an object, it is not recommended. For details see: Why UUID Flipping is Bad
All Issues ~ Search JIRA for related Bugs

Related Articles




•  llSetPrimitiveParams
•  llSetLinkPrimitiveParams
•  llGetPrimitiveParams


•  changed


                            "d962089b-2197-993c-9ec9-4993eb0a95f2",  // sculpty texture
                            PRIM_SCULPT_TYPE_SPHERE                  // type
                            | PRIM_SCULPT_FLAG_MIRROR     // use pipe | to add each flag
//Rotates between the different sculpt types.
    touch_start(integer a)
        list b = llGetPrimitiveParams([PRIM_TYPE]);
        integer type = llList2Integer(b,2) % 4;
        llSetObjectDesc(llList2String([ "Sphere",
                                        "Cylinder"], type));
        llSetPrimitiveParams(PRIM_TYPE + llList2List(b, 0, 1) + (type + 1));
//A simple script to setup a prim as a sculpty.
            PRIM_TYPE, PRIM_TYPE_SCULPT, "your Sculpt map name in the object", PRIM_SCULPT_TYPE_SPHERE
          , PRIM_TEXTURE, ALL_SIDES, "your texture name in the object", <1.0, 1.0, 0.0>, <0.0, 0.0, 0.0>, 0.0 //comment out if not needed.
//          , PRIM_SIZE, <0.63,0.199,0.52> // If you need to change the scale (size) of the object, uncomment this line.
    } // The gray color you see on your sculpt object is the SL no found texture that is gray.

Deep Notes


Search JIRA for related Issues


integer PRIM_TYPE_SCULPT = 7;