Files
oapy/dm/oaDMFile.html
2026-06-02 14:14:41 +08:00

843 lines
32 KiB
HTML

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>oaDMFile</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 active" 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 href="../cms/index.html">cms</a></li><li><a class="active-link" 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">dm 类</div><div class="sidebar-body"><input class="sidebar-search" type="search" placeholder="筛选类" data-class-filter><ul><li data-class-item data-class-name="oacell"><a href="oaCell.html">oaCell</a></li><li data-class-item data-class-name="oacelldmdata"><a href="oaCellDMData.html">oaCellDMData</a></li><li data-class-item data-class-name="oacellview"><a href="oaCellView.html">oaCellView</a></li><li data-class-item data-class-name="oacellviewdmdata"><a href="oaCellViewDMData.html">oaCellViewDMData</a></li><li data-class-item data-class-name="oadmattr"><a href="oaDMAttr.html">oaDMAttr</a></li><li data-class-item data-class-name="oadmattrarray"><a href="oaDMAttrArray.html">oaDMAttrArray</a></li><li data-class-item data-class-name="oadmcontainer"><a href="oaDMContainer.html">oaDMContainer</a></li><li data-class-item data-class-name="oadmdata"><a href="oaDMData.html">oaDMData</a></li><li data-class-item data-class-name="oadmdatatype"><a href="oaDMDataType.html">oaDMDataType</a></li><li data-class-item data-class-name="oadmerror"><a href="oaDMError.html">oaDMError</a></li><li data-class-item data-class-name="oadmexception"><a href="oaDMException.html">oaDMException</a></li><li data-class-item data-class-name="oadmfile"><a class="active-link" href="oaDMFile.html">oaDMFile</a></li><li data-class-item data-class-name="oadmlockstatus"><a href="oaDMLockStatus.html">oaDMLockStatus</a></li><li data-class-item data-class-name="oadmobject"><a href="oaDMObject.html">oaDMObject</a></li><li data-class-item data-class-name="oadmobjectiter"><a href="oaDMObjectIter.html">oaDMObjectIter</a></li><li data-class-item data-class-name="oadmobjectstatusref"><a href="oaDMObjectStatusRef.html">oaDMObjectStatusRef</a></li><li data-class-item data-class-name="oadmobjectstatusrefiter"><a href="oaDMObjectStatusRefIter.html">oaDMObjectStatusRefIter</a></li><li data-class-item data-class-name="oadmobjectversionref"><a href="oaDMObjectVersionRef.html">oaDMObjectVersionRef</a></li><li data-class-item data-class-name="oadmobjectversionrefiter"><a href="oaDMObjectVersionRefIter.html">oaDMObjectVersionRefIter</a></li><li data-class-item data-class-name="oadmpluginerror"><a href="oaDMPlugInError.html">oaDMPlugInError</a></li><li data-class-item data-class-name="oalib"><a href="oaLib.html">oaLib</a></li><li data-class-item data-class-name="oalibaccess"><a href="oaLibAccess.html">oaLibAccess</a></li><li data-class-item data-class-name="oalibaccesslevel"><a href="oaLibAccessLevel.html">oaLibAccessLevel</a></li><li data-class-item data-class-name="oalibdmdata"><a href="oaLibDMData.html">oaLibDMData</a></li><li data-class-item data-class-name="oalibdatatype"><a href="oaLibDataType.html">oaLibDataType</a></li><li data-class-item data-class-name="oalibdef"><a href="oaLibDef.html">oaLibDef</a></li><li data-class-item data-class-name="oalibdeflist"><a href="oaLibDefList.html">oaLibDefList</a></li><li data-class-item data-class-name="oalibdeflistmem"><a href="oaLibDefListMem.html">oaLibDefListMem</a></li><li data-class-item data-class-name="oalibdeflistref"><a href="oaLibDefListRef.html">oaLibDefListRef</a></li><li data-class-item data-class-name="oalibmode"><a href="oaLibMode.html">oaLibMode</a></li><li data-class-item data-class-name="oareservedviewtype"><a href="oaReservedViewType.html">oaReservedViewType</a></li><li data-class-item data-class-name="oasaverecovertype"><a href="oaSaveRecoverType.html">oaSaveRecoverType</a></li><li data-class-item data-class-name="oavccap"><a href="oaVCCap.html">oaVCCap</a></li><li data-class-item data-class-name="oavcmessagetype"><a href="oaVCMessageType.html">oaVCMessageType</a></li><li data-class-item data-class-name="oavcobserver"><a href="oaVCObserver.html">oaVCObserver</a></li><li data-class-item data-class-name="oavcobservercollection"><a href="oaVCObserverCollection.html">oaVCObserverCollection</a></li><li data-class-item data-class-name="oavcobserveriter"><a href="oaVCObserverIter.html">oaVCObserverIter</a></li><li data-class-item data-class-name="oavcobserverresult"><a href="oaVCObserverResult.html">oaVCObserverResult</a></li><li data-class-item data-class-name="oavcoperation"><a href="oaVCOperation.html">oaVCOperation</a></li><li data-class-item data-class-name="oavcquerydepth"><a href="oaVCQueryDepth.html">oaVCQueryDepth</a></li><li data-class-item data-class-name="oavcsystem"><a href="oaVCSystem.html">oaVCSystem</a></li><li data-class-item data-class-name="oavcversion"><a href="oaVCVersion.html">oaVCVersion</a></li><li data-class-item data-class-name="oavcversioniter"><a href="oaVCVersionIter.html">oaVCVersionIter</a></li><li data-class-item data-class-name="oaversioncomp"><a href="oaVersionComp.html">oaVersionComp</a></li><li data-class-item data-class-name="oaview"><a href="oaView.html">oaView</a></li><li data-class-item data-class-name="oaviewdmdata"><a href="oaViewDMData.html">oaViewDMData</a></li><li data-class-item data-class-name="oaviewtype"><a href="oaViewType.html">oaViewType</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">dm</a> / oaDMFile</div>
<h1 id="oadmfile">oaDMFile</h1>
<p><strong>模块</strong>: <code>oapy._oa._dm</code>
<strong>导入</strong>: <code>from oapy._oa import _dm</code></p>
<h2 id="_1">概览</h2>
<p><code>oaDMFile</code><code>oapy</code> 中可用,可通过 <code>_dm</code> 模块访问。</p>
<p>本页汇总 <code>oaDMFile</code> 当前在 <code>oapy</code> 中可用的 Python 接口。</p>
<h2 id="_2">详细说明</h2>
<p>The oaDMFile class represents a managed file。 The oaDMFile class can be observed by deriving from oaObserver<oaDMFile> 。 Note: The oaDMFile function descriptions indicate if library access is required for the called function。 If write access is necessary, this requirement also is noted。 For more information on library access, see Library Access in the detailed description for oaLib and OpenAccess 2.2 Libraries and Design Management 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.destroy(type)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getParent()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getName(name)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getPath(path)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getPath(type, path)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getLeader()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.isLeader()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.isPrimary()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.existsOnDisk()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.existsOnDisk(type)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getOnDiskSize()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.setLeader(leader)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getLock()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.releaseLock()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getLockStatus()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getVersion()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getFollowers()</code></td>
</tr>
<tr>
<td></td>
<td><code>_dm.oaDMFile.find(parent, name)</code></td>
</tr>
<tr>
<td></td>
<td><code>_dm.oaDMFile.create(parent, name, srcPath)</code></td>
</tr>
<tr>
<td></td>
<td><code>_dm.oaDMFile.create(parent, name)</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 the specified oaSaveRecoverType file。 An exception is thrown if the specified type is not found。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>type</code>: Either oacAutoSaveType or oacCriticalSaveType。</li>
</ul>
<p><strong>异常</strong></p>
<ul>
<li><code>oacSaveRecoverFileDoesNotExistOnDisk</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.destroy()
</code></pre>
<h3 id="objdestroytype"><code>obj.destroy(type)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.destroy(type)</code></p>
<p>This function destroys this oaDMFile。 This function requires write access to the library associated with this object (through a call to oaLib::getAccess )。 An oacLibAccessDenied exception is thrown if write access to the library does not exist。 For more information on library access, see Library Access in the detailed description for oaLib and OpenAccess 2.2 Libraries and Design Management in the Programmers Guide。</p>
<p><strong>异常</strong></p>
<ul>
<li><code>oacLibAccessDenied</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.destroy(type)
</code></pre>
<h3 id="objgetparent"><code>obj.getParent()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getParent()</code></p>
<p>This function returns the parent of this oaDMFile。 This function requires access to the library associated with this object (through a call to oaLib::getAccess )。 An oacLibAccessDenied exception is thrown if access to the library does not exist。 For more information on library access, see Library Access in the detailed description for oaLib and OpenAccess 2.2 Libraries and Design Management in the Programmers Guide。</p>
<p><strong>异常</strong></p>
<ul>
<li><code>oacLibAccessDenied</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getParent()
</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 returns the name of this oaDMFile in the user-supplied name parameter。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getName(name)
</code></pre>
<h3 id="objgetpathpath"><code>obj.getPath(path)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getPath(path)</code></p>
<p>This function returns the path of the oaSaveRecoverType file that is specified。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>type</code>: Either oacAutoSaveType or oacCriticalSaveType。</li>
<li><code>name</code>: The filename to match。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getPath(path)
</code></pre>
<h3 id="objgetpathtype-path"><code>obj.getPath(type, path)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getPath(type, path)</code></p>
<p>This function returns the path of the specified file。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>name</code>: The filename to match。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getPath(type, path)
</code></pre>
<h3 id="objgetleader"><code>obj.getLeader()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getLeader()</code></p>
<p>This function returns the leader of this oaDMFile。 If this file is not a follower, NULL will be returned。 This function requires access to the library associated with this object (through a call to oaLib::getAccess )。 An oacLibAccessDenied exception is thrown if access to the library does not exist。 For more information on library access, see Library Access in the detailed description for oaLib and OpenAccess 2.2 Libraries and Design Management in the Programmers Guide。</p>
<p><strong>异常</strong></p>
<ul>
<li><code>oacLibAccessDenied</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getLeader()
</code></pre>
<h3 id="objisleader"><code>obj.isLeader()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.isLeader()</code></p>
<p>This function returns true if this file is a leader file, with other files as its followers。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.isLeader()
</code></pre>
<h3 id="objisprimary"><code>obj.isPrimary()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.isPrimary()</code></p>
<p>This function returns true if this file is a primary file for a cellView。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.isPrimary()
</code></pre>
<h3 id="objexistsondisk"><code>obj.existsOnDisk()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.existsOnDisk()</code></p>
<p>This function destroys the specified oaSaveRecoverType file。 An exception is thrown if the specified type does not exist。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>type</code>: Either oacAutoSaveType or oacCriticalSaveType。</li>
</ul>
<p><strong>异常</strong></p>
<ul>
<li><code>oacSaveRecoverFileDoesNotExistOnDisk</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.existsOnDisk()
</code></pre>
<h3 id="objexistsondisktype"><code>obj.existsOnDisk(type)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.existsOnDisk(type)</code></p>
<p>This function returns true if this file exists on disk。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.existsOnDisk(type)
</code></pre>
<h3 id="objgetondisksize"><code>obj.getOnDiskSize()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getOnDiskSize()</code></p>
<p>This function returns on disk size of the DM file。 If the file does not exist on disk, an error is thrown。</p>
<p><strong>异常</strong></p>
<ul>
<li><code>oacDMFileDoesNotExistOnDisk</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getOnDiskSize()
</code></pre>
<h3 id="objsetleaderleader"><code>obj.setLeader(leader)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.setLeader(leader)</code></p>
<p>This function is used to set the specified oaDMFile leader as the leader for this oaDMFile。 Leader and follower files must belong to same parent。 OA does not support multiple levels of leader-follower relationships, so if the file is a leader, it cannot also be a follower。 A primary file can be a leader, but cannot be a follower。 Note: This function requires current write access to the library associated with this object (through oaLib::getAccess )。 An oacLibAccessDenied exception is thrown if write access to the library does not exist。 For more information on library access, see Library Access in the detailed description for oaLib 。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>leader</code>: The specified leader file。</li>
</ul>
<p><strong>异常</strong></p>
<ul>
<li><code>oacCannotHaveMultiLevelFollowers</code></li>
<li><code>oacPrimaryCannotBeFollower</code></li>
<li><code>oacLeaderFollowerNotInSameParent</code></li>
<li><code>oacLibAccessDenied</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.setLeader(leader)
</code></pre>
<h3 id="objgetlock"><code>obj.getLock()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getLock()</code></p>
<p>This function is used to get a write lock on the specified file。 If the lock is successfully obtained, true is returned; otherwise, false is returned。 Note: When a file is locked by the current or any other process and a lock is requested, the lock request is denied (this function returns false)。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getLock()
</code></pre>
<h3 id="objreleaselock"><code>obj.releaseLock()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.releaseLock()</code></p>
<p>This function is used to release a lock on the current file。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.releaseLock()
</code></pre>
<h3 id="objgetlockstatus"><code>obj.getLockStatus()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getLockStatus()</code></p>
<p>This function returns the lock status of this file。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getLockStatus()
</code></pre>
<h3 id="objgetversion"><code>obj.getVersion()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getVersion()</code></p>
<p>This function returns the current version of this file。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getVersion()
</code></pre>
<h3 id="objgetfollowers"><code>obj.getFollowers()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getFollowers()</code></p>
<p>This function is to get a collection of all of the followers of a file。 If this file does not have followers, the collection will be empty。 This function requires access to the library associated with this object (through a call to oaLib::getAccess )。 An oacLibAccessDenied exception is thrown if access to the library does not exist。 For more information on library access, see Library Access in the detailed description for oaLib and OpenAccess 2.2 Libraries and Design Management in the Programmers Guide。</p>
<p><strong>异常</strong></p>
<ul>
<li><code>oacLibAccessDenied</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
# assume obj is a oaDMFile
obj.getFollowers()
</code></pre>
<h3 id="_dmoadmfilefindparent-name"><code>_dm.oaDMFile.find(parent, name)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>_dm.oaDMFile.find(parent, name)</code></p>
<p>This function finds and returns the file with the specified name and parent if it exists。 If not found, NULL is returned。 This function requires access to the library associated with this object (through a call to oaLib::getAccess )。 An oacLibAccessDenied exception is thrown if access to the library does not exist。 For more information on library access, see Library Access in the detailed description for oaLib and OpenAccess 2.2 Libraries and Design Management in the Programmers Guide。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>parent</code>: The parent of the file。</li>
<li><code>name</code>: The name of the file。</li>
</ul>
<p><strong>异常</strong></p>
<ul>
<li><code>oacLibAccessDenied</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
_dm.oaDMFile.find(parent, name)
</code></pre>
<h3 id="_dmoadmfilecreateparent-name-srcpath"><code>_dm.oaDMFile.create(parent, name, srcPath)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>_dm.oaDMFile.create(parent, name, srcPath)</code></p>
<p>This function creates a new entry for the file with the specified name and parent。 An error is thrown if an oaDMFile already exists with the same name and parent。 Note: This function requires write access to the library associated with this object (through oaLib::getAccess )。 An oacLibAccessDenied exception is thrown if write access to the library does not exist。 For more information on library access, see Library Access in the detailed description for oaLib and OpenAccess 2.2 Libraries and Design Management in the Programmers Guide。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>parent</code>: The parent of the file to be created。</li>
<li><code>name</code>: The name of the file to be created。</li>
</ul>
<p><strong>异常</strong></p>
<ul>
<li><code>oacDMFileExists</code></li>
<li><code>oacLibAccessDenied</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
_dm.oaDMFile.create(parent, name, srcPath)
</code></pre>
<h3 id="_dmoadmfilecreateparent-name"><code>_dm.oaDMFile.create(parent, name)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>_dm.oaDMFile.create(parent, name)</code></p>
<p>This function copies a file from the specified path into the library directory。 An exception is thrown if an oaDMFile already exists with the same name and parent。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>parent</code>: The parent of the file to be created。</li>
<li><code>name</code>: The name of the file to be created。</li>
<li><code>path</code>: The path of the file to be copied from。</li>
</ul>
<p><strong>异常</strong></p>
<ul>
<li><code>oacDMFileExists</code></li>
<li><code>oacLibAccessDenied</code></li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _dm
_dm.oaDMFile.create(parent, name)
</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-destroy-type"><code>obj.destroy(type)</code></a></li><li><a href="#obj-getparent"><code>obj.getParent()</code></a></li><li><a href="#obj-getname-name"><code>obj.getName(name)</code></a></li><li><a href="#obj-getpath-path"><code>obj.getPath(path)</code></a></li><li><a href="#obj-getpath-type-path"><code>obj.getPath(type, path)</code></a></li><li><a href="#obj-getleader"><code>obj.getLeader()</code></a></li><li><a href="#obj-isleader"><code>obj.isLeader()</code></a></li><li><a href="#obj-isprimary"><code>obj.isPrimary()</code></a></li><li><a href="#obj-existsondisk"><code>obj.existsOnDisk()</code></a></li><li><a href="#obj-existsondisk-type"><code>obj.existsOnDisk(type)</code></a></li><li><a href="#obj-getondisksize"><code>obj.getOnDiskSize()</code></a></li><li><a href="#obj-setleader-leader"><code>obj.setLeader(leader)</code></a></li><li><a href="#obj-getlock"><code>obj.getLock()</code></a></li><li><a href="#obj-releaselock"><code>obj.releaseLock()</code></a></li><li><a href="#obj-getlockstatus"><code>obj.getLockStatus()</code></a></li><li><a href="#obj-getversion"><code>obj.getVersion()</code></a></li><li><a href="#obj-getfollowers"><code>obj.getFollowers()</code></a></li><li><a href="#dm-oadmfile-find-parent-name"><code>_dm.oaDMFile.find(parent, name)</code></a></li><li><a href="#dm-oadmfile-create-parent-name-srcpath"><code>_dm.oaDMFile.create(parent, name, srcPath)</code></a></li><li><a href="#dm-oadmfile-create-parent-name"><code>_dm.oaDMFile.create(parent, name)</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>