> >Is there any way within Protel 99SE's PCB tool to cause the view to be > >from the bottom of the board rather than from the front? > > > >Ray Mitchell > > Yes (sort of) > http://www.considered.com.au/Protel01.htm#CSFlipViewer > > Geoff Harland and I were working on a more difficult server to completely > flip the database around an axis. We struck multiple problems including > different flip methods required for different objects due to > inconsistencies in the SDK, the undo stack not seeming to log everything > correctly and problems with extracting the layer pairs and some other > stuff. Some of these are presumably solvable with enough knowledge about > the bugs in the SDK and some seem to be completely undocumented or > unimplemented aspects of the SDK. This development is pretty much on hold > - a beta version was released but that was withdrawn. > > The above server will allow some a sort of bottom view. > > Ian Wilson
There is another possibility, but due care needs to be exercised if using it. That possibility is to select *everything* in the PCB file, and then mirror this about a vertical axis or horizontal axis. Since the release of SP6 (for Protel 99 SE), you will be presented with a warning box if the items about to be mirrored include components, because producing Gerber files from mirrored components will result in PCBs that can't have "real world" components installed on them. As such, if you do go for this option, you will then need to re-mirror everything again (and before producing Gerber files). (And when you do re-mirror everything again, the same warning box will be re-invoked; Protel is not "conscious" of whether components are currently in a mirrored state or not, because (unlike String objects) Component objects do *not* (currently) incorporate a Mirrored field (something which I am hoping will be rectified in Phoenix though).) If you add any new components to the PCB file while this is in a mirrored state, you should then mirror such components as well (to match the currently mirrored state of previously placed components, while keeping in mind that the second mirroring of the PCB file will *toggle* the (non-Protel-registered) mirrored status of *all* components within the PCB file at that time). That consideration is one example of why you need to be careful if you run with this procedure. Other aspects of going with this procedure is that Coordinate and Dimension objects do *not* "mirror" properly (and that indeed is also a problematic aspect with the alternative concept of "inverting" PCBs). However, as a PCB file has to be re-mirrored again at a later stage (to restore all components to an un-mirrored state), the associated problems are of a temporary nature (but re-check the locations and properties of any Coordinate objects following the second mirroring). Because it does not have all of the features of Protel 99 SE, I believe that I could *probably* implement an inverting server for use with Protel 98. While I have written *most* of the associated code, I would still need to do a bit more work before I could release this (and I would probably only do so if anyone expressed an interest in having this provided). *Maybe* an inverting server could be provided (in due course) for use with Phoenix, if the SDK files (and associated documentation) provided for that prove to be up to par, but in the absence of appropriate assistance from Altium, I do not envisage that Ian Wilson and I could complete the inverting server that we started on for use with Protel 99 SE. If anyone is interested, it is my belief that an "off-line" inverting utility could be created for use with Protel 99 SE, as long as the PCB file to be inverted was saved in ASCII format. This would be "off-line" in the sense that the PCB file would need to be saved/exported (in ASCII format), the contents of the file then manipulated by the utility, and the thus-modified file then re-imported/re-opened again. (Ian and I had been working on a more ambitious plan to implement an "on-line" inverter, in which the PCB file would be inverted while this was currently open. With hindsight, we weren't originally aware that the SDK files and associated documentation were not up to par for implementing this particular task.) It should be noted that when a PCB file is inverted, all components in the PCB file remain in an *un-mirrored* state, and you could, if you so wanted, produce "kosher" (/"halal"/etc) Gerber files from a PCB file that is currently inverted (or at least from a PCB file that has been "deeply" inverted, rather than just "standardly" inverted). Inverting a PCB is a *different* procedure to mirroring this (though one aspect they do have in common is selecting the location of a mirroring/inverting axis, and whether this (axis) is vertical or horizontal). Conceptually, you can "manually" invert a PCB file, but that would normally be time-consuming, as a number of steps would be required, and there would be many ways you could put a foot wrong while doing so. (Think of the moves required to get the *last* face totally correct for a Rubik's cube, and the potential to scramble the cube if you blunder with any of the required moves at the time. While inverting a PCB file would not be as difficult, there is still the possibility of doing something incorrectly, and/or overlooking some of the necessary procedures; as such, your PCB file could potentially end up as scrambled as an unsolved Rubik's cube.) As such, even the use of an "off-line" inverting utility would normally be a preferable alternative... 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] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
