# Random Cables

**Random Cables** creates catenary or straight cables from selected faces in multiple selected mesh objects. The resulting curve objects representing the cables will be connected depending on how many face islands or groups are selected from these objects.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2F28yUTpg6Q9GdVGlKhNW7%2Fblender_YCV5awED6i.png?alt=media&#x26;token=d29b34b0-aa33-440d-a829-95770c24a65a" alt=""><figcaption><p>Figure 1</p></figcaption></figure>

Here are the redo properties and what they do:

### Cable Type

This has 2 options: **Catenary** and **Curve**. **Catenary** generates cables with a slack effect using the literal z axis as the ground for the slack direction. **Curve** will generate straight cables whose attitude and direction can be shaped by multiple properties including the normals saved using the [Normal Picker ](https://www.blenderguppy.com/add-ons/random-flow/functions/normal-picker)operator.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FWRV00HQOvSJHZR40EZVl%2Fblender_sCMeS0ue8w.gif?alt=media&#x26;token=f74112bc-6942-4cdf-8f3a-f8a5607bd849" alt=""><figcaption><p>Figure 2</p></figcaption></figure>

### Spline Type

This has 2 options: **Bezier** and **Poly**. This only appears when using **Cable Type: Catenary** and allows you to switch between using **Bezier** or **Poly** type cables. **Bezier** curve has additional controls in its segment points for smoother transitions while **Poly** is more simplistic with just one control point per segment.

### Slack

This appears when you use **Cable Type: Catenary**. This lets you set the minimum and maximum slack effect for the cables.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FVlcOGqCLgdwUDOJAx0RO%2Fblender_sTIQeP4Kbq.gif?alt=media&#x26;token=25fd39f3-ab96-4b20-b06c-1e5e0f7eae78" alt=""><figcaption><p>Figure 3</p></figcaption></figure>

### Manual Offset

This only appears when using **Cable Type: Curve**. This lets you offset the curve in the literal or global x, y and z axis.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2F10TBwPfLsp0gmiClaab6%2Fblender_kZtjSFjOSQ.gif?alt=media&#x26;token=3bbb7848-a087-48f0-ae00-2630a606387f" alt=""><figcaption><p>Figure 4</p></figcaption></figure>

### Normal Offset

This has 2 properties: **Min** and **Max**. This allows you to set the minimum and maximum offset of the cables into the direction using the saved normal information using the [Normal Picker](https://www.blenderguppy.com/add-ons/random-flow/functions/normal-picker) operator.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FIdz4KADjHfgCTluElDoH%2Fblender_VEu9VTtmtv.gif?alt=media&#x26;token=2b857074-7541-4d89-92d8-710d011879dd" alt=""><figcaption><p>Figure 5</p></figcaption></figure>

### Noise

This has 2 properties: **Noise** and **Wiggle**. **Noise** will offset the cables in random directions.&#x20;

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FcP44xehnjwVRjyDMrCB3%2Fblender_0ahl0FLqxL.gif?alt=media&#x26;token=276a977a-4eef-4830-abb2-940aae31ffad" alt=""><figcaption><p>Figure 6</p></figcaption></figure>

**Wiggle** will offset each segment of the cable/curve in random directions - the resolution can be controlled using the **Steps** property.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2F3hQ4qgwl2PoXorKy9NMX%2Fblender_dsFa3GiOOX.gif?alt=media&#x26;token=d617f4f4-b00f-43ea-8bcb-4741636638f6" alt=""><figcaption><p>Figure 7</p></figcaption></figure>

### Curve Seed

This randomizes the slack effect for **Catenary**, noise and wiggle for **Curve** using a seed number.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FF3qFa3pBDDRhEKKGM3yt%2Fblender_IvTHfVwRFk.gif?alt=media&#x26;token=b0660e8e-83c0-40a9-8241-89d6e95a4a4e" alt=""><figcaption><p>Figure 8</p></figcaption></figure>

### Cable Amount

The number of cables that's going to be generated. Depending on the settings, this number only represents the total amount of cables that can be generated but can sometimes be less.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FskLrA1c0NjGrVwEu7qBG%2Fblender_ek8lSfR66J.gif?alt=media&#x26;token=d5318245-688c-4492-81ce-f3ff4b7ac3ce" alt=""><figcaption><p>Figure 9</p></figcaption></figure>

### Origin Seed

This randomizes the location of the start and end points of the cables.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FVF93vIGTI9nmjkk3cV4S%2Fblender_Ho3riplBDR.gif?alt=media&#x26;token=d81267b7-0082-478b-9b42-8cbfa9d7fd80" alt=""><figcaption><p>Figure 10</p></figcaption></figure>

### Island Limit

This has 3 options: **None**, **Limited** and **Full**. **None** has no effect.&#x20;

**Limited** will remove cables that are have start/end points on the same face island/group.&#x20;

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FzQg5rRpY5L9uLQtKisRK%2Fblender_QhhgmZzMrV.gif?alt=media&#x26;token=939d81cb-d130-4964-9540-83fbc36411cc" alt=""><figcaption><p>Figure 11</p></figcaption></figure>

**Full** will connect cables only for 2 different face islands using the **Sort Method** property unless randomized.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FJiyQEGeVUMQ1Nxq5JwHT%2Fblender_rh5VFmAJXM.gif?alt=media&#x26;token=96bb8ef2-cf73-4828-b788-9ff542283a05" alt=""><figcaption><p>Figure 12</p></figcaption></figure>

{% hint style="info" %}
*Using **Limited** and **Full** on a single face island will not generate cables since it needs separate face islands for their start and end points.*
{% endhint %}

### Island Seed

This randomizes which face islands will have the start/end points of the cables. The randomization will only happen when using Island Limit: Limited or Full and will randomize these end points between two face islands.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2Fi2VC6csHY5Xu8oaLnHpi%2Fblender_ITudRyarfN.gif?alt=media&#x26;token=efe6dbd8-31eb-45a8-b411-1072c9ae5a90" alt=""><figcaption><p>Figure 13</p></figcaption></figure>

### Sort Method

This has 4 options: **None**, **X**, **Y** and **Z**. This lets you determine the direction of how the face islands are sorted when connecting the cables allowing you to create the power line effect.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2Fk0Fi7Ad39DW5cF3uqRaR%2Fblender_e6sEfxSCI7.gif?alt=media&#x26;token=a244216c-18bc-4380-a867-922bc310986e" alt=""><figcaption><p>Figure 14</p></figcaption></figure>

{% hint style="info" %}
*In the image above, the cables are sorted in the z axis because in this particular instance the face islands are mostly going in the that direction.*
{% endhint %}

### Margin

This creates a margin from your face selection allowing you to bunch the cables much closer together or avoid generating cables from the edges of your face selection which ends up on a sharp angled edge.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FkFoNnG3Ni7lHrsBkuprN%2Fblender_UAPBvY06Zk.gif?alt=media&#x26;token=80ccaeee-7085-44e8-89cb-b72030bcd6af" alt=""><figcaption><p>Figure 15</p></figcaption></figure>

### Offset

This allows you to offset the cables towards or away from the face selection.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2F9qjf3vzdVD0NvnuA0tFt%2Fblender_fnAjYBcA7V.gif?alt=media&#x26;token=54438f8c-d80e-4492-94c9-80e028212795" alt=""><figcaption><p>Figure 16</p></figcaption></figure>

### Min Distance

This lets you remove cables that doesn't meet the minimum distance or length. This is useful for clearing out very short cables when using **Island Limit: None**.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FeYiC2XhhnM6JdGqtyCDL%2Fblender_CAnOpxkaXb.gif?alt=media&#x26;token=5a60e1fb-232a-4436-a7d4-c9eacac4f558" alt=""><figcaption><p>Figure 17</p></figcaption></figure>

### Bevel

This has 2 properties: **Radius** and **Resolution**. **Radius** determines the thickness of the cable.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2Fo1FaRTF8CDH5n2YrypSd%2Fblender_bdra048Pop.gif?alt=media&#x26;token=c1982086-f456-4845-a95f-2ccae7bcce40" alt=""><figcaption><p>Figure 18</p></figcaption></figure>

**Resolution** controls the resolution of the cables making them rounder with higher numbers.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FL7mW4p6LcmhXgiOWFFIc%2Fblender_slUOqJpT2w.gif?alt=media&#x26;token=82560cc8-5258-47c7-9b01-ba80e67951d7" alt=""><figcaption><p>Figure 19</p></figcaption></figure>

### Resolution U

This allows you to control the amount of edge resolution running along the curve body.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2F3aAy5ia7y2QD8IVPPaNH%2Fblender_3iR2DNPKDf.gif?alt=media&#x26;token=564c7e51-f7b7-4f32-a28c-b81b722b46d5" alt=""><figcaption><p>Figure 20</p></figcaption></figure>

### Steps

This lets you control the segment point number or resolution of the curve making them smoother.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FeVDkCxFisU3VsO9zRsGL%2Fblender_gp38W7bLaK.gif?alt=media&#x26;token=43dc0665-4bda-47b6-8210-e88124d5c902" alt=""><figcaption><p>Figure 21</p></figcaption></figure>

### Extrude

This allows you to use the extrude effect to widen the curve body.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FRHhcYfA6euP0LkB9556S%2Fblender_xJiXoC3vP0.gif?alt=media&#x26;token=9167a2f7-9642-42d1-b38d-bc29186c513a" alt=""><figcaption><p>Figure 22</p></figcaption></figure>

### Twist Mode

This has 3 options: **Z-Up**, **Minimum** and **Tangent**. The default is set to **Minimum** but if you spot any weird twisting on the cables, you can try the other options to fix it.

### Twist Smooth

Twist smoothing amount for tangents used by the **Twist Mode** property.

{% hint style="info" %}
*The twist properties are here only to correct if the cables/curves displays any weird twists and knots. Rarely does it happen though but they are exposed just in case.*
{% endhint %}

### Tilt

This lets you rotate the cable on its segments or handles.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2F3S3nBOOiDeco9hFxgOCC%2Fblender_vpPJBs4UeA.gif?alt=media&#x26;token=ef3b821e-1d7c-4bf2-83d1-1dcd696b611a" alt=""><figcaption><p>Figure 23</p></figcaption></figure>

{% hint style="info" %}
*This can be used in combination with the **Extrude** property.*
{% endhint %}

### Radius

This lets you set the radius/thickness of each segment of the curve.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FFJUTc3oCP3J7nXmSlUqG%2Fblender_cVC6U8hjm5.gif?alt=media&#x26;token=01624c76-d8e6-4d4f-bf2c-588625cbc2c7" alt=""><figcaption><p>Figure 24</p></figcaption></figure>

### Radius Seed

This randomizes the radius of each curve segment using a seed number.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2Fa2bPMRy31vaEFNWvkEBi%2Fblender_27drzul9NU.gif?alt=media&#x26;token=37e43664-b5bc-470c-bccc-582831d012a2" alt=""><figcaption><p>Figure 25</p></figcaption></figure>

### Material Index

The **Material Index** property lets the resulting cloth sim mesh inherit a material from the active or work mesh.

The default value of -1 means it will use the active material in the work mesh if that material exists.

Using 0 and above means you will be using the 1st material in the material stack when using 0, the 2nd material when using 1 and so forth.

{% hint style="info" %}
*Using a material stack number when that material does not exist will assign no material to the resulting panel cut mesh.*
{% endhint %}

### Use Mirror

Symmetrize the cables or use an applied version of the source mesh to generate asymmetrical results.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FU3OPEOmkicjL2P9WHqZj%2Fblender_bOwd3fMosH.gif?alt=media&#x26;token=271bda87-8e26-4fe3-ab16-0940952fab84" alt=""><figcaption><p>Figure 26</p></figcaption></figure>

### Join Curves

Creates a single object containing all the cable/curve instances or separate them as individual objects.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FqvObfC78yzI09KHXZXJR%2Fblender_k2S1C15PwF.gif?alt=media&#x26;token=299713ca-1cc2-48eb-8ed4-0b866da8aa37" alt=""><figcaption><p>Figure 27</p></figcaption></figure>

### No Overlap

This removes generated cables that are overlapping or clipping visible objects in the scene. Be careful with processing overheads when dealing with a lot of cables and multiple objects for overlap detection.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FXca6EWiivV3X8YQRIPkQ%2Fblender_sUTXKBrsb9.gif?alt=media&#x26;token=e186533d-f0ff-4dbc-9d8f-0f815e3708fe" alt=""><figcaption><p>Figure 28</p></figcaption></figure>

{% hint style="info" %}
*Hide objects you don't need for the overlap detection to speed up the process. This works differently from executing object collision in **Panel Cloth** which operates via selection.*
{% endhint %}

### Overlap Self

This allows the cable to overlap or clip other cables generated in the current operation. Turning this off will remove cables that are overlapping or clipping other cables.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2F6Gkt4cAMC2g3UkGtJLHe%2Fblender_co8HDZYdmf.gif?alt=media&#x26;token=c187b299-c1ef-4160-953e-0a72b7255f28" alt=""><figcaption><p>Figure 29</p></figcaption></figure>

{% hint style="warning" %}
The will create even more processing overhead so be careful with the amount of cables before using it.
{% endhint %}
