# Family - Siding Profile Modification

### Edit Family

Select the siding profile and click on **Edit Family.**

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FXZMt40jl2Kbr9zXeonNo%2F0.jpeg?alt=media)

### Edit nested family

**Find** in the Project Browser and **Edit** the nested family - **Siding profile.**

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FDtGwUqDTG5xUSwB6EjNm%2F1.jpeg?alt=media)

### Modify the profile

To change the profile, start drawing lines. Use the split element and trim or delete command to achieve your desired profile.

{% hint style="info" %}
**Note:** *make sure the lines form a closed contour without intersecting lines. Hover over the contour and click **Tab**. It will highlight the profile.*
{% endhint %}

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FfKx85RI0ylCQWf36DE5L%2F2.jpeg?alt=media)

### Modify the parameters

Once lines are in place, set up all the necessary parameters. Under the **Family Types**, you will see all the parameters.

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2F3id4zthEd2UaT6phcgnt%2F3.jpeg?alt=media)

Let's start with the parameters **Last** and **First**. These parameters define how the siding family will act if it needs to be cut along its length.

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FjoNUeWt0wtkNpJvQfMZE%2F4.jpeg?alt=media)

When the parameter **Last** is true, the top of the profile has to become horizontal.

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FpZ1mKEP7ZL4Go34ZpEJ9%2F5.jpeg?alt=media)

When the parameter **First** is true, the bottom of the profile has to become horizontal.

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FMNFxtflWdz4i0Mg2LJBE%2F6.jpeg?alt=media)

Parameters **CH\_D** and **CH\_DS** are the ones that modify the lines that are at the top and bottom of the profile if **Last** or **First** is true.

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FWk0k71zpOu2RvP92zTGc%2F7.jpeg?alt=media)

Now that our geometry is modified, we must also alter those parameters, e.g., the Sample siding profile family has three lines. The customized siding profile family has five lines. That is why in the **CH\_D** and **CH\_DS** formulas, **d/3** has to become **d/5**.

Correct the parameters according to your geometry.

* Dimension **CH\_D** has to become "=if(or(Last True, Lengthen), d/5, d/3)"
* Dimension **CH\_DS** has to become "=if(First, d/5, d/3)

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2F1jLrWQHCLSIvzXRUZ8jH%2F8.jpeg?alt=media)

Now we can edit witness lines according to the new geometry. Ensure lines are equal and the dimension has the "d" value.

{% hint style="info" %}
**Note:** *increase the "d" value before editing witness lines.*
{% endhint %}

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FfwlKjwMfRgLkfOpZ12C9%2F9.jpeg?alt=media)

### Create Instance Parameters

We need additional Instance parameters as we now have additional lines at the top and bottom of the profile. Let's create a new instance parameter **CH\_D0** and assign it to one of the lines that should be vertical when the profile is not cut along its length. This parameter sets the line length equal to d/5 if Last is true and 0 if not (line becomes vertical).

Create an **Instance parameter** that works with the formula - if(or(Last True, Lengthen), d/5, 0) and assign it as shown below.

{% hint style="info" %}
**Note:** *In this situation, dimensions must be set to the endpoints of lines. Otherwise, the profile will be over-constrained. Use **Tab** to select endpoints.*
{% endhint %}

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FX2o8fibnH5t9B1dFhQBQ%2F10.jpeg?alt=media)

Assign the **CH\_D** instance parameter for the other three horizontal lines, as shown below.

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FNhgKOxYAhggE9IIaL3xg%2F11.jpeg?alt=media)

Add an **instance parameter** as shown below (**CH\_L4**) to regulate the height of additional lines created. Add formula to that parameter - if(or(Last True, Lengthen), 0, 15) to change the height to zero if the parameter **Last** is True.

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2F2Ugeg4FsDVFbPgK8KI01%2F12.jpeg?alt=media)

Apply a similar procedure to the bottom of the profile. Create additional **Instance parameters** that would make the bottom of the profile horizontal if First is true. E.g., **CH\_L5** will align the lines to the reference plane (length is 0) if First is true and will have a length of 15 (you can change this length according to your needs) if not. The parameter **CH\_DS0** will have a horizontal length of d/5 (as we mentioned before, now we do have five lines, so we divide the d value of those five lines) if First is true, and it would become vertical (length equals 0) if not.

Create **Instance parameters** with formulas:

* Instance parameter with formula =if(First, 0, 15)
* Instance parameter with formula =if(First, d/5, 0)

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FNicT1D0nzrMmayQT5Kri%2F13.jpeg?alt=media)

Add the **"d"** constraint at the bottom of the profile.

{% hint style="info" %}
**Note:** *if the profile consists of more than two main parallel lines, it is recommended to create ref. planes, assign "d" constraint between them and attach the lines to those ref. planes. Otherwise, assigning the "d" constrain directly to those lines is enough.*
{% endhint %}

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FD8y91sYJprxIJBHEs8kk%2F14.jpeg?alt=media)

According to the new geometry, change **CH\_L3** and **Min Spacing** formulas instead of "d/2" to "d/3".

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FOD8h6rIKcnRjCaTUogIg%2F15.jpeg?alt=media)

### Constrain the cut-out

Constrain the cut-out. Otherwise, the profile won't make a closed contour when **Last** or **First** is true. After this step, make sure to test the family to see if it works properly when:

**Last** is true

**Spacing** is lower than **Standard Spacing**

**First** is true

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FRTNUKr9fQOloKocgxEa9%2F16.jpeg?alt=media)

With all these parameters set, the profile should act as shown below.

{% hint style="info" %}
**Note:** *Ensure that the cut-out won't intersect with lines at the bottom of a profile and doesn't create a double contour loop.*
{% endhint %}

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FftVhyAQt3VZ7F3CFzi4q%2F17.jpeg?alt=media)

Once all these steps are done, and the family works correctly, load it to the 3D Siding family and then to the Revit project.

![](https://239424168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqtUsszuAWXIZhQhrvjnb%2Fuploads%2FivNqYqe6df8DyIU5ndwK%2F18.png?alt=media)
