|
声明
|
参数
|
说明
|
||
|---|---|---|---|---|
|
get (idpath, propName, categoryName)
|
• {string|string[]} idpath - ID 路径 (例如 '/0/1') 或 ID 路径数组 ['/0/1', '/0/2']。
• {string|string[]} propName -(可选)例如 'Display Name' 或 ['Display Name', 'Part ID Path']
• {string|string[]} categoryName -(可选)例如 'PROE Parameters'。
|
获取表示指定 idpath 和 propName 的 ID 路径或属性值的元数据对象。
此函数返回表示指定 idpath 的元数据对象,若指定 propName,则返回组件的属性值。
示例:
PTC.Metadata.fromId('model-1').then( (metadata) => {
|
||
|
getProp (propName, categoryName)
|
• {string|string[]} propName -(可选)例如 'Display Name' 或 ['Display Name', 'Part ID Path']
• {string|string[]} categoryName -(可选)例如 'PROE Parameters'。
|
此函数返回单个组件的所有字符串属性值,若无可用的数据/组件,则函数未定义。若指定的 propName 是数组,则返回值的 string[]。
示例:
PTC.Metadata.fromId('model-1').then( (metadata) => {
|
||
|
getCategory (categoryName)
|
• {string} categoryName
|
此函数返回指定类别中所有属性名称和值的对象。
示例:
PTC.Metadata.fromId('model-1').then( (metadata) => {
|
||
|
getSelected (selectFunc)
|
• {function} selectFunc -(可选)用于控制所返回数组中的值的函数。为函数指定 idpath,并且自变量和当前元数据如下:
`this` function(idpath) {
|
此函数返回指定 selectFunc 所返回的任意数组,若为定义 selectFunc,则返回 ID 路径 string[]。
示例:
PTC.Metadata.fromId('model-1').then( (metadata) => {
|
||
|
find (propName, category)
|
• {string} propName -(必填)
• {string} category -(可选)
|
根据属性值查找组件。另请参阅以下 findCustom。
根据指定 propName 和类别返回组件的查找器。
示例:
比较可能如下所示:
- startsWith,like,sameAs,unlike : string comparison |
||
|
findCustom (whereFunc, selectFunc)
|
• {function} whereFunc -(必填)
• {function} selectFunc -(可选)
|
另请参阅以上 find。
此函数根据自定义 whereFunc 返回组件的查找器。以下示例查找所有具有 depth<2 或名称类似 'ASM' 的组件。
示例:
|
PTC.Metadata.fromId('model-1').then (metadata) => {
metadata.get('/0/6', 'Display Name')
=> "BLOWER.ASM"
metadata.get('/0/6'). getCategory ('__PV_SystemProperties')
=> {Component Name: "BLOWER.ASM", Display Name: "BLOWER.ASM", OL File Name: "", Part Depth: "3", Part ID: "6", …}
metadata.find('Display Name').like('PRT')
=> {id: "model-1", _friendlyName: "Display Name like PRT", _selectedPaths: Array(26)}
metadata.find('Display Name').like('PRT').find('Part Depth').in(0,3)
=> {id: "model-1", _friendlyName: "Display Name like PRT AND Part Depth in 0-3", _selectedPaths: Array(10)}
var meta = metadata.find('Part Depth').greaterThan(4);
meta.getSelected();
=>["/0", "/0/1", "/0/1/2", "/0/6"]
var selectFunc = function(idpath) {
return metadata.get(idpath, 'Display Name');
}
meta.getSelected(selectFunc);
=> ["PISTON.PRT", "PISTON_PIN.PRT", "CONNECTING_ROD.PRT"]
metadata.find('Part Depth').greaterThan(4).getSelected(selectFunc)
=> ["PISTON.PRT", "PISTON_PIN.PRT", "CONNECTING_ROD.PRT"]
var selectFunc = function(idpath) {
return metadata.get(idpath, 'Display Name');
}
metadata.find('Part Depth').greaterThan(4, selectFunc)
=> ["PISTON.PRT", "PISTON_PIN.PRT", "CONNECTING_ROD.PRT"]
var selectFunc = function(idpath) {return metadata.get(idpath, 'Display Name');}
metadata.find('Part Depth').greaterThan(4, selectFunc)
=> ["PISTON.PRT", "PISTON_PIN.PRT", "CONNECTING_ROD.PRT"]
var selectFunc = function(idpath) {return metadata.get(idpath, 'Display Name');}
metadata.find('Display Name').like('PISTON', selectFunc)
=> ["PISTON.ASM", "PISTON.PRT", "PISTON_PIN.PRT"]
var whereFunc = function(idpath) {
const depth = metadata.get(idpath, 'Part Depth')
const name = metadata.get(idpath, 'Display Name')
return parseFloat(depth) > 4 || (name && name.search('PISTON') >= 0)
}
var selectFunc = function(idpath) {return metadata.get(idpath, 'Display Name');}
metadata.findCustom(whereFunc,selectFunc)
=>["PISTON.ASM", "PISTON.PRT", "PISTON_PIN.PRT", "CONNECTING_ROD.PRT"]
var selectFunc = function(idpath) {
return metadata.get(idpath).getCategory('__PV_SystemProperties');
}
metadata.find('Part Depth').greaterThan(4, selectFunc)
=> (3) [{…}, {…}, {…}]
0: {Component Name: "PISTON.PRT", Display Name: "PISTON.PRT", OL File Name: "l-Creo 3D_0_ac-40_asm_5.ol" …}
1: {Component Name: "PISTON_PIN.PRT", Display Name: "PISTON_PIN.PRT", OL File Name: "l-Creo 3D_0_ac-40_asm_6.ol",…}
2: {Component Name: "CONNECTING_ROD.PRT", Display Name: "CONNECTING_ROD.PRT", OL File Name: "l-Creo 3D_0_ac-40_asm_7.ol", …}
|
方法
|
说明
|
|---|---|
|
单击或更改事件
|
使用事件表达式,从按钮、输入调用元数据获取,或选择元素。
1. 在“单击”事件的 JS 框中输入 getMetadata()
。
2. 然后,使用以下代码段:
$scope.getMetadata = function(args) {
|
|
视图加载时
|
要在视图完全加载后提取元数据,请使用 $ionicView.afterEnter 事件:
$scope.$on("$ionicView.afterEnter", (args) => {
|