Room

Now reading version 17.0. For the latest, read: Room for version 21
Applies to Altium Designer versions: 17.0 and 17.1
 

Parent page: PCB Objects

Description

A room is a primitive design object. It is a region that assists in the placement of components. Rectangular or polygon-type rooms can be placed on either the top or bottom layer of the board and can either be placed empty - associating components at a later stage - or placed around components in the design, automatically associating them to the room. Alternatively, orthogonal, non-orthogonal, and rectangular shaped rooms may be created automatically based on selected components in the workspace.

Availability

Rooms are available for placement/creation in the PCB Editor only. You can place them directly or create them from selected components. Use one of the following methods to access the placement commands:

  • Select Design » Rooms » Place Rectangular Room [shortcut: D, M, R]
  • Select Design » Rooms » Place Polygonal Room [shortcut: D, M, M]
  • Select the type of room desired from the Place Room toolbar by clicking the  button and accessing the drop-down options.
  • Create a new room object by adding a new Room Definition design rule.
  • Select rooms to be generated based on schematic sheets in the design using the Project Options dialog.

Placement

The procedure involved to obtain a room on the PCB document depends on whether you are placing or creating the room and which particular method of placement/creation you have chosen to use.

Placement Using Menu or Toolbar Command

Rectangular or polygonal shaped rooms can be placed on the top or bottom layers of the design.

Rectangular Room

After launching the command, the cursor will change to a crosshair and you will enter room placement mode. Placement is made by performing the following sequence of actions:

  1. Click or press Enter to anchor the first corner of the room
  2. Move the cursor to adjust the size of the room, then click or press Enter to anchor the diagonally-opposite corner and thereby complete placement of the room.
    Continue placing further rooms, or right-click or press Esc to exit placement mode.

Polygonal Room

After launching the command, the cursor will change to a crosshair and you will enter room placement mode. Placement is made by performing the following sequence of actions:

  1. Position the cursor and click to anchor the starting point for the room
  2. Position the cursor and click to anchor a series of vertex points that define the polygonal shape of the room
  3. After placing the final vertex point, right-click or press Esc to complete placement of the room. There is no need to "close" the polygon as the software will automatically complete the shape by connecting the start point to the final point placed.
  4. Continue placing further polygonal rooms or right-click or press Esc to exit placement mode.

While defining the region shape, use Shift+Spacebar to cycle through various corner modes. Modes available are: any angle, 45°, 45° with arc, 90° and 90° with arc. Arcs can be increased or decreased in radius using Shift+. (period or full stop) or Shift+, (comma) respectively. Use Spacebar to toggle the direction of the corner. Use the Backspace key while in placement mode, to remove the last placed vertex point. Repeatedly use this key to 'unwind' the outline for the polygon, right back to the initial starting point.

Auto-Component Association

By placing a room - rectangular or polygonal - around one or more components, so that they fall completely within its boundaries, the components will automatically be associated with the room. The scope or query created for the room's definition rule depends on whether all components are part of an existing component class or not. If they are, then this component class will be used. If not, a new component class is created, with these components as its members. It is therefore possible to have multiple rooms, each with a scope that targets a particular component class, and have one or more mutual component members between those classes.

Manual Component Association

When an empty room is placed in the design, components required to be placed in the room should be grouped together by the use of a specific component class. A Room Definition rule will automatically be created and assigned to the room, with an initial scope (Full Query) of All. Edit this query to target the specific component class previously defined. The components can then be moved to the room by the use of the Tools » Component Placement » Arrange Within Room command.

Creation Using Menu or Toolbar Command

Non-orthogonal, orthogonal, and rectangular shaped rooms can be created automatically based on selected components in the workspace. In each case, the method of creation is the same:

  1. First, ensure that all components that you wish to create the room for, are selected in the main design window
  2. Launch the relevant creation command, a component class is automatically defined to include the selection (Design » Rooms » Create xxx Room from selected objects )
  3. The chosen room type is then created, the definition of which is defined to associate the created component class
  4. The room will be sized accordingly, in order to fit all components in the selection, as defined by the limits of their bounding rectangles.

The following sections illustrate, by example, each of the three room types created from the three selected components in the image.
In each case, there are two images
- the first showing the result of running the associated room creation command and the second showing just the created room, which has been filtered in the workspace for clarity.

Non-orthogonal Room for S2, S3, S4

Orthogonal Room for S2, S3, S4

Rectangular Room for S2, S3, S4

Creation by Adding a Room Definition Design Rule

For each room that is placed or created an associated Room Definition design rule is also created. You may add a new rule of this type and a corresponding room object will appear in the design workspace.
Add a new Room Definition rule by right-clicking on the Room Definition entry, which can be found under the Placement category in the PCB Rules and Constraints Editor dialog, and select New Rule from the subsequent pop-up menu. The new rule will be added to the folder-tree on the left hand side of the dialog and will appear in the summary list for that rule type, in the main editing window of the dialog.

 

