# Components

{% hint style="danger" %}
**OpenCutList** primarily works on SketchUp **Solid Components**.  These components have a volume strictly greater than 0. Components of zero volume do not appear in the SketchUp Inspector.[ For **OpenCutList**, this means that only two dimensions can be extracted, but it needs length, width **and** thickness to define a part.](#user-content-fn-1)[^1]

If the <mark style="color:blue;">blue bounding box</mark> around a component displays as a box with a volume, there is a good chance that the component will be visible to **OpenCutList**.
{% endhint %}

## From Components to Parts

To ensure the most meaningful results, several assumptions have been made while developing **OpenCutList**. It is essential to follow these guidelines for best results:

* Use **components** for modeling your project (scaled components are also supported), because only components will appear in the **Part List**. They may be nested in groups and even inside other components.
* Label the **definition** and the **instance** of your components (optional). This information will appear in the **Part List**.
* Correctly define the component axes to match the grain direction and/or the orientation of the part in the raw material. Usually length, width and thickness cannot be swapped in wood.
* Apply SketchUp material to your components and configure its parameters through the [**Materials**](/features/applying-materials.md) tab.&#x20;

{% hint style="success" %}
**Materials** can be applied to parts directly from **OpenCutList**.
{% endhint %}

{% hint style="warning" %}
It is very important to correctly set the component axes to convey the orientation of a part and possibly the desired grain direction to **OpenCutList**. You may get unexpected results if you are not aware of how local axes are oriented in your components.
{% endhint %}

{% hint style="success" %}
**OpenCutList** will help you identify and verify that the axes are set properly.
{% endhint %}

{% hint style="danger" %}
**SketchUp Groups** are not supported to describe parts.
{% endhint %}

## Bounding Box and Dimensions

**OpenCutList** uses the blue bounding box of a component (provided by Sketchup itself) to compute its length, width and thickness. This is done irrespective of whether the component has an irregular shape, holes, etc. (of course, there are some limitations to this approach). In the following example, **OpenCutList** will see the box below as a rectangular box, not considering the miter.

![A component as seen by OpenCutList](/files/-Ml90YJMLNs6CZ4GLbog)

{% hint style="warning" %}
**OpenCutList** only considers the blue bounding box, therefore a part is always a rectangle with a thickness.
{% endhint %}

By default, **OpenCutList** will consider the largest dimension of the component as the length, the shortest dimension as the thickness, and the last dimension as the width. This behavior can be changed on per-part basis.

It is also possible to configure **OpenCutList** so that it will never guess the dimensions, but always consider the dimension along the **local red axis** as **length**, the **green axis** as **width**, and the **blue axis** as **thickness**.

{% hint style="info" %}
**OpenCutList** does not consider components with zero volume. Components must be Solid Components in SketchUp.
{% endhint %}

[^1]: Pas très clair


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opencutlist.org/getting-started/components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
