"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 components > > > on Schematic and thus the corresponding components on PCB; this would then be > > > used by the Class Generator (Design/Classes/Component/Add/Class Generator) > > > to create a class. The class would then be assigned a room. > > > >This sounds involved. I think it is easier and more intuitive to pre-define > >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' icon. * 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' icon. * Click on Room. Components are placed into Room. * Two rooms have been created; repeat appropriate steps for additional rooms. 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 situation. > Note that rooms can also be used to restrict some components to one side of > 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 written > 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 component > > > >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. > >(Select)>>Edit>>Move>>Rotate_Selection...(Enter_Rotation_Angle)>>OK>>(Click _> >Cursor_on_Room) gets me there. > > Sure, this will work, but it is unnecessarily cumbersome unless you want to > 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. Thanks. > 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 graphically > 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 one > 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. Regards, 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: * mailto:[EMAIL PROTECTED] * * Forum Guidelines Rules: * http://www.techservinc.com/protelusers/forumrules.html * * Browse or Search previous postings: * http://www.mail-archive.com/proteledaforum@techservinc.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *