> 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

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

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?

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:
* 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