之前我们介绍了关于新的17.4版本对比17.2版本在一些部分的改变和升级,接下来,我们将要进一步介绍有关17.4版本的其他功能。
我们都知道,自动化有两种主要形式,第一种:设置脚本的重复利用,只需要设置一次,然后可以通过重复利用达到相同的操作目的;第二种:你的团队自己设置的SKILL工具。
今天,我们将要讨论的是第一种形式——设置脚本的重复利用,以及从17.2升级到17.4时应该注意更改的地方。
Macro Scripts
Have
been a user of macros in the past? If so, you may have noticed an issue
replaying them in 17.2. While the replay of the macro would ask you for the
origin point to use for the script, it would always reference the original
locations from when you recorded. This makes the macro less portable.
With
17.4, the behavior is back to what you would expect. Start using your existing
macros again or record new ones that will speed up your design work (and save
your fingers) by removing the repetitive nature of certain tasks.
Important
note for those ofyou who create repeating macros – those that include the
“repeat_again”statement at the bottom: Repeat again allows you to keep running
the macro(picking a new origin each time). Since your macro isn’t running when
waitingfor your origin pick, pressing escape won’t cancel the script. When you
arefinished with a repeating script, type “return” on the command line to stop.
Make
those macros workmagic for you!
Color
/Visibility
17.2scripts
work well to change the visibility and colors of layers in your design.However,
they are not portable from one design to another when the two designsdon’t
share a common stack-up. The image below shows a 17.2 script whichchanges the
color of two layers in a design; below that is the same script, butrecorded in
17.4:
I’m sure you spotted
the difference right away. In 17.2, the script references rows and columns in
the color form’s grid. With 17.4, the scripts instead reference the layer’s
class and subclass names. 1, 1 has been exchanged for Base, Via. Because
of this, you can use the same script in a four-layer substrate and one with
twelve layers to turn off the base layer vias.
Now,
the 17.2 script will function the same in 17.4. The tool still knows where row
1, column 1 is in the table. If you have recorded scripts in 17.2 for use with
a design, there is no need to record them again. However, if you record new
scripts in 17.4, these are not backward compatible to 17.2. Boldly go forward
with your new scripts!
Speaking,
as we are, about color and visibility, this is a good segue to another change
many of you have asked for. Individual layers may be added to the visibility
tab in the “User Selected” selection. This was done for each individual design.
In 17.4, if you instead have a standard set of layers you want in this section,
and you want to avoid manually adding them in each new design start, enable the
“display_custom_vis_layers” user preference option.
The toolwill read a
file of the layers to show in this section when the variable isenabled. The
file can be in your local environment or even at the site level,allowing for a
common experience for all your users. An example of this file isshipped with
the tool and can be found in the share/pcb/examples folder. As shown below, add
the entries (inorder to be displayed) that you want to see:
If alayer, like
Not_Existing, doesn’t exist in the current design, that line willbe silently
ignored. Create a single file of the layers that are frequentlyused across all
your substrates and rely on the tool to show those that arepart of the active
drawing. Easy!
Cross-Section
Your
cross-section editingneeds may not get scripted all that much, depending on how
you initialize yourdesigns. Many design teams I talk to have technology files
for the differentstack-up variations they support, allowing them to simply
import the techfileto fully configure their cross-section (and many other
things!).
If
you do not, and insteadyou rely on scripts to initialize or tweak your layer
stack, then you will needto record your scripts again. Your 17.2 scripts won’t
replay directly in 17.4,unlike the color form updates above. See below for a
comparison of the twoscripts. This is 17.2:
… and thisis the same
script from 17.4 to perform the same operations:
Should you make a lot
ofcross-section edits in this way, you may want to consider moving to SKILL
formaking those same changes. This will free you of the need to maintain
yourscripts from release to release, while also allowing them to run faster
(the formsdon’t need to come up to be an interpreter for the changes to be made
to thedatabase).
If you aren’t familiar with SKILL and need help getting started, see the
share/pcb/examples/SKILL folder for many examples and a fulllist of the
functions available. Beyond that, there are the SKILL forums onlineand, of
course, your customer support experts. A one-time investment will saveyou time
down the road!
ConstraintManager
Our final area for thisweek is Constraint Manager. You no doubt noticed the
modern look and feel ofthe interface. Did you wonder if those changes
necessitated any updates to yourrecorded scripts? The answer is yes!
The changes are like thosefor the cross-section. Shown below, a simple script
example changes the minimumline width on a layer to 100 um from its default
value of 75 um.
The
sameactions look, by-and-large, the same in 17.4. It’s the subtle differences
whichneed to be updated in your files:
To be surethat your script is
compliant, our recommendation is to record the scriptagain. If instead, you
generate these scripts procedurally with SKILL oranother tool, then your
generator will need to be tweaked to the new standards.
Conclusions
These are the biggest areasof scripting changes to be aware of. If you are
going to maintain parallel 17.2and 17.4 development environments, be sure that
you don’t overwrite your 17.2scripts! You’ll still need them when working in
that release.
We always try to minimize changes required to scripts, as werespect that it
causes you additional work. At times, though, changes arerequired to better
support your needs. That’s the case here, with 17.4. Bearwith us. The changes
are more than worth it!