## ClearEnvelopeWeightLocks

### Introduced

v5.0

### Description

Clears all locks on the envelope weights.

### Scripting Syntax

    oReturn = ClearEnvelopeWeightLocks( PropObj );

### Return Value

Returns an XSICollection that contains the new operator that applies the unlocking.

### Parameters

Parameter | Type | Description
--- | --- | ---
PropObj | String | Envelope weights property for which we want to lock the weights. Default Value: Current selection

### Examples

#### VBScript Example

    '

    ' This simple example illustrates how locking envelope point weights

    ' can be used to protect your weighting work on parts of the object

    '

    ' We start with a simple cylinder enveloped to a 6 bone chain

    NewScene

    CreatePrim "Cylinder", "MeshSurface"

    SetValue "cylinder.cylinder.height", 10

    SetValue "cylinder.polymsh.geom.subdivv", 20

    SetValue "cylinder.polymsh.geom.subdivu", 16

    Create2DSkeleton 1.97818728045807E-02, 5.04656031338284, 0, 0.81105678498785, 3.66123003127775, 0, 0, 0, 0, 4

    AppendBone "eff", 0.890184276206176, 1.91967196234563, 0

    AppendBone "eff", 0.969311767424504, 0.257275623819517, 0

    AppendBone "eff", 1.00887551303367, -1.76134850153362, 0

    AppendBone "eff", 0.969311767424504, -3.18625964884171, 0

    AppendBone "eff", 1.97818728045807E-02, -4.96739858297683, 0

    SelectObj "cylinder", , True

    ApplyFlexEnv "cylinder;bone,bone1,bone2,bone3,bone4,bone5,eff", False, 0

    ' We reassign some points to the first bone

    LocalAssignFlexEnv "cylinder.pnt[1,21-24,44-47,67-70,90-93,113-116,136-139,159-162,182-185,205-208,228-231,251-254,274-277,297-300,320-323,343-346,366-LAST]", "cylinder;bone"

    ' We reassign some points to the second bone

    LocalAssignFlexEnv "cylinder.pnt[18,19,41,42,64,65,87,88,110,111,133,134,156,157,179,180,202,203,225,226,248,249,271,272,294,295,317,318,340,341,363,364]", "cylinder;bone1"

    ' We reassign some intermediate point to both bones

    LocalAssignFlexEnv "cylinder.pnt[20,43,66,89,112,135,158,181,204,227,250,273,296,319,342,365]", "cylinder;bone,bone1"

    ' Now let's assume that the weighting for those bones is what

    ' we want. To protect it from unexpectedly modifying it later on

    ' we lock the weights.

    LockEnvelopePointWeights , "cylinder.pnt[1,18-24,41-47,64-70,87-93,110-116,133-139,156-162,179-185,202-208,225-231,248-254,271-277,294-300,317-323,340-346,363-LAST]", True

    ' We continue the assignment of some points to the third bone

    LocalAssignFlexEnv "cylinder.pnt[15,16,38,39,61,62,84,85,107,108,130,131,153,154,176,177,199,200,222,223,245,246,268,269,291,292,314,315,337,338,360,361]", "cylinder;bone2"

    ' Similarily we reassign some points to the second and third bone

    LocalAssignFlexEnv "cylinder.pnt[17,40,63,86,109,132,155,178,201,224,247,270,293,316,339,362]", "cylinder;bone1,bone2"

    ' We smooth the weights for some points selected

    SISmoothEnvWght , "cylinder.pnt[16-18,39-41,62-64,85-87,108-110,131-133,154-156,177-179,200-202,223-225,246-248,269-271,292-294,315-317,338-340,361-363]"

    SetValue "cylinder.polymsh.cls.EnvelopWeightCls.Envelope_Weights.smoothenvelopeweight.neighborhooddepth", 3

    SetValue "cylinder.polymsh.cls.EnvelopWeightCls.Envelope_Weights.smoothenvelopeweight.profilescaling", 14.681

    ' Inadvertently, we selected some points that which weights we didn't want

    ' to modify. However, since we had locked their weights remain

    ' intact.

    ' Now I can modify some locked weights by unlocking them first.

    LockEnvelopePointWeights , "cylinder.pnt[1,22-24,45-47,68-70,91-93,114-116,137-139,160-162,183-185,206-208,229-231,252-254,275-277,298-300,321-323,344-346,367-LAST]", False

    SIModifyFlexEnvWght "cylinder.polymsh.cls.EnvelopWeightCls.Envelope_Weights", "bone1", "cylinder.pnt[1,22-24,45-47,68-70,91-93,114-116,137-139,160-162,183-185,206-208,229-231,252-254,275-277,298-300,321-323,344-346,367-LAST]", 1, 10

    ' I can also unlock all weights in order to weight freely.

    ClearEnvelopeWeightLocks "cylinder"

### See Also

SIApplyFlexEnv LockEnvelopeDeformerWeights LockEnvelopeWeights LockEnvelopePointWeights SIModifyFlexEnvWght Envelope