宣告
|
參數
|
描述
|
||
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) => {
var result = metadata.get('/0/6', 'Display Name') }); |
||
getProp (propName、categoryName)
|
• {string|string[]} propName—(選用) 例如 'Display Name' 或 ['Display Name', 'Part ID Path']
• {string|string[]} categoryName—(選用) 例如 'PROE Parameters'。
|
此函數會傳回來自單一元件的全部字串屬性值,如果沒有可用的資料/元件,則會傳回 undefined。如果給定的 propName 是陣列,則會傳回值的字串 []。
範例:
PTC.Metadata.fromId('model-1').then( (metadata) => {
var result = metadata.get('/0/1').getProp('Display Name'); }); |
||
getCategory (categoryName)
|
• {string} categoryName
|
此函數會傳回來自給定類別的物件 (包含全部屬性名稱與值)。
範例:
PTC.Metadata.fromId('model-1').then( (metadata) => {
var result = metadata.get('/0/6'). getCategory ('__PV_SystemProperties'); }); |
||
getSelected (selectFunc)
|
• {function} selectFunc—(選用) 可控制放入傳回陣列中的值的函數。向函數提供 idpath,且輻角與目前中繼資料為:
`this` function(idpath) {
return [idpath, this.get(idpath, 'Display Name')]; }); |
此函數會傳回任何給定 selectFunc 所傳回之內容的陣列,或者如果 selectFunc 為 undefined,則會傳回 Id 路徑的字串 []。
範例:
PTC.Metadata.fromId('model-1').then( (metadata) => {
var selectFunc = function(idpath) { return metadata.get(idpath, 'Display Name'); } var result = metadata.getSelected(selectFunc); }); |
||
find (propName、類別)
|
• {string} propName—(必要)
• {string} category—(選用)
|
根據屬性值尋找元件。另請參閱下文 findCustom。
根據給定的 propName 與類別傳回元件的尋找程式。
範例:
PTC.Metadata.fromId('model-1').then( (metadata) => { var displayName = metadata.find('Display Name').like('BOLT'); }); PTC.Metadata.fromId('model-1').then( (metadata) => { var result = metadata.find('Part Depth').lessThan(3).find('Display Name').like('PRT'); }); PTC.Metadata.fromId('model-1').then( (metadata) => { var selectFunc = function(idpath) { return metadata.get(idpath, 'Display Name') var result = metadata.find('Part Depth').greaterThan(4, selectFunc) }); 對比情況如下所示:
- startsWith,like,sameAs,unlike : string comparison
- equal,notequal,greaterThanEq,lessThanEq,lessThan,greaterThan : numeric comparison - in,out : numeric range comparison - before,after : date/time comparison |
||
findCustom (whereFunc、selectFunc)
|
• {function} whereFunc—(必要)
• {function} selectFunc—(選用)
|
另請參閱上文 find。
此函數會根據自訂 whereFunc 傳回元件的尋找程式。下列範例尋找包含 depth<2 或擁有類似 'ASM' 的名稱的全部元件。
範例:
PTC.Metadata.fromId('model-1').then( (metadata) => { 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('ASM') >= 0) } var result = metadata.findCustom(whereFunc); }); |