"Rooms" is a shining light among Protel's features. I lament Altium's dearth
of information about its workings, which no doubt leaves many Protel users
unaware of its capability. I recall that the few posts I've seen on the
subject were positive. Clearly, Mr Lomax appreciates Rooms, and I appreciate
his comments.

It is instructive to distinguish among the various abstractions applicable
to the  term, "Rooms". Rooms certainly provide an effective tool for PCB
organization, areal utilization of PCB real estate, and component placement.
Another useful concept is the manipulation of  Room boundaries to minimize
ratsnest crossings, thus allowing easier routing. These concepts apply
exclusively to the geometric aspects of PCB layout.

But Rooms have another meaning to many engineers; namely, they are
functional blocks of components grouped to perform  specific definable
tasks. The blocks are created and positioned to provide logical signal flow
and cohesive physical structure. Note that this often results in
hierarchical schematic sheets. In most cases the groupings are specified and
the Rooms are definable before the first PCB sheet is generated. When all is
ready, engineers want the capability to transfer these groupings to the PCB.

I previously wrote: " ... the claim ... ('Protel 99 SE includes features
that help you TRANSFER this grouping information from the schematic to the
PCB.') is FALSE so far as I can tell. A more veracious statement is: 'Protel
99 SE includes features that help you CONSTRUCT the schematic grouping
information while editing the PCB'."  Subsequently, I learned that transfer
IS actually possible, albeit somewhat indirectly (Except through sub-sheets,
Rooms cannot be defined in the Schematic). I've outlined a method for group
transfers in the dialog below.

----- Original Message -----
From: "Abd ul-Rahman Lomax" <[EMAIL PROTECTED]>
To: "Protel EDA Forum" <[EMAIL PROTECTED]>
Sent: Friday, January 18, 2002 2:11 PM
Subject: Re: [PEDA] Room Placement Issues

