金蝶PLM CAD 集成


保存/暂存文档时,客户端通知新属性

<p>[TOC]</p> <h4>概述</h4> <p>插件可以通过多种命令,让客户端打开“BOM编辑窗口”,例如【EditProperty】、【EditBomLibrary_New】、【EditBomLiarary_Modify】、【ImportDocument】、【CheckInDocument】等。 当我们点击右上角关闭窗口时,客户端会按顺序回调【SwitchToCAD】和【EnableOperate】指令。</p> <p>当我们在BOM编辑窗口中点击左上角的<strong>暂存</strong>或<strong>保存</strong>按钮时,会进行以下步骤:</p> <ol> <li>客户端首先会将修改后的属性信息回调给插件,并开始等待。每种不同的打开指令,客户端会携带不同的windowId;</li> <li>此时插件可以做图纸反写操作,无论反写是否成功,都应该再次将反写结果通知给客户端,通知请参考【[通知客户端属性修改结果](<a href="https://www.showdoc.com.cn/2598834505893998/11558482054289591">https://www.showdoc.com.cn/2598834505893998/11558482054289591</a> &quot;通知客户端属性修改结果&quot;)】;</li> <li>客户端收到结果指令,结束等待。 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=980c933e1aa7061b91e8e1bdbe6fcd16&amp;amp;file=file.png" alt="" /></li> </ol> <p>&gt; 保存:客户端会先与系统进行校验,校验通过,才会回调插件进行反写; &gt; 暂存:无须系统校验,客户端直接回调插件进行反写,但仅用户在客户端修改了图纸属性才会回调。 &gt; 上传:上传前会先调用保存的逻辑,包括校验、反写,最后才上传到系统中。</p> <h4>客户端回调 1 - 关闭窗口</h4> <h5>回调命令 1</h5> <p>当窗口关闭时,按顺序回调两个指令</p> <ul> <li><code>SwitchToCAD 109</code></li> <li><code>EnableOperate 111</code></li> </ul> <h5>回调示例 1</h5> <pre><code>{ &amp;quot;abstractCadType&amp;quot;: &amp;quot;_3d&amp;quot;, &amp;quot;cadCommand&amp;quot;: 109, &amp;quot;cadType&amp;quot;: &amp;quot;solidworks&amp;quot;, &amp;quot;dataModel&amp;quot;: true }</code></pre> <pre><code>{ &amp;quot;abstractCadType&amp;quot;: &amp;quot;_3d&amp;quot;, &amp;quot;cadCommand&amp;quot;: 111, &amp;quot;cadType&amp;quot;: &amp;quot;solidworks&amp;quot;, &amp;quot;dataModel&amp;quot;: true } </code></pre> <h5>回调参数说明 1</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必填</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">dataModel</td> <td style="text-align: left;">是</td> <td style="text-align: left;">bool</td> <td>是否关闭窗口成功</td> </tr> </tbody> </table> <h4>客户端回调 2 - 在窗口点击【保存】时</h4> <h5>回调命令 2</h5> <ul> <li><code>ModifyDocContent 6</code></li> </ul> <h5>回调示例 2</h5> <pre><code>{ &amp;quot;cadCommand&amp;quot;: 6, &amp;quot;cadType&amp;quot;: &amp;quot;solidworks&amp;quot;, &amp;quot;abstractCadType&amp;quot;: &amp;quot;_3d&amp;quot;, &amp;quot;windowId&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;callBackData&amp;quot;: { &amp;quot;windowId&amp;quot;: &amp;quot;BomPropEditForm&amp;quot;, &amp;quot;nextCommand&amp;quot;: &amp;quot;&amp;quot; }, &amp;quot;dataModel&amp;quot;: [ { &amp;quot;cadId&amp;quot;: &amp;quot;2f99ce53-3c4a-4b18-b6c7-7c88bb50252e&amp;quot;, &amp;quot;directoryPath&amp;quot;: &amp;quot;D:\\Repos\\非标CAD指导\\Kingdee.PLM.CAD.CustomPlugin\\Kingdee.PLM.CAD.CustomPlugin.Demo\\bin\\Debug\\素材&amp;quot;, &amp;quot;fileName&amp;quot;: &amp;quot;根装配件.SLDASM&amp;quot;, &amp;quot;property&amp;quot;: [ { &amp;quot;propExpressionInfo&amp;quot;: { }, &amp;quot;propTypeInfo&amp;quot;: { }, &amp;quot;propInfo&amp;quot;: { &amp;quot;PARTNO&amp;quot;: &amp;quot;Jair.Test.001&amp;quot;, &amp;quot;PARTNAME&amp;quot;: &amp;quot;Jair测试装配件001&amp;quot;, &amp;quot;DRAWNO&amp;quot;: &amp;quot;0001&amp;quot;, &amp;quot;SPEC&amp;quot;: &amp;quot;320.29&amp;quot;, &amp;quot;MATERIAL&amp;quot;: &amp;quot;1111&amp;quot;, &amp;quot;COLOUR&amp;quot;: &amp;quot;蓝色&amp;quot;, &amp;quot;VERSION&amp;quot;: &amp;quot;A&amp;quot; }, &amp;quot;cadId&amp;quot;: &amp;quot;2f99ce53-3c4a-4b18-b6c7-7c88bb50252e&amp;quot;, &amp;quot;propModelId&amp;quot;: &amp;quot;462a8d7b-30f8-4331-8cb7-71064cf44470&amp;quot;, &amp;quot;propInfoType&amp;quot;: &amp;quot;默认&amp;quot;, &amp;quot;child&amp;quot;: [ { &amp;quot;relationId&amp;quot;: &amp;quot;1ebdb56f-ab11-4c39-9efc-b093563994c1&amp;quot;, &amp;quot;propModelId&amp;quot;: &amp;quot;005e2e01-4f7c-4603-9ac0-551798188cdb&amp;quot;, &amp;quot;excludeFromBom&amp;quot;: false, &amp;quot;compressState&amp;quot;: &amp;quot;Normal&amp;quot;, &amp;quot;relatedProp&amp;quot;: { &amp;quot;count&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;remark&amp;quot;: &amp;quot;&amp;quot; } } ] } ], &amp;quot;relatedPropInfo&amp;quot;: [ { } ] }, { &amp;quot;cadId&amp;quot;: &amp;quot;b23e6d44-1bdd-4d82-b327-86189060e141&amp;quot;, &amp;quot;directoryPath&amp;quot;: &amp;quot;D:\\Repos\\非标CAD指导\\Kingdee.PLM.CAD.CustomPlugin\\Kingdee.PLM.CAD.CustomPlugin.Demo\\bin\\Debug\\素材&amp;quot;, &amp;quot;fileName&amp;quot;: &amp;quot;子零件.SLDPRT&amp;quot;, &amp;quot;property&amp;quot;: [ { &amp;quot;propExpressionInfo&amp;quot;: { }, &amp;quot;propTypeInfo&amp;quot;: { }, &amp;quot;propInfo&amp;quot;: { &amp;quot;PARTNO&amp;quot;: &amp;quot;Jair.Test.002&amp;quot;, &amp;quot;PARTNAME&amp;quot;: &amp;quot;Jair测试装配件002&amp;quot;, &amp;quot;DRAWNO&amp;quot;: &amp;quot;0002&amp;quot;, &amp;quot;SPEC&amp;quot;: &amp;quot;320.29&amp;quot;, &amp;quot;MATERIAL&amp;quot;: &amp;quot;1111&amp;quot;, &amp;quot;COLOUR&amp;quot;: &amp;quot;蓝色&amp;quot;, &amp;quot;VERSION&amp;quot;: &amp;quot;A&amp;quot; }, &amp;quot;cadId&amp;quot;: &amp;quot;b23e6d44-1bdd-4d82-b327-86189060e141&amp;quot;, &amp;quot;propModelId&amp;quot;: &amp;quot;005e2e01-4f7c-4603-9ac0-551798188cdb&amp;quot;, &amp;quot;propInfoType&amp;quot;: &amp;quot;默认&amp;quot;, &amp;quot;child&amp;quot;: [ ] } ], &amp;quot;relatedPropInfo&amp;quot;: [ { &amp;quot;relationId&amp;quot;: &amp;quot;1ebdb56f-ab11-4c39-9efc-b093563994c1&amp;quot;, &amp;quot;propModelId&amp;quot;: &amp;quot;005e2e01-4f7c-4603-9ac0-551798188cdb&amp;quot;, &amp;quot;excludeFromBom&amp;quot;: false, &amp;quot;compressState&amp;quot;: &amp;quot;Normal&amp;quot;, &amp;quot;relatedProp&amp;quot;: { &amp;quot;count&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;remark&amp;quot;: &amp;quot;&amp;quot; } } ] } ] }</code></pre> <h5>回调参数说明 2</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必填</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">dataModel</td> <td style="text-align: left;">是</td> <td style="text-align: left;"><a href="#doc_object">doc_object</a></td> <td>数据对象</td> </tr> <tr> <td style="text-align: left;">callBackData</td> <td style="text-align: left;">否</td> <td style="text-align: left;"><a href="#callback_object">callback_object</a></td> <td>回调数据</td> </tr> </tbody> </table> <p><strong>&lt;span id = &quot;doc_object&quot;&gt;doc_object&lt;/span&gt; 参数</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必填</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">cadId</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>请求时文档模型(fileModel)携带的Guid</td> </tr> <tr> <td style="text-align: left;">directoryPath</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>CAD文档的目录绝对路径</td> </tr> <tr> <td style="text-align: left;">fileName</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>CAD文档名称</td> </tr> <tr> <td style="text-align: left;">property</td> <td style="text-align: left;">是</td> <td style="text-align: left;">array[property_object]</td> <td><strong>修改后</strong>的标准属性对象模型集合,具体详见[这里](<a href="https://www.showdoc.com.cn/kingdeeplm/11558477351049674">https://www.showdoc.com.cn/kingdeeplm/11558477351049674</a> &quot;这里&quot;),一般只需关注<strong>propInfo</strong></td> </tr> <tr> <td style="text-align: left;">relatedPropInfo</td> <td style="text-align: left;">是</td> <td style="text-align: left;">array[property_child]</td> <td>对应请求时<strong>propModels</strong>的<strong>child</strong>,详见标准模型的property_child</td> </tr> </tbody> </table> <p><strong>&lt;span id = &quot;callback_object&quot;&gt;callback_object&lt;/span&gt; 参数</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必填</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">windowId</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>窗口Id</td> </tr> <tr> <td style="text-align: left;">nextCommand</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>下一条指令</td> </tr> </tbody> </table>

页面列表

ITEM_HTML