> For the complete documentation index, see [llms.txt](https://wiki.mksdtech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.mksdtech.com/beam/beam-for-rhinoceros/schedules.md).

# Schedules

Review and edit family data in tables

A schedule is a table of the families and parameters in your document. Use it to review data, find gaps, edit many values at once and export to Excel.

Schedules are saved in the `.3dm` file.

{% hint style="info" %}
Schedules are available on Windows only.
{% endhint %}

## Open a schedule

Click **Q** on the [panel](/beam/beam-for-rhinoceros/using-rhino-beam.md#tool-row). The list shows the schedules saved in the document.

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-7f1748a5b13234e55822d277ec39c703831ac81c%2Fmock-schedules.png?alt=media" alt="Schedules list" width="580"><figcaption></figcaption></figure>

| Button        | What it does                                                              |
| ------------- | ------------------------------------------------------------------------- |
| **Add**       | Create a schedule. Give it a name.                                        |
| **Open**      | Open the selected schedule.                                               |
| **Rename**    | Rename the selected schedule.                                             |
| **Duplicate** | Copy the selected schedule with its columns, filters, groups and formats. |
| **Remove**    | Delete the selected schedule.                                             |

## The schedule window

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-4843c589dd86aef2d1a8cdff42e12bde797d01d4%2Fmock-schedule.png?alt=media" alt="Schedule window" width="640"><figcaption></figcaption></figure>

The buttons on the left set up the table. A dot on **Filters**, **Groups** or **Format** means that setting is active.

| Button         | What it does                         |
| -------------- | ------------------------------------ |
| **Parameters** | Choose the columns and their order   |
| **Filters**    | Show only rows that match conditions |
| **Groups**     | Group rows by parameter values       |
| **Format**     | Colour cells by value                |

Work in the table:

* Click a column header to sort by it.
* Type in the search box of a text column header to filter by that column.
* Tick the checkbox in a Yes/No column header to set every row at once.
* Click a cell to edit its value.
* Use the undo and redo arrows to step through your edits.

Buttons at the bottom:

| Button     | What it does                                                        |
| ---------- | ------------------------------------------------------------------- |
| **Find**   | Select the Rhino objects of the selected rows                       |
| **Export** | Save the table as an Excel `.xlsx` file                             |
| **OK**     | Save your edits to the document                                     |
| **Cancel** | Close without saving. BEAM asks first if there are unsaved changes. |

## Columns

Click **Parameters**. Tick the parameters to show and set their order with the arrow buttons.

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-a20c487236aa67036dc49dc4b21794d42c7f4e6e%2Fmock-schedule-parameters.png?alt=media" alt="Schedule parameters" width="530"><figcaption></figcaption></figure>

Besides your own parameters, these built-in fields are available. Their names are shown in angle brackets.

| Field                      | Value                                                                                                         |
| -------------------------- | ------------------------------------------------------------------------------------------------------------- |
| **\<Family>**              | The family name                                                                                               |
| **\<Category>**            | The Revit category                                                                                            |
| **\<Ifc Type>**            | The IFC type                                                                                                  |
| **\<Ifc Predefined Type>** | The IFC predefined type                                                                                       |
| **\<Level>**               | The level set in the panel, or `<Automatic>`                                                                  |
| **\<Calculated Level>**    | The level BEAM will actually use. See [Levels](/beam/beam-for-rhinoceros/levels.md#how-beam-picks-the-level). |
| **\<Uniclass>**            | The Uniclass code. See [Classifications](/beam/beam-for-rhinoceros/classifications.md).                       |

## Filters

Click **Filters** to show only the rows you need.

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-a28aa76aa77fa18ff923e2483bf820b94f2fd8c6%2Fmock-schedule-filter.png?alt=media" alt="Schedule filter editor" width="630"><figcaption></figcaption></figure>

1. Click **Add Rule** to start.
2. Click **Filter** to add a condition: a parameter, a comparison and a value.
3. Set **And** or **Or**. **And** shows rows that match every condition. **Or** shows rows that match any of them.

**Clear All** removes every condition.

Comparisons:

| Comparison                                            | Matches when the value…                        |
| ----------------------------------------------------- | ---------------------------------------------- |
| **Equals** / **Does not equal**                       | is, or is not, exactly the given value         |
| **Is greater than** / **Is greater than or equal to** | is above, or at least, the given number        |
| **Is less than** / **Is less than or equal to**       | is below, or at most, the given number         |
| **Contains** / **Does not contain**                   | includes, or does not include, the given text  |
| **Begins with** / **Does not begin with**             | starts, or does not start, with the given text |
| **Ends with** / **Does not end with**                 | ends, or does not end, with the given text     |
| **Has value** / **Has no value**                      | is filled in, or is empty                      |

For Yes/No parameters, use `yes`, `true` or `1`, and `no`, `false` or `0`.

## Groups

Click **Groups** to merge rows that share the same values into one row.

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-2bb3f984170b879a175d18becdede604a900f1c1%2Fmock-schedule-groups.png?alt=media" alt="Schedule groups" width="430"><figcaption></figcaption></figure>

Choose a parameter for **Group by**. Click **Group** to add a **Then by** parameter. For example, group by **\<Level>**, then by **\<Category>**, to get one row per category on each level.

When grouping is on:

* A **Count** column shows how many objects each row holds.
* A cell shows its value when every object in the row has the same value. It is empty when the values differ.
* Editing a cell changes the value for every object in that row.

## Format

Click **Format** to colour cells. Each format rule colours one parameter's column where the value matches its conditions.

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-441bbe57f9d317944977d5f67497f93d54e37027%2Fmock-schedule-format.png?alt=media" alt="Schedule format rules" width="580"><figcaption></figcaption></figure>

1. Click **Add** and pick the parameter.
2. Pick a colour.
3. Add conditions, the same way as in [Filters](#filters).

When several rules match a cell, the rule highest in the list wins. Use the arrow buttons to change the order.

<figure><img src="https://1008084047-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M20iL6J8Vf1nWgor7JL%2Fuploads%2Fgit-blob-00369b19af46f7a5a415b8330f6b70e41a9d01e9%2Fmock-schedule-format-rule.png?alt=media" alt="Format rule editor" width="530"><figcaption></figcaption></figure>
