664 lines
24 KiB
HTML
664 lines
24 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>oaCMProtocol</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 active" 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" 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 class="active-link" 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 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">cms 类</div><div class="sidebar-body"><input class="sidebar-search" type="search" placeholder="筛选类" data-class-filter><ul><li data-class-item data-class-name="oaattributechangerec"><a href="oaAttributeChangeRec.html">oaAttributeChangeRec</a></li><li data-class-item data-class-name="oacmattr"><a href="oaCMAttr.html">oaCMAttr</a></li><li data-class-item data-class-name="oacmattrarray"><a href="oaCMAttrArray.html">oaCMAttrArray</a></li><li data-class-item data-class-name="oacmdatabaseref"><a href="oaCMDatabaseRef.html">oaCMDatabaseRef</a></li><li data-class-item data-class-name="oacmdatabasetbl"><a href="oaCMDatabaseTbl.html">oaCMDatabaseTbl</a></li><li data-class-item data-class-name="oacmerror"><a href="oaCMError.html">oaCMError</a></li><li data-class-item data-class-name="oacmexception"><a href="oaCMException.html">oaCMException</a></li><li data-class-item data-class-name="oacmobjectidref"><a href="oaCMObjectIDRef.html">oaCMObjectIDRef</a></li><li data-class-item data-class-name="oacmobjectref"><a href="oaCMObjectRef.html">oaCMObjectRef</a></li><li data-class-item data-class-name="oacmobjectreftbl"><a href="oaCMObjectRefTbl.html">oaCMObjectRefTbl</a></li><li data-class-item data-class-name="oacmobjectstateentry"><a href="oaCMObjectStateEntry.html">oaCMObjectStateEntry</a></li><li data-class-item data-class-name="oacmobjectstateref"><a href="oaCMObjectStateRef.html">oaCMObjectStateRef</a></li><li data-class-item data-class-name="oacmobjectstatetbl"><a href="oaCMObjectStateTbl.html">oaCMObjectStateTbl</a></li><li data-class-item data-class-name="oacmobjectvisitor"><a href="oaCMObjectVisitor.html">oaCMObjectVisitor</a></li><li data-class-item data-class-name="oacmprotocol"><a class="active-link" href="oaCMProtocol.html">oaCMProtocol</a></li><li data-class-item data-class-name="oacmprotocolarray"><a href="oaCMProtocolArray.html">oaCMProtocolArray</a></li><li data-class-item data-class-name="oacmstringentry"><a href="oaCMStringEntry.html">oaCMStringEntry</a></li><li data-class-item data-class-name="oacmstringtbl"><a href="oaCMStringTbl.html">oaCMStringTbl</a></li><li data-class-item data-class-name="oachangemgr"><a href="oaChangeMgr.html">oaChangeMgr</a></li><li data-class-item data-class-name="oachangerec"><a href="oaChangeRec.html">oaChangeRec</a></li><li data-class-item data-class-name="oachangerecvisitor"><a href="oaChangeRecVisitor.html">oaChangeRecVisitor</a></li><li data-class-item data-class-name="oachangeset"><a href="oaChangeSet.html">oaChangeSet</a></li><li data-class-item data-class-name="oachangesetbase"><a href="oaChangeSetBase.html">oaChangeSetBase</a></li><li data-class-item data-class-name="oachangesetobserver"><a href="oaChangeSetObserver.html">oaChangeSetObserver</a></li><li data-class-item data-class-name="oachangesetvisitor"><a href="oaChangeSetVisitor.html">oaChangeSetVisitor</a></li><li data-class-item data-class-name="oaconvertobjectchangerec"><a href="oaConvertObjectChangeRec.html">oaConvertObjectChangeRec</a></li><li data-class-item data-class-name="oacreate1to1relationshipchangerec"><a href="oaCreate1to1RelationshipChangeRec.html">oaCreate1to1RelationshipChangeRec</a></li><li data-class-item data-class-name="oacreate1tonrelationshipchangerec"><a href="oaCreate1toNRelationshipChangeRec.html">oaCreate1toNRelationshipChangeRec</a></li><li data-class-item data-class-name="oacreate2dtablerelationshipchangerec"><a href="oaCreate2DTableRelationshipChangeRec.html">oaCreate2DTableRelationshipChangeRec</a></li><li data-class-item data-class-name="oacreateobjectchangerec"><a href="oaCreateObjectChangeRec.html">oaCreateObjectChangeRec</a></li><li data-class-item data-class-name="oacreaterelationshipchangerec"><a href="oaCreateRelationshipChangeRec.html">oaCreateRelationshipChangeRec</a></li><li data-class-item data-class-name="oadestroy1to1relationshipchangerec"><a href="oaDestroy1to1RelationshipChangeRec.html">oaDestroy1to1RelationshipChangeRec</a></li><li data-class-item data-class-name="oadestroy1tonrelationshipchangerec"><a href="oaDestroy1toNRelationshipChangeRec.html">oaDestroy1toNRelationshipChangeRec</a></li><li data-class-item data-class-name="oadestroy2dtablerelationshipchangerec"><a href="oaDestroy2DTableRelationshipChangeRec.html">oaDestroy2DTableRelationshipChangeRec</a></li><li data-class-item data-class-name="oadestroyobjectchangerec"><a href="oaDestroyObjectChangeRec.html">oaDestroyObjectChangeRec</a></li><li data-class-item data-class-name="oadestroyrelationshipchangerec"><a href="oaDestroyRelationshipChangeRec.html">oaDestroyRelationshipChangeRec</a></li><li data-class-item data-class-name="oaexportmarkerchangerec"><a href="oaExportMarkerChangeRec.html">oaExportMarkerChangeRec</a></li><li data-class-item data-class-name="oahierchangerec"><a href="oaHierChangeRec.html">oaHierChangeRec</a></li><li data-class-item data-class-name="oamarkerchangerec"><a href="oaMarkerChangeRec.html">oaMarkerChangeRec</a></li><li data-class-item data-class-name="oamarkerchangerectype"><a href="oaMarkerChangeRecType.html">oaMarkerChangeRecType</a></li><li data-class-item data-class-name="oaobjectchangerec"><a href="oaObjectChangeRec.html">oaObjectChangeRec</a></li><li data-class-item data-class-name="oarelationshipchangerec"><a href="oaRelationshipChangeRec.html">oaRelationshipChangeRec</a></li><li data-class-item data-class-name="oasetattributechangerec"><a href="oaSetAttributeChangeRec.html">oaSetAttributeChangeRec</a></li><li data-class-item data-class-name="oatransientmarkerchangerec"><a href="oaTransientMarkerChangeRec.html">oaTransientMarkerChangeRec</a></li><li data-class-item data-class-name="oaunsetattributechangerec"><a href="oaUnsetAttributeChangeRec.html">oaUnsetAttributeChangeRec</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">cms</a> / oaCMProtocol</div>
|
|
<h1 id="oacmprotocol">oaCMProtocol</h1>
|
|
<p><strong>模块</strong>: <code>oapy._oa._cms</code>
|
|
<strong>导入</strong>: <code>from oapy._oa import _cms</code></p>
|
|
<h2 id="_1">概览</h2>
|
|
<p><code>oaCMProtocol</code> 在 <code>oapy</code> 中可用,可通过 <code>_cms</code> 模块访问。</p>
|
|
<p>本页汇总 <code>oaCMProtocol</code> 当前在 <code>oapy</code> 中可用的 Python 接口。</p>
|
|
<h2 id="_2">详细说明</h2>
|
|
<p>The oaCMProtocol class defines a specific protocol for use by a plug-in。 A protocol has a name, plug-in name, and optional arrays of fixed and modifiable attributes。 The oaCMProtocol class is used to construct an oaCMProtocolArray , which represents the array of oaCMProtocols supported by a plug-in and available for selection by an application。</p>
|
|
<h2 id="_3">构造函数</h2>
|
|
<h3 id="_cmsoacmprotocol"><code>_cms.oaCMProtocol()</code></h3>
|
|
<pre><code class="language-python">obj = _cms.oaCMProtocol()
|
|
</code></pre>
|
|
<h3 id="_cmsoacmprotocolnamein-pluginnamein"><code>_cms.oaCMProtocol(nameIn, plugInNameIn)</code></h3>
|
|
<pre><code class="language-python">obj = _cms.oaCMProtocol(nameIn, plugInNameIn)
|
|
</code></pre>
|
|
<h3 id="_cmsoacmprotocolnamein-pluginnamein-fixedattrsin-modattrsin"><code>_cms.oaCMProtocol(nameIn, plugInNameIn, fixedAttrsIn, modAttrsIn)</code></h3>
|
|
<pre><code class="language-python">obj = _cms.oaCMProtocol(nameIn, plugInNameIn, fixedAttrsIn, modAttrsIn)
|
|
</code></pre>
|
|
<h3 id="_cmsoacmprotocolprotocolin"><code>_cms.oaCMProtocol(protocolIn)</code></h3>
|
|
<pre><code class="language-python">obj = _cms.oaCMProtocol(protocolIn)
|
|
</code></pre>
|
|
<h2 id="_4">方法总览</h2>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>状态</th>
|
|
<th>Python 调用</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.getName()</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.getPlugInName()</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.getFixedAttrs()</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.getModAttrs()</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.setFixedAttrs(arrayIn)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.setModAttrs(arrayIn)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.hasUnsetAttrs()</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.match(protoIn)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.findAttr(name)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.operator=(rhs)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.operator==(rhs)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td>✅</td>
|
|
<td><code>obj.operator!=(rhs)</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h2 id="_5">方法说明</h2>
|
|
<h3 id="objgetname"><code>obj.getName()</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.getName()</code></p>
|
|
<p>This function returns the name of this protocol。</p>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.getName()
|
|
</code></pre>
|
|
<h3 id="objgetpluginname"><code>obj.getPlugInName()</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.getPlugInName()</code></p>
|
|
<p>This function returns this protocol's plug-in name。</p>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.getPlugInName()
|
|
</code></pre>
|
|
<h3 id="objgetfixedattrs"><code>obj.getFixedAttrs()</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.getFixedAttrs()</code></p>
|
|
<p>This function returns this protocol's fixed attributes array。</p>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.getFixedAttrs()
|
|
</code></pre>
|
|
<h3 id="objgetmodattrs"><code>obj.getModAttrs()</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.getModAttrs()</code></p>
|
|
<p>This function returns this protocol's modifiable attributes array。</p>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.getModAttrs()
|
|
</code></pre>
|
|
<h3 id="objsetfixedattrsarrayin"><code>obj.setFixedAttrs(arrayIn)</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.setFixedAttrs(arrayIn)</code></p>
|
|
<p>This function sets the fixed-attributes array of arrayIn on this protocol。 The arrayIn array must not have any attributes with unset values。</p>
|
|
<p><strong>参数</strong></p>
|
|
<ul>
|
|
<li><code>arrayIn</code>: The fixed-attributes array to set on this protocol。</li>
|
|
</ul>
|
|
<p><strong>异常</strong></p>
|
|
<ul>
|
|
<li><code>oacCMUnsetAttributesNotAllowed</code>。</li>
|
|
</ul>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.setFixedAttrs(arrayIn)
|
|
</code></pre>
|
|
<h3 id="objsetmodattrsarrayin"><code>obj.setModAttrs(arrayIn)</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.setModAttrs(arrayIn)</code></p>
|
|
<p>This function sets the modifiable-attributes array of arrayIn on this protocol。</p>
|
|
<p><strong>参数</strong></p>
|
|
<ul>
|
|
<li><code>arrayIn</code>: The modifiable-attributes array to set on this protocol。</li>
|
|
</ul>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.setModAttrs(arrayIn)
|
|
</code></pre>
|
|
<h3 id="objhasunsetattrs"><code>obj.hasUnsetAttrs()</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.hasUnsetAttrs()</code></p>
|
|
<p>Returns true if at least one of the modifiable attributes of this protocol does not have its value set。</p>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.hasUnsetAttrs()
|
|
</code></pre>
|
|
<h3 id="objmatchprotoin"><code>obj.match(protoIn)</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.match(protoIn)</code></p>
|
|
<p>This function matches this protocol to the specified protoIn and returns true if their names, plug-in names, fixed attribute names and values, and the number and names of modifiable attributes are the same。 It returns false otherwise。</p>
|
|
<p><strong>参数</strong></p>
|
|
<ul>
|
|
<li><code>protoIn</code>: The protocol to match with this protocol。</li>
|
|
</ul>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.match(protoIn)
|
|
</code></pre>
|
|
<h3 id="objfindattrname"><code>obj.findAttr(name)</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.findAttr(name)</code></p>
|
|
<p>This function finds the attribute that matches the specified name。 First, the fixed attribute array is searched; then the modifiable attribute array is searched。 NULL is returned if the named attributed is not found in either array。</p>
|
|
<p><strong>参数</strong></p>
|
|
<ul>
|
|
<li><code>name</code>: The name of attribute to find。</li>
|
|
</ul>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.findAttr(name)
|
|
</code></pre>
|
|
<h3 id="objoperatorrhs"><code>obj.operator=(rhs)</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.operator=(rhs)</code></p>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.operator=(rhs)
|
|
</code></pre>
|
|
<h3 id="objoperatorrhs_1"><code>obj.operator==(rhs)</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.operator==(rhs)</code></p>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.operator==(rhs)
|
|
</code></pre>
|
|
<h3 id="objoperatorrhs_2"><code>obj.operator!=(rhs)</code></h3>
|
|
<p><strong>绑定状态</strong>: 已绑定</p>
|
|
<p><strong>Python 调用</strong>: <code>obj.operator!=(rhs)</code></p>
|
|
<p><strong>Python 示例</strong></p>
|
|
<pre><code class="language-python">from oapy._oa import _cms
|
|
|
|
# assume obj is a oaCMProtocol
|
|
obj.operator!=(rhs)
|
|
</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="#cms-oacmprotocol"><code>_cms.oaCMProtocol()</code></a></li><li><a href="#cms-oacmprotocol-namein-pluginnamein"><code>_cms.oaCMProtocol(nameIn, plugInNameIn)</code></a></li><li><a href="#cms-oacmprotocol-namein-pluginnamein-fixedattrsin-modattrsin"><code>_cms.oaCMProtocol(nameIn, plugInNameIn, fixedAttrsIn, modAttrsIn)</code></a></li><li><a href="#cms-oacmprotocol-protocolin"><code>_cms.oaCMProtocol(protocolIn)</code></a></li><li><a href="#obj-getname"><code>obj.getName()</code></a></li><li><a href="#obj-getpluginname"><code>obj.getPlugInName()</code></a></li><li><a href="#obj-getfixedattrs"><code>obj.getFixedAttrs()</code></a></li><li><a href="#obj-getmodattrs"><code>obj.getModAttrs()</code></a></li><li><a href="#obj-setfixedattrs-arrayin"><code>obj.setFixedAttrs(arrayIn)</code></a></li><li><a href="#obj-setmodattrs-arrayin"><code>obj.setModAttrs(arrayIn)</code></a></li><li><a href="#obj-hasunsetattrs"><code>obj.hasUnsetAttrs()</code></a></li><li><a href="#obj-match-protoin"><code>obj.match(protoIn)</code></a></li><li><a href="#obj-findattr-name"><code>obj.findAttr(name)</code></a></li><li><a href="#obj-operator-rhs"><code>obj.operator=(rhs)</code></a></li><li><a href="#obj-operator-rhs"><code>obj.operator==(rhs)</code></a></li><li><a href="#obj-operator-rhs"><code>obj.operator!=(rhs)</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>
|