> At 10:40 AM 1/18/2002 -0500, Fred A Rupinski wrote:
> > > There may be some way to use cross-probing to select a set of
> > > on Schematic and thus the corresponding components on PCB; this would
then be
> > > used by the Class Generator (Design/Classes/Component/Add/Class
> > > to create a class. The class would then be assigned a room.
> >
> >This sounds involved. I think it is easier and more intuitive to
> >the rooms on the PCB sheet, and then assign components in the normal way
> >after the PCB is updated from the schematic. However, it might be
> >instructive to see how far your suggestion takes me, time permitting ....
> >I'll see.
> The point is that you can rather easily and quickly assign a set of
> selected components to a room. You create a class from the selection and
> then assign the selection to the room. You can assign components to a room
> individually, but it multiplies rules and is cumbersome; much easier to
> create a class for the components and then assign the class -- or classes
> -- to the room.

This dialog up until now has cleared up several issues, but not the issue of
TRANSFER from the Schematic to the PCB. I tried "to use cross-probing to
select a set of components", but that indeed is very involved. But Mr
Lomax's point and Altium's claims continued to resonate (sometimes
dissonantly), so I re-visited the manual and further explored the software.
As a consequence, I devised the following recipe :

* Update the PCB from the schematic.
* Set up the Schematic and PCB on a split screen.
* In Schematic;
    - Select (highlight) the desired grouping of parts
    - Tools>>Select_PCB_Components
* In PCB
    - Design>>Classes...
    - Component tab
    - Add...
    - (Enter class name; say 'AntiAlias')
    - Selection='True'
    - ' > ' (to list selected parts)
    - OK, OK, Close
* Don't forget to deselect both PCB and Schematic objects!
* Repeat procedure (using, say, PreAmp for the class name).
* Repeat procedure (using, say, Limiter for the class name).
* Repeat procedure for each additional schematic grouping of parts selected.
* Click on 'Room' icon in 'PlacementTools' toolbar. Estimate area needed for
group and draw rectangle.
* Double click on the rectangle.
* Enter the 'Rule Name' (say, SignalConditioner)
* Scroll 'Filter kind' to 'Component Class'
* Scroll 'Component Class' to desired selection (say 'AntiAlias')
* Click 'And...'
* Scroll 'Filter kind' to 'Component Class'
* Scroll 'Component Class' to desired selection (say 'Preamp')
* OK
* From 'ComponentPlacement' toolbar select 'Arrange components within room'
* Click on Room. Components are placed into Room.
* Place and name another Room (Say, 'Limiter')
* Scroll 'Filter kind' to 'Component Class'
* Scroll 'Component Class' to desired selection (say 'Limiter')
* OK
* From 'ComponentPlacement' toolbar select 'Arrange components within room'
* Click on Room. Components are placed into Room.
* Two rooms have been created; repeat appropriate steps for additional

Although this recipe seems a bit busy, it takes about an hour of practice to
be able to quickly place PCB components. The basic procedure is to select
components in Schematic, then use the Tool pulldown to select the same PCB
components. In PCB, assign the selections to specified Classes. Then create
Rooms and assign the appropriate Classes to them.

One caveat; it seems that assigning multiple classes is erratic. I have had
no problem with one class per room. I've asked Altium ATS to resolve this

> Note that rooms can also be used to restrict some components to one side
> the board....
> Yes, conceptually, all this should be controllable from the schematic or,
> *possibly,* a human-readable file that defines PCB requirements. Such
> requirements are now typically communicated engineer-to-designer by
> memos. If we are lucky.

Many of today's engineers are also designers. For me, the project usually
begins with a concept or (if I am lucky) a functional specification. 85% of
my work is applied research, analysis, engineering and development aimed at
designing a product. The PCB is always a prototype for evaluation and
further development. When the client is satisfied, he uses the prototype PCB
as a basis for his production board. Spending more than 15% of my effort, or
sending the work out, is a real financial burden. To me, sorting out the
Room Placement Issues promises to greatly streamline the PCB layout process.
TRANSFER from the Schematic to the PCB is key among these issues.

> > > >* Is it possible to rotate rooms (including assigned relative
> > > >patterns) while editing the PCB?
> > >
> > > Yes. Select the objects, including the room, and rotate them together.
> > > Rooms do not seem to have a select field in the dialog, but they do
> > > select/deselect with normal mouse/keyboard commands.
> >
> >I found it.
_> >Cursor_on_Room) gets me there.
> Sure, this will work, but it is unnecessarily cumbersome unless you want
> rotate some angle other than your default rotation settings. Just pick up
> the selection with the mouse and hit the space bar, the selection should
> rotate the default value counterclockwise. The installation default is 90
> degrees.

Routine with other objects;  I hadn't thought of trying it with Rooms.

> However, rooms cannot be rotated, it appears, any other angle than 90
> degrees. This could be expected from the room edit dialog, which shows no
> angle field.
> Note that rooms can be defined to keep components out of a rectangle.
> Multiple rules may apply to a room, for example, one set that keeps
> components inside and another that keeps other components outside.
> The room concept is very, very useful even as it is, our complaints are
> really only pointers to suggestions that would improve their utility.
> I had trouble finding a way to graphically edit the extents of a room. The
> room is drawn on-screen with handles, but was unable to pick up any of the
> handles, until I remembered that I had the same problem with fills. So I
> looked in the help files for fills and saw the instructions for
> editing fills. I had completely overlooked this; it is slightly less than
> intuitive.
> If a fill has the focus (give it the focus by clicking on it), click on
> of the handles. Just a quick single click, not a held-click or
> double-click. The cursor will jump to the handle and one can resize the
> fill. Another click puts the handle down. The off-center handle is used to
> rotate the fill. Rooms work the same way except that there is no rotation
> handle.

It's a matter of developing a certain clicking  finesse and acumen a la
Protel, but it works.

Fred A Rupinski

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* To post a message: mailto:[EMAIL PROTECTED]
* To leave this list visit:
* http://www.techservinc.com/protelusers/leave.html
* Contact the list manager:
* Forum Guidelines Rules:
* http://www.techservinc.com/protelusers/forumrules.html
* Browse or Search previous postings:
* http://www.mail-archive.com/proteledaforum@techservinc.com
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Reply via email to