|
如要使用此 API,請務必在匯入模型時選取「允許體驗存取 CAD 中繼資料」核取方塊。
|
宣告
|
參數
|
描述
|
getBounds (idpath)
|
• {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') }); |
getLocation (idpath)
|
• {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'); }); |
內容
|
描述
|
min
|
邊界外框的最小範圍,以具有屬性 x、y 與 z 的物件表示,並會以 asArray 形式將這三個值以陣列型式傳回。
範例:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
var bounds = structure.getBounds(‘/0/6’); var min_X = bounds.min.x; } |
max
|
邊界的最大範圍,以具有屬性 x、y 與 z 的物件表示,並會以 asArray 形式將這三個值以陣列型式傳回。
範例:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
var bounds = structure.getBounds(‘/0/6’); var max_X = bounds.max.x; } |
center
|
邊界外框的中心點,以具有屬性 x、y 與 z 的物件表示,並會以 asArray 形式將這三個值以陣列型式傳回。
範例:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
var bounds = structure.getBounds(‘/0/6’); var center_X = bounds.center.x; } |
corners
|
一組由邊界外框 8 個邊角點組成的陣列,每個點都以具有屬性 x、y 與 z 的物件表示,並會以 asArray 形式將這三個值以陣列型式傳回。
範例:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
var bounds = structure.getBounds(‘/0/6’); var one_corner = bounds.corners[0]; var one_corner_X = one_corner.x } |
宣告
|
參數
|
描述
|
transform (方位、旋轉、比例)
|
• {number[]|string[]|string} position- 需轉換的方位元件,以下列其中一種型式提供:三個數字 ([0,0,5]) 的陣列、一個代表數字 ([‘0’,’0’,’5’]) 的字串陣列,或以逗號 (‘0,0,5’) 分隔的三個數字單一字串
• {number[]|string[]|string} rotation- 需轉換的旋轉元件,以下列其中一種型式提供:三個數字 ([0,0,5]) 的陣列、一個代表數字 ([‘0’,’0’,’5’]) 的字串陣列,或以逗號 (‘0,0,5’) 分隔的三個數字單一字串。若省略,即不會套用旋轉轉換。
• {number[]|string[]|string|number} scale- 需轉換的比例元件,以下列其中一種型式提供:三個數字 ([0,0,5]) 的陣列、一個代表數字 ([‘0’,’0’,’5’]) 的字串陣列、以逗號 (‘0,0,5’) 分隔的三個數字單一字串,或指定一致縮放係數的單一數字。若省略,則預設比例係數為 1。
|
傳回一個新邊界物件,該物件代表軸對齊的邊界外框,且該外框已經過指定的方位、旋轉與比例轉換,並圈住原始邊界外框。
只要執行此操作,原始邊界物件即可維持原樣。
範例:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
var bounds = structure.getBounds(‘/0/6’); var rotated_bounds = bounds.transform([0,0,0], [45, 0, 0], 1); } |
內容
|
描述
|
matrix
|
透過以欄為主的陣列型式顯示位置的 4x4 轉換矩陣。
|
position
|
位置的方位元件,以具有屬性 x、y 與 z 的物件表示,並會以「asArray」形式將這三個值以陣列型式傳回。
範例:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
var location = structure.getLocation(‘/0/6’); var pos_X = location.position.x; } |
rotation
|
位置的旋轉元件,以旋轉物件表示。
範例:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
var location = structure.getLocation(‘/0/6’); var rot = location.rotation; } |
宣告
|
參數
|
描述
|
transform (方位、旋轉、比例)
|
• {number[]|string[]|string} position- 需轉換的方位元件,以下列其中一種型式提供:三個數字 ([0,0,5]) 的陣列、一個代表數字 ([‘0’,’0’,’5’]) 的字串陣列,或以逗號 (‘0,0,5’) 分隔的三個數字單一字串
• {number[]|string[]|string} rotation- 需轉換的旋轉元件,以下列其中一種型式提供:三個數字 ([0,0,5]) 的陣列、一個代表數字 ([‘0’,’0’,’5’]) 的字串陣列,或以逗號 (‘0,0,5’) 分隔的三個數字單一字串。若省略,即不會套用旋轉轉換。
• {number[]|string[]|string|number} scale- 需轉換的比例元件,以下列其中一種型式提供:三個數字 ([0,0,5]) 的陣列、一個代表數字 ([‘0’,’0’,’5’]) 的字串陣列、以逗號 (‘0,0,5’) 分隔的三個數字單一字串,或指定一致縮放係數的單一數字。若省略,則預設比例係數為 1。
|
傳回代表原始位置已經過指定方位、旋轉及比例轉換的新位置物件。
只要執行此操作,原始位置物件即可維持原樣。
範例:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
var location = structure.getLocation(‘/0/6’); var moved_location = location.transform([5,0,0], [0, 0, 0], 1); } |
內容
|
描述
|
matrix
|
透過以欄為主的陣列型式顯示位置的 3x3 旋轉矩陣。
|
宣告
|
參數
|
描述
|
asEuler ()
|
取得旋轉的歐拉數代表。以具有屬性 x、y 與 z 的物件表示,並會以 asArray 形式將這三個值以陣列型式傳回。值的單位為度數。
範例:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
var location = structure.getLocation(‘/0/6’); var euler_array = location.rotation.asEuler().asArray(); } |