# Placement regions

### Overview

Placement Regions allow you to limit component placement by ensuring that components tied to the region are positioned within its geometric boundaries during compilation.

To set up a Placement Region, define a polygon object in your native CAD input file, place it so it overlaps the board outline, and link it to either the top or bottom layer.&#x20;

Once you've uploaded your input file, you can assign components to that Placement Region, which tells Quilter to place those parts within the region's boundary.

{% hint style="success" %}
**Quilter supports Altium "Rooms"**

For Altium users, Quilter can automatically convert "Rooms" to placement regions, and auto-associate components. See [#how-to-specify](#how-to-specify "mention").
{% endhint %}

<figure><img src="https://1761213452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL9R6Vsa5jGn27oTws0tG%2Fuploads%2FQqUJpPj9bY6BiUbK6gwG%2Fimage.png?alt=media&#x26;token=efe6f371-9c0c-4f1d-9691-9557af303f7a" alt=""><figcaption><p>Placement Regions appear as dotted lines in the board preview.</p></figcaption></figure>

<figure><img src="https://1761213452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL9R6Vsa5jGn27oTws0tG%2Fuploads%2FL2HSNpXHQwzbVvRZJtJX%2Fimage.png?alt=media&#x26;token=56e167d1-9224-4d76-8110-8e5546a65ac7" alt=""><figcaption><p>Review and manually add / remove components associated to each placement region before submitting your layout job.</p></figcaption></figure>

### Why should I pre-place components?

There are a few reasons to pre-place components:

1. **Location-sensitive components**\
   Pre-placing a component mainly ensures that location-sensitive parts, such as mechanical components and connectors, are positioned correctly. <br>
2. **Unsupported physics constraints**\
   If Quilter doesn't yet support a physics constraint that requires precise or highly organized placement of components, you can manually pre-place individual components or groups to ensure they come out correctly. <br>
3. **"Saving your progress"**\
   When iterating with Quilter, you might find yourself liking parts of a layout candidate but not the entire design. After downloading a candidate, you can pick the elements you like, remove the rest, and resubmit to Quilter to save your progress and move closer to a fabrication-ready design.

### How to specify

#### As a preference

Quilter won't put a component in a placement region outside of that region, even if it blocks Quilter from finishing a layout job.&#x20;

#### As a requirement

Define a placement region by following these steps for your CAD tool:<br>

{% tabs %}
{% tab title="In Altium" %}
Quilter utilizes Altium's "[Rooms](https://www.altium.com/documentation/altium-designer/pcb-rooms?srsltid=AfmBOopok-8wYiEOu-I8Is33x2w8w9GmT9s60KumbmLIqzAMSkw2gBS4)" feature to define placement regions and associate components with those regions. &#x20;

To define a placement region for Quilter:

1. **Create a Room in Altium.**  \
   You can use any of the following methods:
   1. Select the required command from the **Design » Rooms** submenu, then either interactively define the room shape (if you selected a **Place** command) or automatically create the room (if you selected a **Create** command). &#x20;
   2. Add a new **Room Definition** design constraint, edit the new room constraint, and click the **Define** button to interactively define the shape of the polygonal room. &#x20;
   3. Create a room based on a selected closed outline formed by a set of tracks or arcs using the **Tools » Convert » Create Room from Selected Primitives** command. &#x20;
   4. Automatically create rooms during schematic to PCB design synchronization. Learn more about [automatically generated rooms](https://www.altium.com/documentation/altium-designer/pcb-rooms?srsltid=AfmBOopok-8wYiEOu-I8Is33x2w8w9GmT9s60KumbmLIqzAMSkw2gBS4#created_during_schematic_to_pcb_design_synchronization) (including how to disable them).<br>
2. **Save and upload your input file.**  \
   Quilter will automatically parse your input board file to extract the Rooms as placement regions and automatically associate components in that room with the corresponding placement region.<br>
3. **Review your input file.**  \
   After uploading, you can inspect your input file to ensure that Quilter generated the placement regions correctly. Placement regions will be highlighted as dotted lines in the board preview.<br>
4. **Review and approve associated components.**  \
   Components in the Room will be automatically associated with the corresponding placement region. You can add or remove components as you wish.<br>
5. **Submit your layout job.**  \
   Once you're done, submit your layout job, and Quilter handles the rest.
   {% endtab %}

{% tab title="In KiCAD" %}
Quilter utilizes KiCAD's "Rule Areas" feature to define placement regions. Components must be manually associated with placement regions after being imported into Quilter.<br>

To define a placement region for Quilter:

1. **Create a Rule Area in KiCAD**\
   Use the corresponding icon on the right-hand menu:
   1. It must be associated with the top or bottom layer (usually `F.Cu` or  ).
   2. Define it as a "Keepout" and give it a recognizable name.
   3. <mark style="background-color:red;">Deselect all keepout items.</mark> This indicates to Quilter that it is a placement region and not a keepout (which Quilter also supports).\
      \ <img src="https://1761213452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL9R6Vsa5jGn27oTws0tG%2Fuploads%2FdqcPPxVzigKsMOHgdKag%2Fimage.png?alt=media&#x26;token=3199cad7-5126-46c8-9113-ed873e90fd2f" alt="" data-size="original"><br>
2. **Save and upload your input file**\
   Quilter will automatically parse your input board file to extract the Rooms as placement regions and automatically associate components in that room with the corresponding placement region.<br>
3. **Review your input file** \
   After uploading, you can inspect your input file to ensure that Quilter generated the placement regions correctly. Placement regions will be highlighted as dotted lines in the board preview.<br>
4. **Associate components with the placement region**\
   Manually add components to the placement region using their reference designator.<br>
5. **Submit your layout job**\
   Once you're done, submit your layout job, and Quilter handles the rest.
   {% endtab %}
   {% endtabs %}


---

# 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.quilter.ai/design-parameters/placement-regions.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.