Clicking on the entry for the newly-created rule in the folder-tree pane (or, alternatively, double-clicking on the rule entry in the summary list) will allow you to edit/define the scope and constraint attributes for the rule. Use the Define button to access the workspace and determine the location, shape and size of the required room - either polygonal or rectangular. After defining the boundaries of the room, you will return to the dialog.

 

After defining all constraints for the rule as required, click OK to exit the dialog. The corresponding room object will appear in the design workspace, in accordance with the definition of the rule.

As well as being a design rule in its own right (Room Definition), a room can also be used as an object when defining the scope of another rule, such as Clearance or Height. As the room is to be used as an object rather than a rule, you can disable the rule. The following two queries can be used when using a room object in another rules' scope definition:

  • TouchesRoom(RoomName) - use to find objects that are completely or partially within the room
  • WithinRoom(RoomName) - use to find objects that are completely within the room.

Creating Compiler Based Rooms

The Class Generation tab of the Project Options dialog includes options to generate Rooms for each sheet in the design. If this option is checked, a Room for each sheet will be created and all components within that sheet will be associated with the corresponding Room when a Design » Update command is run.

Non-Graphical Editing

The following methods of non-graphical editing are available:

Via an Associated Properties Dialog

Dialog Page: Edit Room Definition

This method of editing uses the following dialog to modify the constraints of a room's associated Room Definition rule:

 

This dialog feature a units toggle control in the top-left corner that will change the units of measurement currently used in the dialog between metric and imperial [shortcut: Ctrl + Q ]. The current unit of measurement is displayed in the dialog title area.
During placement, the Edit Room Definition dialog can be accessed by pressing the Tab key.
After placement, the Edit Room Definition dialog can be accessed in the following ways:

  • double-clicking on the placed room object
  • right-clicking the room object and selecting Properties from the pop-up menu
  • selecting the Edit » Change command, then clicking once over the placed room object.
  • The constraints for a Room Definition rule can also be edited directly in the PCB Rules and Constraints Editor dialog (Design » Rules).

Via an Inspector Panel

Panel pages: PCB Inspector, PCBLIB Inspector

An Inspector panel enables the designer to interrogate and edit the properties of one or more design objects in the active document. Used in conjunction with appropriate filtering, the panel can be used to make changes to multiple objects of the same kind, from one convenient location.

Via a List Panel

Panel pages: PCB List, PCBLIB List

PCB List panel allows the designer to display design objects from one or more documents in tabular format, enabling quick inspection and modification of object attributes. Used in conjunction with appropriate filtering, it enables the display of just those objects falling under the scope of the active filter – allowing the designer to target and edit multiple design objects with greater accuracy and efficiency.

When using either the PCB Inspector or PCB List panels to edit the properties of a room's associated Room Definition rule, the selected room object will appear as the Object Kind: Confinement Constraint Rule.

Graphical Editing

This method of editing allows you to select a placed room object directly in the workspace and change its size, shape, location or orientation, graphically.

Changing Room Size and Location

When a room object is selected the following editing handles are available, irrespective of whether it is was originally placed as a rectangular or polygonal room:

    

Dragging corner handles ( A ) will scale the room horizontally and vertically simultaneously. Dragging an edge handle ( B ) scales the object in that direction (either horizontally or vertically).
The room can be rotated or flipped while dragging:

  • Press the Spacebar to rotate the object anti-clockwise or Shift+Spacebar for clockwise rotation. Rotation is in accordance with the value for the Rotation Step, defined on the PCB Editor - General page of the Preferences dialog (Tools » Preferences)
  • Press the X or Y keys to flip the object along the X-axis or Y-axis respectively.
  • Press the L key to flip the object to the other side of the board. If the room has associated components, those components will be flipped along with the room. A room object can also be moved using the Design » Rooms » Move Room command.

Changing Room Shape

To graphically modify the boundary shape of a room, you will need to launch the Design » Rooms » Edit Polygonal Room Vertices command [shortcut: D , M , E ]. Although the command name suggests it is for use with polygonal rooms only, it is in fact for use with all rooms, since a rectangular room is itself a polygon. After launching the command, click inside the room to be modified. The boundary track editing handles for the room's polygonal boundary shape will be displayed:

  • Click A then move the cursor to move the vertex. Click again at the new location to position the vertex there.
  • Click B then move the cursor to add more vertices to that edge as well as move B . Click again at the new location to position the vertex there. In effect, the moved B vertex becomes an A and a new B vertex is added between it and the original A vertices.
  • Click over an object edge (in between handles) then move the cursor to move that edge.
  • Continue modifying the shape of the room as required or right-click or press Esc to stop. The display of the room will update in accordance with the new boundary shape.

Slicing Rooms

Commands are available that allow you to graphically 'slice' a placed room object into two or more separate rooms. These commands offer two levels of 'slice', which can be summarized as follows:

Standard Slice

Allows you to slice an existing room object into multiple rooms. If the original room was associated to, and contained, components that were members of a component class, a newly generated room that inherits one or more of these components will not have a new component class created and assigned to it. Therefore, the components in the new room will still be members of the original component class.
The corresponding command for this level of slice is available by:

  • Selecting Design » Rooms » Slice Room from the PCB Editor main menus
  • Clicking the button on the Place Room drop-down of the Utilities toolbar
  • Right-clicking a room object and selecting Room Actions » Slice Room from the pop-up menu.

​Smart Slice

Also allows you to slice an existing room object into multiple rooms. If the members of the original room were part of a component class and slicing results in members residing in the newly-generated rooms, then each new room will have a component class created and associated to it. The component class membership will be updated accordingly, so that each component in a new room will be added to the class for that room and removed from the original room class.
Any room that is created that does not inherit a member component of the original room will have no component class created and assigned to it.
The corresponding command for this level of slice is available by right-clicking over a room object and choosing Room Actions » Slice and Create Classes from the subsequent pop-up menu.

The Slicing Process

After launching either command, filtering will be applied to the document, resulting in all room objects remaining visible and all other objects becoming dimmed. The cursor will change to a crosshair and you will be prompted to select a start point for the slice. Move the cursor to the required point with respect to the room you wish to slice and click or press Enter.
You are now in slice mode (which is essentially line placement mode). Move the cursor and click or press Enter to anchor a series of vertex points that define the shape of the slice.

  • Position the cursor and click to anchor the starting point for the slice.
  • Position the cursor and click to anchor a series of vertex points that define the shape of the slice.
      
  • After placing the final vertex point, right-click or press Esc to complete placement of the slice.
  • When you have finished defining the slice, right-click or press Esc.
  • Continue defining further slices, or right-click or press Esc to exit slice mode. A confirmation dialog will appear, which states how many rooms the original room will be turned into. Click Yes to commit the slice(s) you have made or No to discard. The resulting new room object(s) will be updated accordingly and the relevant Room Definition rule created and associated.
  • While defining the splice shape, use Shift + Spacebar to cycle through various corner modes. Modes available are: any angle, 45° and 90°. Use Spacebar to toggle the direction of the corner. Each placement mode, except any angle, requires a start and end point.
  • Use the Backspace key while in slice mode to remove the last placed slice segment.

Room Wrapping

The following commands are available that allow you to quickly change the shape of existing room objects within a design:

  • Wrap Non-Orthogonal Room Around Components
  • Wrap Orthogonal Room Around Components
  • Wrap Rectangular Room Around Components

Each of the commands can be accessed from either the main Design » Rooms submenu or from the Room Actions sub-menu, when right-clicking over a room in the workspace.

In each case, after launching the command the cursor will change to a crosshair and you will be prompted to select a room to modify. Position the cursor over the required room and click or press Enter. The room will change to the required shape (if not already) and will resize in order to fit its member components, as defined by the limits of their bounding rectangles.
Continue modifying further rooms or right-click or press Esc to exit.

When using any of the Wrap-based commands, if the current room is already the shape that you are trying to change it to and was created based on its member components, it will already be optimally sized (wrapped) around the components and using the command will have no effect.
If attempting to graphically modify an object that has its Locked property enabled, a dialog will appear asking for confirmation to proceed with the edit. If the Protect Locked Objects option is enabled on the PCB Editor – General page of the Preferences dialog, and the Locked option for that design object is enabled as well, then that object cannot be selected or graphically edited. Double click on the locked object directly and disable the Locked property or disable the Protect Locked Objects option, to graphically edit the object.

Copying Room formats

One of the most powerful features of Rooms is the ability to copy the formatting of one Room to that of another that contains an identical set of components. The command is particularly useful when used in Multi-Channel designs because it allows the placement and routing made in one channel to be propagated to all other channels. The Copy Room Formatting command is accessible from the menus as Design » Rooms » Copy Room Formats.

Hiding Rooms

Rooms within a given document can be globally displayed, hidden, or displayed in draft mode using options in the Show / Hide tab of the View Configurations dialog (Ctrl+D).

Notes

  1. Once component(s) have been assigned to a room, they move when the room is moved. To move a room without moving the components, temporarily disable the associated Room Definition rule - either in the PCB Rules and Constraints Editor dialog or in the PCB Inspector panel (with the room in question selected in the workspace).
  2. A room can be locked to prevent accidentally moving it. To lock a room, double-click on it and enable the Room Locked option in the Edit Room Definition dialog.
  3. The context-sensitive right-click menu can be accessed when the cursor is over a room object and provides commands for selecting the connections in the room, routing the connections in the room using the Situs Autorouter, and unrouting the room.
  4. The Design » Rooms » Copy Room Formats command is used to copy the formatting of a selected source room to destination rooms that contain an identical set of components. The command is particularly useful when you need to copy the placement and routing of a particular channel to all other channels in a multi-channel design.
 
Note

The features available depend on your level of Altium Designer Software Subscription.

Content