Files
oapy/tech/oaViaDef.html
2026-06-02 14:14:41 +08:00

657 lines
27 KiB
HTML

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>oaViaDef</title>
<style>
body {
margin: 0;
background: #0d0b0b;
color: #f5f1ec;
font-family: Arial, Helvetica, sans-serif;
line-height: 1.5;
}
a {
color: #f2d6c2;
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: #fff4ea;
}
.topbar {
border-bottom: 1px solid #6f3d2d;
background: #120f0f;
}
.topbar-inner {
max-width: 1440px;
margin: 0 auto;
padding: 14px 20px 10px;
}
.brand {
font-size: 28px;
font-weight: 700;
color: #fff8f2;
margin: 0 0 10px;
}
.tabs {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.tab {
display: inline-block;
padding: 6px 12px;
border: 1px solid #6f3d2d;
background: #151111;
color: #f2d6c2;
font-size: 13px;
}
.tab.active {
background: #4b2317;
font-weight: 700;
color: #fff8f2;
}
.layout {
max-width: 1440px;
margin: 0 auto;
display: grid;
grid-template-columns: 280px minmax(0, 1fr);
gap: 28px;
padding: 24px 24px 40px;
}
.sidebar {
font-size: 13px;
}
.sidebar-panel {
border: 1px solid #6f3d2d;
margin-bottom: 16px;
background: #151111;
}
.sidebar-title {
background: #2a1713;
border-bottom: 1px solid #6f3d2d;
padding: 8px 10px;
font-weight: 700;
color: #fff1e8;
}
.sidebar-body {
padding: 8px 10px;
}
.sidebar-search {
width: 100%;
box-sizing: border-box;
padding: 6px 8px;
border: 1px solid #6f3d2d;
background: #0d0b0b;
color: #f5f1ec;
font-size: 13px;
margin-bottom: 8px;
}
.sidebar-search::placeholder {
color: #c8a995;
}
.sidebar-body ul {
list-style: none;
padding: 0;
margin: 0;
}
.sidebar-body li.hidden {
display: none;
}
.active-link {
font-weight: 700;
color: #fff8f2;
}
.sidebar-body li + li {
margin-top: 6px;
}
.content {
min-width: 0;
}
.content-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 0;
align-items: start;
}
.doc {
border: 1px solid #6f3d2d;
background: #120f0f;
padding: 24px 28px 32px;
min-width: 0;
}
.toc-panel {
border: 1px solid #6f3d2d;
background: #151111;
padding: 0;
position: sticky;
top: 16px;
margin-bottom: 16px;
}
.toc-toggle {
width: 100%;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 12px 14px;
border: 0;
background: #2a1713;
color: #fff1e8;
cursor: pointer;
font-size: 14px;
font-weight: 700;
}
.toc-toggle:hover {
background: #3a1d16;
}
.toc-toggle-indicator {
font-size: 12px;
color: #d6ac96;
}
.toc-body {
display: none;
padding: 14px 16px;
}
.toc-panel.open .toc-body {
display: block;
}
.toc-panel h2 {
margin: 0 0 10px;
padding: 0;
border: 0;
font-size: 18px;
color: #fff1e8;
}
.toc-panel ul {
list-style: none;
padding: 0;
margin: 0;
}
.toc-panel li + li {
margin-top: 8px;
}
.toc-panel a {
font-size: 13px;
line-height: 1.35;
color: #f2d6c2;
}
.crumbs {
color: #c8a995;
font-size: 13px;
margin-bottom: 14px;
}
.meta {
border: 1px solid #6f3d2d;
background: #151111;
padding: 10px 12px;
margin: 16px 0 20px;
font-size: 13px;
}
.meta div + div {
margin-top: 4px;
}
.doc h1 {
margin: 0 0 8px;
font-size: 34px;
color: #fff8f2;
}
.doc h2 {
margin: 28px 0 12px;
padding-bottom: 4px;
border-bottom: 1px solid #6f3d2d;
font-size: 22px;
color: #fff1e8;
}
.doc h3 {
margin: 22px 0 10px;
font-size: 18px;
color: #f7e1d5;
}
.doc p, .doc li {
font-size: 14px;
}
.doc pre {
overflow-x: auto;
background: #0d0b0b;
border: 1px solid #6f3d2d;
padding: 12px 14px;
}
.doc code {
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
font-size: 12px;
overflow-wrap: anywhere;
word-break: break-word;
color: #f7e1d5;
}
.doc table {
width: 100%;
border-collapse: collapse;
margin: 12px 0 18px;
font-size: 13px;
table-layout: fixed;
}
.doc th, .doc td {
border: 1px solid #6f3d2d;
padding: 7px 9px;
vertical-align: top;
text-align: left;
overflow-wrap: anywhere;
word-break: break-word;
}
.doc th {
background: #2a1713;
color: #fff1e8;
}
.doc blockquote {
margin: 14px 0;
padding: 8px 12px;
border-left: 4px solid #8a4a36;
background: #151111;
color: #f2d6c2;
}
.search-panel {
border: 1px solid #6f3d2d;
background: #151111;
padding: 16px 18px;
margin-bottom: 20px;
}
.search-panel input {
width: 100%;
box-sizing: border-box;
padding: 8px 10px;
border: 1px solid #6f3d2d;
background: #0d0b0b;
color: #f5f1ec;
font-size: 14px;
}
.search-panel input::placeholder {
color: #c8a995;
}
.search-results {
list-style: none;
padding: 0;
margin: 16px 0 0;
}
.search-results li {
border-top: 1px solid #4b2317;
padding: 10px 0;
}
.search-results li.hidden {
display: none;
}
.search-results a {
font-weight: 700;
}
.search-results .module-tag {
display: inline-block;
margin-left: 8px;
padding: 2px 6px;
border: 1px solid #8a4a36;
background: #2a1713;
color: #f2d6c2;
font-size: 12px;
}
.search-results .result-path {
margin-top: 4px;
color: #c8a995;
font-size: 12px;
}
.footer {
max-width: 1440px;
margin: 0 auto;
padding: 0 20px 28px;
color: #b89481;
font-size: 12px;
}
.doc > * {
min-width: 0;
}
@media (max-width: 960px) {
.layout {
grid-template-columns: 1fr;
}
.content-grid {
grid-template-columns: 1fr;
}
.toc-panel {
position: static;
}
}
</style>
</head>
<body>
<div class="topbar">
<div class="topbar-inner">
<div class="brand"><a href="../index.html">AIVI / oapy API 中文文档</a></div>
<div class="tabs"><a class="tab" href="../base/index.html">base</a><a class="tab" href="../common/index.html">common</a><a class="tab" href="../cms/index.html">cms</a><a class="tab" href="../dm/index.html">dm</a><a class="tab" href="../design/index.html">design</a><a class="tab active" href="../tech/index.html">tech</a><a class="tab" href="../wafer/index.html">wafer</a></div>
</div>
</div>
<div class="layout">
<aside class="sidebar"><div class="sidebar-panel"><div class="sidebar-title">模块</div><div class="sidebar-body"><ul><li><a href="../classes.html">全部类</a></li><li><a href="../base/index.html">base</a></li><li><a href="../common/index.html">common</a></li><li><a href="../cms/index.html">cms</a></li><li><a href="../dm/index.html">dm</a></li><li><a href="../design/index.html">design</a></li><li><a class="active-link" href="../tech/index.html">tech</a></li><li><a href="../wafer/index.html">wafer</a></li></ul></div></div><div class="sidebar-panel"><div class="sidebar-title">tech 类</div><div class="sidebar-body"><input class="sidebar-search" type="search" placeholder="筛选类" data-class-filter><ul><li data-class-item data-class-name="oaanalysislib"><a href="oaAnalysisLib.html">oaAnalysisLib</a></li><li data-class-item data-class-name="oaantennaarea"><a href="oaAntennaArea.html">oaAntennaArea</a></li><li data-class-item data-class-name="oaantennaareaarray"><a href="oaAntennaAreaArray.html">oaAntennaAreaArray</a></li><li data-class-item data-class-name="oaantennadata"><a href="oaAntennaData.html">oaAntennaData</a></li><li data-class-item data-class-name="oaantennamodel"><a href="oaAntennaModel.html">oaAntennaModel</a></li><li data-class-item data-class-name="oaantennaratioarrayvalue"><a href="oaAntennaRatioArrayValue.html">oaAntennaRatioArrayValue</a></li><li data-class-item data-class-name="oaantennaratiovalue"><a href="oaAntennaRatioValue.html">oaAntennaRatioValue</a></li><li data-class-item data-class-name="oaarraysitedef"><a href="oaArraySiteDef.html">oaArraySiteDef</a></li><li data-class-item data-class-name="oaclearancemeasure"><a href="oaClearanceMeasure.html">oaClearanceMeasure</a></li><li data-class-item data-class-name="oacustomviadef"><a href="oaCustomViaDef.html">oaCustomViaDef</a></li><li data-class-item data-class-name="oacustomviavariant"><a href="oaCustomViaVariant.html">oaCustomViaVariant</a></li><li data-class-item data-class-name="oaderivedlayer"><a href="oaDerivedLayer.html">oaDerivedLayer</a></li><li data-class-item data-class-name="oaderivedlayerconnectivitytype"><a href="oaDerivedLayerConnectivityType.html">oaDerivedLayerConnectivityType</a></li><li data-class-item data-class-name="oaderivedlayerdef"><a href="oaDerivedLayerDef.html">oaDerivedLayerDef</a></li><li data-class-item data-class-name="oaderivedlayerparam"><a href="oaDerivedLayerParam.html">oaDerivedLayerParam</a></li><li data-class-item data-class-name="oaderivedlayerparamarray"><a href="oaDerivedLayerParamArray.html">oaDerivedLayerParamArray</a></li><li data-class-item data-class-name="oaderivedlayerparamdef"><a href="oaDerivedLayerParamDef.html">oaDerivedLayerParamDef</a></li><li data-class-item data-class-name="oaderivedlayerparamtype"><a href="oaDerivedLayerParamType.html">oaDerivedLayerParamType</a></li><li data-class-item data-class-name="oalayer"><a href="oaLayer.html">oaLayer</a></li><li data-class-item data-class-name="oalayerarray"><a href="oaLayerArray.html">oaLayerArray</a></li><li data-class-item data-class-name="oalayerarrayconstraint"><a href="oaLayerArrayConstraint.html">oaLayerArrayConstraint</a></li><li data-class-item data-class-name="oalayerarrayvalue"><a href="oaLayerArrayValue.html">oaLayerArrayValue</a></li><li data-class-item data-class-name="oalayerconstraint"><a href="oaLayerConstraint.html">oaLayerConstraint</a></li><li data-class-item data-class-name="oalayernamearray"><a href="oaLayerNameArray.html">oaLayerNameArray</a></li><li data-class-item data-class-name="oalayerop"><a href="oaLayerOp.html">oaLayerOp</a></li><li data-class-item data-class-name="oalayerpairconstraint"><a href="oaLayerPairConstraint.html">oaLayerPairConstraint</a></li><li data-class-item data-class-name="oalayervalue"><a href="oaLayerValue.html">oaLayerValue</a></li><li data-class-item data-class-name="oamaterial"><a href="oaMaterial.html">oaMaterial</a></li><li data-class-item data-class-name="oaoppoint"><a href="oaOpPoint.html">oaOpPoint</a></li><li data-class-item data-class-name="oaphysicallayer"><a href="oaPhysicalLayer.html">oaPhysicalLayer</a></li><li data-class-item data-class-name="oaprefroutingdir"><a href="oaPrefRoutingDir.html">oaPrefRoutingDir</a></li><li data-class-item data-class-name="oapurpose"><a href="oaPurpose.html">oaPurpose</a></li><li data-class-item data-class-name="oapurposearray"><a href="oaPurposeArray.html">oaPurposeArray</a></li><li data-class-item data-class-name="oapurposetype"><a href="oaPurposeType.html">oaPurposeType</a></li><li data-class-item data-class-name="oapurposevalue"><a href="oaPurposeValue.html">oaPurposeValue</a></li><li data-class-item data-class-name="oascalarsitedef"><a href="oaScalarSiteDef.html">oaScalarSiteDef</a></li><li data-class-item data-class-name="oasitedef"><a href="oaSiteDef.html">oaSiteDef</a></li><li data-class-item data-class-name="oasitedeftype"><a href="oaSiteDefType.html">oaSiteDefType</a></li><li data-class-item data-class-name="oasitepattern"><a href="oaSitePattern.html">oaSitePattern</a></li><li data-class-item data-class-name="oasiteref"><a href="oaSiteRef.html">oaSiteRef</a></li><li data-class-item data-class-name="oasizeop"><a href="oaSizeOp.html">oaSizeOp</a></li><li data-class-item data-class-name="oasizedlayer"><a href="oaSizedLayer.html">oaSizedLayer</a></li><li data-class-item data-class-name="oastdviadef"><a href="oaStdViaDef.html">oaStdViaDef</a></li><li data-class-item data-class-name="oastdviavariant"><a href="oaStdViaVariant.html">oaStdViaVariant</a></li><li data-class-item data-class-name="oatech"><a href="oaTech.html">oaTech</a></li><li data-class-item data-class-name="oatecharray"><a href="oaTechArray.html">oaTechArray</a></li><li data-class-item data-class-name="oatechconflicttype"><a href="oaTechConflictType.html">oaTechConflictType</a></li><li data-class-item data-class-name="oatechdatatype"><a href="oaTechDataType.html">oaTechDataType</a></li><li data-class-item data-class-name="oatecherror"><a href="oaTechError.html">oaTechError</a></li><li data-class-item data-class-name="oatechexception"><a href="oaTechException.html">oaTechException</a></li><li data-class-item data-class-name="oatechheader"><a href="oaTechHeader.html">oaTechHeader</a></li><li data-class-item data-class-name="oatechheaderarray"><a href="oaTechHeaderArray.html">oaTechHeaderArray</a></li><li data-class-item data-class-name="oatechlayerheader"><a href="oaTechLayerHeader.html">oaTechLayerHeader</a></li><li data-class-item data-class-name="oatechobject"><a href="oaTechObject.html">oaTechObject</a></li><li data-class-item data-class-name="oatechundoobserver"><a href="oaTechUndoObserver.html">oaTechUndoObserver</a></li><li data-class-item data-class-name="oatechundoobserverbase"><a href="oaTechUndoObserverBase.html">oaTechUndoObserverBase</a></li><li data-class-item data-class-name="oatechviadefheader"><a href="oaTechViaDefHeader.html">oaTechViaDefHeader</a></li><li data-class-item data-class-name="oatechviavariantheader"><a href="oaTechViaVariantHeader.html">oaTechViaVariantHeader</a></li><li data-class-item data-class-name="oauserunitstype"><a href="oaUserUnitsType.html">oaUserUnitsType</a></li><li data-class-item data-class-name="oaviadef"><a class="active-link" href="oaViaDef.html">oaViaDef</a></li><li data-class-item data-class-name="oaviadef2dtblvalue"><a href="oaViaDef2DTblValue.html">oaViaDef2DTblValue</a></li><li data-class-item data-class-name="oaviadefarray"><a href="oaViaDefArray.html">oaViaDefArray</a></li><li data-class-item data-class-name="oaviadefarrayvalue"><a href="oaViaDefArrayValue.html">oaViaDefArrayValue</a></li><li data-class-item data-class-name="oaviadefnamearray"><a href="oaViaDefNameArray.html">oaViaDefNameArray</a></li><li data-class-item data-class-name="oaviaparam"><a href="oaViaParam.html">oaViaParam</a></li><li data-class-item data-class-name="oaviaparamtype"><a href="oaViaParamType.html">oaViaParamType</a></li><li data-class-item data-class-name="oaviaspec"><a href="oaViaSpec.html">oaViaSpec</a></li><li data-class-item data-class-name="oaviatopology"><a href="oaViaTopology.html">oaViaTopology</a></li><li data-class-item data-class-name="oaviatopology2dtblvalue"><a href="oaViaTopology2DTblValue.html">oaViaTopology2DTblValue</a></li><li data-class-item data-class-name="oaviatopologyarray"><a href="oaViaTopologyArray.html">oaViaTopologyArray</a></li><li data-class-item data-class-name="oaviatopologyarrayvalue"><a href="oaViaTopologyArrayValue.html">oaViaTopologyArrayValue</a></li><li data-class-item data-class-name="oaviatopologytype"><a href="oaViaTopologyType.html">oaViaTopologyType</a></li><li data-class-item data-class-name="oaviavariant"><a href="oaViaVariant.html">oaViaVariant</a></li><li data-class-item data-class-name="oaviavariantheader"><a href="oaViaVariantHeader.html">oaViaVariantHeader</a></li></ul></div></div></aside>
<main class="content">
<div class="content-grid">
<div class="doc">
<div class="crumbs"><a href="../index.html">首页</a> / <a href="index.html">tech</a> / oaViaDef</div>
<h1 id="oaviadef">oaViaDef</h1>
<p><strong>模块</strong>: <code>oapy._oa._tech</code>
<strong>导入</strong>: <code>from oapy._oa import _tech</code></p>
<h2 id="_1">概览</h2>
<p><code>oaViaDef</code><code>oapy</code> 中可用,可通过 <code>_tech</code> 模块访问。</p>
<p>本页汇总 <code>oaViaDef</code> 当前在 <code>oapy</code> 中可用的 Python 接口。</p>
<h2 id="_2">详细说明</h2>
<p>The oaViaDef class implements an oaViaDef object。 An oaViaDef object defines a via design in a technology database。 A via in a route must point to an oaViaDef object in the technology database associated with the design where the route resides。 The oaViaDef class can be observed by deriving from oaObserver<oaViaDef> 。 For information about creating oaViaDef objects and using them in the creation of vias, refer to Representing Vias in OpenAccess in the Programmers Guide。</p>
<h2 id="_3">方法总览</h2>
<table>
<thead>
<tr>
<th>状态</th>
<th>Python 调用</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td><code>obj.destroy()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getName(name)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getLayers(layer1, layer2)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getLayer1()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getLayer2()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getLayer1Num()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getLayer2Num()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getResistancePerCut()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.hasLayer(layerNum)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.setResistancePerCut(resPerCut)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getUsedIn()</code></td>
</tr>
<tr>
<td></td>
<td><code>_tech.oaViaDef.find(tech, name)</code></td>
</tr>
<tr>
<td></td>
<td><code>_tech.oaViaDef.find(tech, name, local)</code></td>
</tr>
</tbody>
</table>
<h2 id="_4">方法说明</h2>
<h3 id="objdestroy"><code>obj.destroy()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.destroy()</code></p>
<p>This function destroys this viaDef, removing it from the technology database。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.destroy()
</code></pre>
<h3 id="objgetnamename"><code>obj.getName(name)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getName(name)</code></p>
<p>This function fills out name with the name of this viaDef。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.getName(name)
</code></pre>
<h3 id="objgetlayerslayer1-layer2"><code>obj.getLayers(layer1, layer2)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getLayers(layer1, layer2)</code></p>
<p>This function fills out layer1 and layer2 with the physical layers associated with this viaDef object。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.getLayers(layer1, layer2)
</code></pre>
<h3 id="objgetlayer1"><code>obj.getLayer1()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getLayer1()</code></p>
<p>This function returns the first layer associated with this viaDef。 To get the layer1 number associated with this viaDef even if the tech database containing the layer is unbound, refer to getLayer1Num 。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.getLayer1()
</code></pre>
<h3 id="objgetlayer2"><code>obj.getLayer2()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getLayer2()</code></p>
<p>This function returns the second layer associated with this viaDef。 To get the layer2 number associated with this viaDef even if the tech database containing the layer is unbound, refer to getLayer2Num 。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.getLayer2()
</code></pre>
<h3 id="objgetlayer1num"><code>obj.getLayer1Num()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getLayer1Num()</code></p>
<p>This function returns the layer1 number associated with this viaDef, even if the tech database containing the layer is unbound。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.getLayer1Num()
</code></pre>
<h3 id="objgetlayer2num"><code>obj.getLayer2Num()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getLayer2Num()</code></p>
<p>This function returns the layer2 number associated with this viaDef, even if the tech database containing the layer is unbound。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.getLayer2Num()
</code></pre>
<h3 id="objgetresistancepercut"><code>obj.getResistancePerCut()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getResistancePerCut()</code></p>
<p>This function returns the resistancePerCut attribute on this viaDef。 The oaFloat return value specifies resistance in Ohms。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.getResistancePerCut()
</code></pre>
<h3 id="objhaslayerlayernum"><code>obj.hasLayer(layerNum)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.hasLayer(layerNum)</code></p>
<p>This function returns a boolean value that indicates if this viaDef is associated with the layer of the specified layer number。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.hasLayer(layerNum)
</code></pre>
<h3 id="objsetresistancepercutrespercut"><code>obj.setResistancePerCut(resPerCut)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.setResistancePerCut(resPerCut)</code></p>
<p>This function sets the resistancePerCut attribute on this viaDef。 The resPerCut value should be specified in Ohms。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.setResistancePerCut(resPerCut)
</code></pre>
<h3 id="objgetusedin"><code>obj.getUsedIn()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getUsedIn()</code></p>
<p>This function returns a collection of viaHeaders in all open designs that refer to this viaDef object。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
# assume obj is a oaViaDef
obj.getUsedIn()
</code></pre>
<h3 id="_techoaviadeffindtech-name"><code>_tech.oaViaDef.find(tech, name)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>_tech.oaViaDef.find(tech, name)</code></p>
<p>This function searches for a viaDef with the specified name。 The local argument specifies whether (if true) to look only in the specified technology database or (if false) to look in the specified technology database and all of its referenced databases。 If found, the viaDef is returned, otherwise NULL is returned。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>tech</code>: The technology database to search。</li>
<li><code>name</code>: Name of the viaDef to find。</li>
<li><code>local</code>: Specifies whether (if true) to look only in the specified technology database or (if false) to look in the specified technology database and all of its referenced databases。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
_tech.oaViaDef.find(tech, name)
</code></pre>
<h3 id="_techoaviadeffindtech-name-local"><code>_tech.oaViaDef.find(tech, name, local)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>_tech.oaViaDef.find(tech, name, local)</code></p>
<p>This function searches the technology database for a viaDef with the specified name。 If the specified technology database references other technology databases, those are searched as well and the first matching viaDef is returned。 To find a viaDef in the current technology database only, refer to the find overload that accepts the local argument。 This function returns the viaDef, if found。 Otherwise, NULL is returned。 Refer to Incremental Technology Databases in the Using Technology Databases section of the Programmers Guide for more information about referenced tech databases。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>tech</code>: Tech database to search。</li>
<li><code>name</code>: Name of the viaDef to find。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _tech
_tech.oaViaDef.find(tech, name, local)
</code></pre>
</div>
<aside class="toc-panel"><button class="toc-toggle" type="button" data-toc-toggle aria-expanded="false"><span>方法</span><span class="toc-toggle-indicator">展开</span></button><div class="toc-body"><h2>方法</h2><ul><li><a href="#obj-destroy"><code>obj.destroy()</code></a></li><li><a href="#obj-getname-name"><code>obj.getName(name)</code></a></li><li><a href="#obj-getlayers-layer1-layer2"><code>obj.getLayers(layer1, layer2)</code></a></li><li><a href="#obj-getlayer1"><code>obj.getLayer1()</code></a></li><li><a href="#obj-getlayer2"><code>obj.getLayer2()</code></a></li><li><a href="#obj-getlayer1num"><code>obj.getLayer1Num()</code></a></li><li><a href="#obj-getlayer2num"><code>obj.getLayer2Num()</code></a></li><li><a href="#obj-getresistancepercut"><code>obj.getResistancePerCut()</code></a></li><li><a href="#obj-haslayer-layernum"><code>obj.hasLayer(layerNum)</code></a></li><li><a href="#obj-setresistancepercut-respercut"><code>obj.setResistancePerCut(resPerCut)</code></a></li><li><a href="#obj-getusedin"><code>obj.getUsedIn()</code></a></li><li><a href="#tech-oaviadef-find-tech-name"><code>_tech.oaViaDef.find(tech, name)</code></a></li><li><a href="#tech-oaviadef-find-tech-name-local"><code>_tech.oaViaDef.find(tech, name, local)</code></a></li></ul></div></aside>
</div>
</main>
</div>
<div class="footer">oapy 是 AIVI 项目的一部分。此站点提供当前 oapy Python API 的中文文档。</div>
<script>
document.addEventListener("DOMContentLoaded", () => {
const input = document.querySelector("[data-class-filter]");
if (input) {
input.addEventListener("input", () => {
const term = input.value.trim().toLowerCase();
document.querySelectorAll("[data-class-item]").forEach((item) => {
const name = item.getAttribute("data-class-name") || "";
item.classList.toggle("hidden", term && !name.includes(term));
});
});
}
const globalInput = document.querySelector("[data-global-search]");
if (globalInput) {
globalInput.addEventListener("input", () => {
const term = globalInput.value.trim().toLowerCase();
document.querySelectorAll("[data-search-item]").forEach((item) => {
const name = item.getAttribute("data-search-name") || "";
const module = item.getAttribute("data-search-module") || "";
const visible = !term || name.includes(term) || module.includes(term);
item.classList.toggle("hidden", !visible);
});
});
}
document.querySelectorAll("[data-toc-toggle]").forEach((button) => {
button.addEventListener("click", () => {
const panel = button.closest(".toc-panel");
if (!panel) return;
const isOpen = panel.classList.toggle("open");
button.setAttribute("aria-expanded", isOpen ? "true" : "false");
const indicator = button.querySelector(".toc-toggle-indicator");
if (indicator) {
indicator.textContent = isOpen ? "Hide" : "Show";
}
});
});
});
</script>
</body>
</html>