Room
Contents
- Description
- Availability
- Placement
- Placement Using Menu or Toolbar Command
- Rectangular Room
- Polygonal Room
- Auto-Component Association
- Manual Component Association
- Creation Using Menu or Toolbar Command
- Creation by Adding a Room Definition Design Rule
- Non-Graphical Editing...
- ...via an Associated Properties Dialog
- ...via an Inspector Panel
- ...via a List Panel
- Graphical Editing
- Changing Room Size and Location
- Changing Room Shape
- Slicing Rooms
- Room Wrapping
- Notes
Parent page: 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]
- through menu and the Utilities toolbar.
- You can also create a new room object by adding a new Room Definition design rule.
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 layer 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:
- click or press Enter to anchor the first corner of the room
- 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:
- position the cursor and click to anchor the starting point for the room
- position the cursor and click to anchor a series of vertex points that define the polygonal shape of the room
- 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.
- 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 to 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:
- first, ensure that all components that you wish to create the room for, are selected in the main design window
- launch the relevant creation command, a component class is automatically defined to include the selection (Design » Rooms » Create xxx Room from selected objects )
- the chosen room type is then created, the definition of which is defined to associate the created component class
- 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. Conversely, 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.
Non-Graphical Editing...
The following methods of non-graphical editing are available:
...via an Associated Properties Dialog
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
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
A 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.
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 vertice 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.
Notes
- 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).
- 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.
- The context-sensitive right-click menu
- - accessed when the cursor is over a room object
- - also provides commands for selecting the connections in the room, routing the connections in the room using the Situs Autorouter and unrouting the room.
- 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.