> Geoff, my experience with mirroring layouts (now several years in the > past) was so disasterous that I gave it up. Connectivity of all copper > objects became completely unreliable, not to say trash. > > Can 99SE/SP6 in fact mirror layouts and retain connectivity? Or are you > referring to mirroring as an aid to viewing overlays and the like on a > "scratch" board, while modifying and later using the "true" layout? > > Brian Sherer
To clear one thing up for starters, did you use the X or Y keys (while running the command of moving the selected items), or the L key? To mirror a PCB as I described, you should use either the X key (to reflect around a vertical axis) or the Y key (to reflect around a horizontal axis). However, you should definitely *not* use the L key at the time (and if you were to use this, you would typically scramble the PCB file, and big time). (More on using the L key later.) To continue, I was referring to mirroring everything in the PCB, then working on this (principally items on the bottom side of the PCB, for which associated text items would then be un-mirrored (due to these being in a mirrored state in a "normal" PCB)), and then re-mirroring the entire PCB again. I have done so myself, from time to time, but not very much in recent times (having become largely accustomed to working with text which is in a mirrored state). (I still regularly mirror entire PCB files while producing certain printouts though, because while the Power Print Server does support producing printouts in mirrored mode, there are still problems associated with producing printouts in which True Type fonts are incorporated (which I sometimes want to use, in order to provide "searchable" text within Acrobat (PDF) files which I create while using the Power Print Server). But while I mirror a PCB file before creating such Acrobat files, I always close this (PCB file) afterwards, and *without* having saved that first (meaning that if I re-open that PCB file at some later stage, it will still be in an un-mirrored state).) However, AFAIK, there are no connectivity problems (with 99SE/SP6) while editing a PCB in mirrored mode (though you still need to be duly careful at the time). ------ Back to usage of the L key: In AdvPcb, pressing the S key, while moving a component, swapped the side of the PCB that the component was placed on. Since that version (starting with Protel 3), the L key has been used for that purpose instead, but the usage of this key *also* shifts *other* objects from one layer, of a paired nature, to the other layer of the same pair (with the Overlay, Paste Mask, Solder Mask, and external copper layers currently being the only thus-paired layers). For objects which are *not* part of a component (i.e. "free" objects), the *only* property thus changed is the layer property (but only if that layer is one of those of a paired nature). But that differs from the behaviour of objects which *are* part of a component, which typically experience *yet other* changes to their properties; a toggling of the mirrored state of String objects is one such example (and reasonably demonstrative of various other properties that also change at the time). Even components themselves behave in a manner which could be regarded as disturbing, as far as their updated locations are concerned. It seems as though the location of a component (or each component, in the event that selected items (involving more than one component) are being moved (rather than just one component)), immediately after changing sides, changes in such a manner as to retain the same "centroid" position / "occupying rectangle" (however in oath that is calculated) as it occupied immediately prior to changing sides. As such, there is a "double-declutching" aspect to changing a component's (PCB) side, which I don't care for. The bottom line is that it is a very bad idea to think that a PCB could be "inverted" by selecting everything, then invoking the command to move selected items, then pressing the L key while in the middle of that command. If an attempt was made to do that, the PCB would typically be turned into a pig's breakfast. Apparently Altium has denied on at least one occasion in the past that there are any problems associated with using the L key. Regardless of that, the L key does need to be used with care, and preferably with an understanding of exactly what happens when it is used. ------ Further ruminations on "inverting" PCBs: Altium has yet to attempt to provide an "inverting" feature in Protel (and I have already said why attempting to achieve this by using the L key would normally be a very bad idea); I do not know if any other CAD package provides such a feature. In the event that such a feature ever was to be provided though, its provision has the potential to open a large can of worms. It is not just components and primitive objects (Arcs, Fills, Pads, Strings, Tracks, and Vias) whose properties need to be appropriately updated. Other aspects, such as Layer Stackup definitions, (Drill) Layer Pairs, and Design Rules, also need to have their associated properties appropriately updated as well. The server that Ian Wilson and I had been working on was designed to invert an *entire* PCB file. But there would be complications to deal with if any attempt was made to also/alternatively provide a feature of "inverting" *just* those items currently in a selected state. The Layer Stackup definitions and/or (Drill) Layer Pairs could be asymmetric in nature in some PCB files, and that would have a bearing upon what updated properties should be assigned to vias of a blind or buried nature, and to other (primitive type) objects residing on internal copper layers. (Those issues are less problematic (on a philosophical level, if not on a coding level) when an *entire* PCB is being inverted instead, because *all* of the objects in the PCB are then being inverted, rather than just *some* of these.) And then there are also Design Rules to consider (in such circumstances); some of these could be applicable to components and/or other objects currently in a selected state, ... Bottom line: if Altium have visions of providing an "inverting" feature in Phoenix, then this should be provided in a form which inverts the *entire* PCB; there should not be an additional option (or alternative implementation) of inverting *just* selected items. It is debatable as to what *should* happen when the L key is pressed, but attempting to implement an "inversion" of objects which are currently in a selected state (and *just* those objects) does have the potential to produce nasty results. Does anyone else have any thoughts on this matter? Regards, Geoff Harland. ----------------------------- E-Mail Disclaimer The Information in this e-mail is confidential and may be legally privileged. It is intended solely for the addressee. Access to this e-mail by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. Any opinions or advice contained in this e-mail are confidential and not for public display. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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/[email protected] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
