home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Explore the World of Soft…e: Engineering & Science
/
Explore_the_World_of_Software_Engineering_and_Science_HRS_Software_1998.iso
/
programs
/
electrnc
/
pcbutils.txt
< prev
next >
Wrap
Text File
|
1997-09-18
|
21KB
|
494 lines
RMG PCB UTILTIES
Version 1.10
(C)1992 RMG
----------------
RECORDING & MUSIC GROUP
111 NORTH 56TH STREET
SUITE 105
LINCOLN, NEBRASKA 68504
(402) 466-3232
(402) 466-3239 Fax
(402) 466-3269 Modem
==========================================================================
"Work in progress"
July 1, 1992
RMG makes no warranty as to the performance of these utilities, and
can assume NO RESPONSIBILITY for any effects which may result from
their use.
Your comments are welcome.
NO "INPUT" FILES ARE EVER MODIFIED BY ANY OF THESE UTILITIES.
However, be aware that if you specify the same filename for both
the InFile and the OutFile, and then answer YES to the overwrite
warning, your Input File will be vaporized. These utilities DO NOT
SUPPORT reading and writing to the same file.
========================================================
PCBI PCB INFORMATION DUMP
PCBRR PCB REFERENCE REPAIR
PCBTSR PCB TIMESTAMP REPAIR
PCBMERGE PCB FILE MERGE
PCBDSC PCB DRILL SIZE CHANGE
PCBPSC PCB PAD SIZE CHANGE
PCBRWA PCB TRACK WIDTH ADJUST
PCBMNW PCB MODULE NAME WIPE
PCBCNS PCB CHANGE NAME SIZE
PCBNC PCB NET CLEAR
PCBT2Z PCB TRACK to ZONE CONVERSION
PCBZ2T PCB ZONE to TRACK CONVERSION
PCBSWL PCB 2-LAYER SWAP
PCBFLAT PCB BOARD FLATTEN
PCBRX PCB ROUTE EXPORT
PCBRI PCB ROUTE IMPORT
GERAP GERBER "SINGLE APERTURE LIST" GENERATOR
MASKAP GERBER SOLDER MASK APERTURE CONVERTER
NCD2GER NCDRILL TO GERBER CONVERSION
============================================================
==========================================================================
PCBI: PCB INFORMATION DUMP
==========================================================================
Usage: PCBI <InFile>
<InFile> An OrCAD/PCB board layout file
This utility generates a detailed dump of the contents of a board file.
The information may be used to facilitate manual "binary" editing of
a file with a persistent or otherwise difficult to fix problem.
Output is to the DOS "stdout" port and may be redirected to a file from
DOS using a command line similar to the one below:
PCBI myboard.pcb > myboard.inf
==========================================================================
PCBRR: PCB REFERENCE REPAIR
==========================================================================
Usage: PCBRR <InFile> <OutFile> <Netlist>
<InFile> The OrCADPCB board file to be repaired
<OutFile> The repaired OrCADPCB board file
<Netlist> The OrCADPCB netlist containing the new reference
designators
Run this utility to update reference designators in a PCB layout.
This will have the same effect on references designators as does
"<Q>uit <I>nitialize <U>se Netlist" from within PCB, but will NOT
alter the board's actual netlist (or routes) in any way.
As with <Q-I-U>, the module timestamp is the "independent variable."
=========================================================================
PCBTSR: PCB TIMESTAMP REPAIR
=========================================================================
Usage: PCBTSR <InFile> <OutFile> <Netlist>
<InFile> The OrCADPCB board file to be repaired
<OutFile> The repaired OrCADPCB board file
<Netlist> The OrCADPCB netlist containing the new timestamps
This is essentially the complement of PCBRR. Using reference designators
as the independent variable, module timestamps in the board file will
be modified to agree with the netlist.
This is invaluable if you have made changes to a schematic which have
caused the timestamp to change, such as moving parts from one sheet to
another with BLOCK EXPORT/IMPORT. If you see PCB "ripping up" a bunch
of traces when you try to <U>se a revised netlist, this utility may be
helpful.
=========================================================================
PCBMERGE: PCB FILE MERGE UTILITY
=========================================================================
Usage: PCBMERGE <InFile1> <InFile2> <OutFile>
<InFile1> First OrCADPCB board file
<InFile2> Second OrCADPCB board file
<OutFile> A new OrCADPCB board file containing all of the elements
of both input files
This utility simply combines two board layouts. No adjustments are
made to module timestamps or other identifiers as the boards are combined.
You might use PCBMERGE to panelize boards to control manufacturing costs.
If "offsets" are required, you must apply these within the input board
files using means such as "<B>lock <M>ove ... <Edge & All>" prior to
using PCBMERGE.
==========================================================================
PCBDSC: PCB DRILL SIZE CHANGE
==========================================================================
Usage: PCBDSC <InFile> <OutFile> <OldSize> <NewSize> {Module}
<InFile> The OrCADPCB board file to be adjusted
<OutFile> The adjusted OrCADPCB board file
<OldSize> (mils) All holes CURRENTLY at this size will be adjusted
<NewSize> (mils) This will be the new size of the adjusted holes
{Module} Optional parameter: specifies that only occurrences
of holes in this MODULE TYPE will be adjusted
This utility was designed to give you a quick way to globally adjust hole
sizes in PCB layouts, without using MODMOD.
==========================================================================
PCBPSC: PCB PAD SIZE CHANGE
==========================================================================
Usage: PCBPSC <InFile> <OutFile> <OldSize> <NewSize> {Module}
<InFile> The OrCADPCB board file to be adjusted
<OutFile> The adjusted OrCADPCB board file
<OldSize> (mils) All pads CURRENTLY at this size will be adjusted
<NewSize> (mils) This will be the new size of the adjusted pads
{Module} Optional parameter: specifies that only occurrences
of pads in this MODULE TYPE will be adjusted
This utility was designed to give you a quick way to globally adjust pad
sizes in PCB layouts, without using MODMOD.
***WARNING*** The current version of PCBPSC ignores the pad shape. It
only checks the InFile's vertical dimension against OldSize, but both the
vertical and horizontal dimensions are changed to the NewSize.
This will be addressed in a future version.
==========================================================================
PCBRWA: PCB ROUTE WIDTH ADJUST UTILITY
==========================================================================
Usage: PCBRWA <InFile> <OutFile> <FrWidth> <ToWidth>
<InFile> The OrCADPCB board file to be adjusted
<OutFile> The adjusted OrCADPCB board file
<FrWidth> (mils) All route/via segments at this width will be adjusted
<ToWidth> (mils) The new width of the adjusted routes/vias
This utility changes ALL track widths, zone segment widths, and VIA
diameters which match <FrWidth>. Note that PCBRWA hits ALL layers.
A future version will support layer- and net-selective width modification.
=========================================================================
PCBMNW: PCB MODULE NAME WIPE UTILITY
=========================================================================
Usage: PCBMNW <InFile> <OutFile> <Name#>
<InFile> The OrCADPCB board file to be modified
<OutFile> The modified OrCADPCB board file
<Name#> Which module name number to wipe (clear to blanks)
1=Reference 2=Value 3..8=valid if they exist
This utility may be helpful when preparing silkscreens. By "wiping"
Name #2, a single silkscreen plot can be generated by PCB containing
outlines, reference text, and 'placed' text.
Note that if necessary, the "wiped" name field can be restored simply
by "re-<U>sing" the netlist within PCB.
========================================================================
PCBCNS: PCB CHANGE NAME SIZE
========================================================================
Usage: PCBCNS <InFile> <OutFile> <Name#> <VSize> <HSize>
<InFile> The OrCADPCB board file to be modified
<OutFile> The modified OrCADPCB board file
<Name#> Which module name number to modify
1=Reference 2=Value 3..8=valid if they exist
<VSize> (mils) The desired vertical text size for the names
<HSize> (mils) The desired horizontal text size for the names
This utility is useful when preparing silkscreens. All module text in
the given name field is changed to a uniform size.
========================================================================
PCBNC: PCB NET CLEAR UTILITY
========================================================================
Usage: PCBNC <InFile> <OutFile> <Net>
<InFile> The OrCADPCB board file to be changed
<OutFile> The changed OrCADPCB board file
<Netname> All routes/pads with this netname will be cleared to NULL
This can be useful for speeding up netlist compiles by temporarily
"clearing" dense power nets to NULL (PCB ignores such sites in compiling).
Note that no traces or pads are actually eliminated, just their netname
identification. At any time, the netlist can simply be reloaded from
within PCB to restore these nets to their original identity.
==========================================================================
PCBT2Z: Track to Zone Conversion Utility
==========================================================================
Usage: PCBT2Z <InFile> <OutFile> <FrLayer> <ToLayer> <ToNet>
<InFile> The OrCADPCB board file to be modified
<OutFile> The modified OrCADPCB board file
<FrLayer> The current layer of the tracks to be converted
<ToLayer> The desired layer for the converted zone
{ToNet} Optional NETNAME for the converted zone (default=NULL)
PCBT2Z converts ALL tracks on <FrLayer> into a single zone on <ToLayer>.
The new zone will belong to the net given in <ToNet>. The advantage of a
zone is that the tracks belonging to the zone will not be affected by
route editing operations such as <D>elete <B>lock <R>outes.
OrCAD PCBs handling of copper zones has been extremely difficult to
get a handle on. This utility was designed to allow you to initially
"paint" your own zone fills ON UNUSED LAYERS (as tracks), then convert
these tracks to actual zones using PCBT2Z.
(Hint: when painting, turn off DRC, and don't start tracks on a pad
or previously painted segment -- this minimizes 'fighting' with PCBs
ideas about how tracks may be placed.)
You might be inclined to carefully partition and name each zone area
according to the NET it should belong to, and PCBT2Z supports this.
However, over the years I have found that even real, OrCAD-created
copper zones are of limited usefulness from the standpoint of
connectivity. That is, pads which touch a zone USUALLY are not
recognized by NETLIST COMPILE as being connected, yet SOMETIMES they are.
Therefore, PCBT2Z may instructed to assign the zone a NULL netname by
omitting the <ToNet> parameter. All such zones will be COMPLETELY
IGNORED by PCB's netlist compiler (although, interestingly, they WILL
be removed by the <C>leanup function under <R>outing). As a result,
you have to be careful that you don't short together different nets
when using this procedure. On the other hand, this way you can place
zone copper EXACTLY where and how you want it.
==========================================================================
PCBZ2T: Zone to Track Conversion Utility
==========================================================================
Usage: PCBZ2T <InFile> <OutFile> <FrLayer> <ToLayer> {FrNet}
<InFile> The OrCADPCB board file to be modified
<OutFile> The modified OrCADPCB board file
<FrLayer> The current layer of the zones to be converted
<ToLayer> The desired layer for the converted tracks
{FrNet} Optional: only convert zones in FrNet (default=ALL zones)
PCBZ2T provides the 'reverse' function of PCBT2Z. All zones in the PCB
layout which match <FrLayer> (and {FrNet}, if specified) will be con-
verted to tracks with the same netname. The "new" tracks will be placed
on <ToLayer>. Useful if you need to "touch up" a zone.
=========================================================================
PCBSWL: PCB SWAP LAYER 1/2 UTILITY
=========================================================================
Usage: PCBSWL <InFile> <OutFile>
<InFile> The OrCADPCB board file to be modified
<OutFile> The modified OrCADPCB board file
PCBSWAPL exchanges all routes and "placed" silk and copper text between
PCB layers 1 and 2.
This utility is intended for use with 2 layer boards; any entities which
may exist on other layers will not be affected.
=========================================================================
PCBFLAT: PCB BOARD FLATTEN UTILITY
=========================================================================
Usage: PCBFLAT <InFile> <OutFile>
<InFile> The OrCADPCB board file to be flattened to 2 layers
<OutFile> The flattened OrCADPCB board file
This utility simply moves all entities on any ODD-numbered layer to
LAYER 1, and all entities on any EVEN numbered layer to LAYER 2. In
other words, it "flattens" the layout into 2 layers. For convenience,
it also changes the "Number of Layers" in the board file to 2.
This is useful if you use extra layers to hold copper "fill" zones while
working on a layout (see PCBT2Z/PCBZ2T utilities). As a last step before
plotting, you may use this utility to unify these elements.
========================================================================
PCBRX: PCB ROUTE EXPORT UTILITY
========================================================================
Usage: PCBRX <InFile> <OutFile> {Layer}
<InFile> The PCB layout from which to extract routes
<OutFile> Routes ONLY, extracted from <InFile>
{Layer} Optional: Only extract from this layer (default=ALL layers)
PCBRX provides you a way to export just the tracks, zones, and vias from
a PCB file, for later import into another file. Note that Vias will NOT
be included in the OutFile when a single layer is specified for export.
WARNING: <OutFile> is NOT a PCB-format file, and can not be directly
loaded by PCB! Use PCBRI (below) for IMPORTING routes into a PCB file.
========================================================================
PCBRI: PCB ROUTE IMPORT UTILITY
========================================================================
Usage: PCBRI <InFile> <OutFile> <RouteFile>
<InFile> An OrCAD/PCB board file
<OutFile> The modified PCB board file, with the new routes added
<RouteFile> File containing the routes to be added (from PCBRX)
PRI allows you to effectively IMPORT routes only into a PCB file.
After importing routes, run <N>etlist <C>ompile TWICE in PCB before
proceding with further editing.
WARNING: <RouteFile> is NOT a PCB-format file. DO NOT specify a PCB
filename! Use PCBRX to create the <RouteFile> to be imported.
If you want to merge two complete board layouts, use PCBMERGE.
==========================================================================
GERAP: GERBER "SINGLE APERTURE LIST" GENERATOR
==========================================================================
Usage: GERAP <InFile> <OutFile> <MaskGuard>
<InFile> The Aperture list output by PCB during plotting
<OutFile> A new aperture list (LSC format), with added MASK apertures
<MaskGuard> (mils) The desired size of the Solder Mask guard
*** NOTE: requires 3-digit D-code support by photoplotter ***
This utility was created to get around OrCADs akward handling of solder
masks in Gerber plots. Using GERAP, you can have ONE Aperture list for
all elements of your board. The OutFile is in LSC (Logical Systems
Corporation) format. This format is easy to read and manually edit.
GERAP reads the OrCAD "Photo Tool File" generated while plotting from
PCB. All of the apertures present in <InFile> will appear in <OutFile>.
In addition, all "flashed" apertures in <InFile> are duplicated, using
the original D-code plus 100, and increased in size by the amount given
in <MaskGuard>. For example (assuming <MaskGuard> is "10"), if <InFile>
describes "D12" as a .050 circle, <OutFile> will include the original D12,
plus "D112" as a .060 circle.
Here is the procedure I use for generating gerber plots:
1. Start PCB, and get to the PLOT menu:
-----------------------------------------------------------------
PCB xyz.pcb
<Q>uit <P>lot
2. Plot the first desired layer (other than solder masks):
-----------------------------------------------------------------
<I>tem to Plot <L>ayer <1> <A>ll <F>illed <A>uto Sel
<D>estination <D>isk
Write Photo Plotter Tool file? -> xyz.apo
Save Plot File? -> xyz.1
xyz.apo is now your working MASTER Aperture list for all
subsequent non-solder mask plots.
3. Plot additional layers/items (other than solder masks):
-----------------------------------------------------------------
<I>tem to Plot <L>ayer <2> <A>ll <F>illed <A>uto Sel
<D>estination <D>isk
Write Photo Plotter Tool file? -> [hit ENTER alone]
Save Plot File? -> xyz.2
Repeat for additional layers, silkscreens, etc. On all these
subsequent plots, always hit ENTER alone when asked about
"Write Tool file." Complete all plots before moving on to
the Solder Masks.
4. Plot first Solder Mask
-----------------------------------------------------------------
<I>tem to Plot <S>older Mask <S>older Side <F>illed <A>uto Sel
(ignore the "Mask Guard" setting -- we will set that later)
<D>estination <D>isk
Write Photo Plotter Tool file? -> trash.apo
Save Plot File? -> xyz.m1o
trash.apo becomes PCBs internal working MASTER for all
subsequent solder mask plots (actually, you will THROW AWAY
this list later -- hence the name).
5. Plot second Solder Mask (if needed):
-----------------------------------------------------------------
<I>tem to Plot <S>older Mask <S>older Side <F>illed <A>uto Sel
<D>estination <D>isk
Write Photo Plotter Tool file? -> [hit ENTER alone]
Save Plot File? -> xyz.m2o
6. Get out of PCB:
-----------------------------------------------------------------
[ESC] <Q>uit <A>bandon <Y>es
7. Build a final, MASTER aperture list covers ALL above plots:
-------------------------------------------------------------------
DOSPROMPT:> GERAP xyz.apo xyz.ap 10
The '10' on this command line specifies a 10 mil solder mask guard.
Replace this number with your desired guard size.
8. Convert Aperture references in solder mask plots to match the
MASTER aperture list:
------------------------------------------------------------------
DOSPROMPT:> MASKAP xyz.m1o xyz.m1
DOSPROMPT:> MASKAP xyz.m2o xyz.m2
9. Delete the interim files:
------------------------------------------------------------------
DOSPROMPT:> ERASE xyz.apo
DOSPROMPT:> ERASE trash.apo
DOSPROMPT:> ERASE xyz.m1o
DOSPROMPT:> ERASE xyz.m2o
10. Enjoy the following final files:
------------------------------------------------------------------
xyz.ap MASTER APERTURE LIST FOR ALL GERBER PLOTS
xyz.1 GERBER FILE for Layer 1
xyz.2 GERBER FILE for Layer 2
xyz.? GERBER FILE for additional layers/silkscreens
xyz.m GERBER FILE for Solder Mask
======================================================================
MASKAP: GERBER SOLDER MASK APERTURE CONVERTER
======================================================================
Usage: MASKAP <InFile> <OutFile>
<InFile> An original OrCAD-generated gerber plot of a solder mask
<OutFile> A new, 'GERAP-compatible' solder mask plot
*** NOTE: requires 3-digit D-code support by photoplotter ***
MASKAP scans <InFile> for all aperture select commands, and adds 100 to
any it finds. At present, works with Gerber 2.3 format only
Use with GERAP, described above.
=======================================================================
NCD2GER: NCDRILL TO GERBER CONVERTER
=======================================================================
Usage: NCD2GER <InFile> <OutFile>
<InFile> An original OrCAD-generated '/L' format NCDRILL file
<OutFile> A Gerber (2.3) file representing the NCDRILL data
*** NOTE: requires 3-digit D code support by photoplotter ***
NCD2GER reads an NCDRILL file generated with the /L switch (Excellon
Leading Zero format) and produces a Gerber 2.3 file with equivalent data.
All drills are converted to gerber flashes. T1 (tool 1) is assigned
to aperture D201, T2 to D202, etc. in the gerber file. At present, you
must manually add these apertures to your Aperture List File. Future
versions of GERAP will be able to do this automatically.
=========================================================================
More utilities in development...