|
|
Para utilizar esta API, la casilla Permitir el acceso de la experiencia a metadatos de CAD debe estar seleccionada al importar un modelo.
|
PTC.Structure.fromId(‘model-1’).then( (structure) => {
// Do something with ‘structure’
});
|
Declaración
|
Parámetros
|
Descripción
|
|---|---|---|
|
getBounds (idpath)
|
• {string|string[]} idpath: Ruta de ID como '/0/1', o matriz de rutas de ID ['/0/1', '/0/2'].
• {string|string[]} propName: (Opcional) Por ejemplo, 'Display Name' o ['Display Name', 'Part ID Path'].
• {string|string[]} categoryName: (Opcional) Por ejemplo, 'PROE Parameters'.
|
Obtiene un objeto de metadatos que representa la ruta de ID o los valores de propiedad de idpath y propName dados.
Esta función devuelve el objeto de metadatos que representa la idpath dada. Si se da propName, devuelve el valor de la propiedad del componente.
Ejemplo:
PTC.Metadata.fromId('model-1').then( (metadata) => {
|
|
getLocation (idpath)
|
• {string|string[]} propName: (Opcional) Por ejemplo, 'Display Name' o ['Display Name', 'Part ID Path'].
• {string|string[]} categoryName: (Opcional) Por ejemplo, 'PROE Parameters'.
|
Esta función devuelve todos los valores de las propiedades string de un solo componente, o bien sin definir si no hay datos o componentes disponibles. Si el valor de propName dado era una matriz, devuelve string[] de valores.
Ejemplo:
PTC.Metadata.fromId('model-1').then( (metadata) => {
|
|
Propiedad
|
Descripción
|
|---|---|
|
min
|
Las extensiones mínimas de la caja, expresadas como un objeto con propiedades x, y y z. Es un método asArray que devuelve estos tres valores como una matriz.
Ejemplo:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
max
|
Las extensiones máximas de la caja, expresado como un objeto con las propiedades x, y z. Es un método asArray que devuelve estos tres valores como una matriz.
Ejemplo:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
center
|
El punto central de la caja, expresado como un objeto con propiedades x, y y z. Es un método asArray que devuelve estos tres valores como una matriz.
Ejemplo:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
corners
|
Una matriz de los 8 puntos de ángulo de la caja, cada uno de ellos expresado como un objeto con propiedades x, y y z. Es un método asArray que devuelve estos tres valores como una matriz.
Ejemplo:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
Declaración
|
Parámetros
|
Descripción
|
|---|---|---|
|
transform (posición, rotación, escala)
|
• {number[]|string[]|string} position: el componente posicional de la transformación requerida, proporcionado como una matriz de tres números ([0,0,5]), una matriz de cadenas que representan números ([‘0’,’0’,’5’]) o una única cadena de tres números separados por comas (‘0,0,5’).
• {number[]|string[]|string} rotation: el componente rotacional de la transformación requerida, proporcionado como una matriz de tres números ([0,0,5]), una matriz de cadenas que representan números ([‘0’,’0’,’5’]) o una única cadena de tres números separados por comas (‘0,0,5’). Si se omite, no se aplica ninguna transformación rotacional.
• {number[]|string[]|string|number} scale: el componente de escala de la transformación requerida, proporcionado como una matriz de tres números ([0,0,5]), una matriz de cadenas que representan números ([‘0’,’0’,’5’]), una única cadena de tres números separados por comas (‘0,0,5’) o un número único que indica un factor de escala uniforme. Si se omite, se asume un factor de escala de 1.
|
Devuelve un nuevo objeto de límites que representa la caja alineada con el eje que encierra la caja original, y que ha sufrido la transformación posicional, rotacional y de escala especificadas.
El objeto de límites original no se modifica con esta operación.
Ejemplo:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
Propiedad
|
Descripción
|
|---|---|
|
matrix
|
Una matriz de transformación 4x4 que representa la ubicación expresada como una matriz columna-mayor.
|
|
position
|
El componente posicional de la ubicación, expresado como un objeto con propiedades x, y y z. Es un método 'asArray' que devuelve estos tres valores como una matriz.
Ejemplo:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
rotation
|
El componente rotacional de la ubicación, expresado como un objeto de rotación.
Ejemplo:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
Declaración
|
Parámetros
|
Descripción
|
|---|---|---|
|
transform (posición, rotación, escala)
|
• {number[]|string[]|string} position: el componente posicional de la transformación requerida, proporcionado como una matriz de tres números ([0,0,5]), una matriz de cadenas que representan números ([‘0’,’0’,’5’]) o una única cadena de tres números separados por comas (‘0,0,5’).
• {number[]|string[]|string} rotation: el componente rotacional de la transformación requerida, proporcionado como una matriz de tres números ([0,0,5]), una matriz de cadenas que representan números ([‘0’,’0’,’5’]) o una única cadena de tres números separados por comas (‘0,0,5’). Si se omite, no se aplica ninguna transformación rotacional.
• {number[]|string[]|string|number} scale: el componente de escala de la transformación requerida, proporcionado como una matriz de tres números ([0,0,5]), una matriz de cadenas que representan números ([‘0’,’0’,’5’]), una única cadena de tres números separados por comas (‘0,0,5’) o un número único que indica un factor de escala uniforme. Si se omite, se asume un factor de escala de 1.
|
Devuelve un nuevo objeto de ubicación que representa la ubicación original que ha sufrido la transformación posicional, rotacional y de escala especificadas.
El objeto de ubicación original no se modifica con esta operación.
Ejemplo:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
Propiedad
|
Descripción
|
|---|---|
|
matrix
|
Una matriz de rotación 3x3 que representa la rotación expresada como una matriz columna-mayor.
|
|
Declaración
|
Parámetros
|
Descripción
|
|---|---|---|
|
asEuler ()
|
Obtiene la representación euler de la rotación. Se expresa como un objeto con propiedades x, y z. Es un método asArray que devuelve estos tres valores como una matriz. Los valores se muestran en grados.
Ejemplo:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
// Get the Structure information for model-1
PTC.Structure.fromId('model-1').then ( (structure) => {
// Get the properties of the 'model-1' widget
var widgetProps = $scope.view.wdg['model-1'];
// Get the bounding box information for part '/0/6'
var bbox = structure.getBounds('/0/6');
// Transform the bounding box to account for the 'model-1' widget's location
var xform_bbox = bbox.transform(
[widgetProps.x, widgetProps.y, widgetProps.z],
[widgetProps.rx, widgetProps.ry, widgetProps.rz],
widgetProps.scale);
// Move '3DImage-1' to the center of the bounding box
$scope.view.wdg['3DImage-1'].x = xform_bbox.center.x;
$scope.view.wdg['3DImage-1'].y = xform_bbox.center.y;
$scope.view.wdg['3DImage-1'].z = xform_bbox.center.z;
// Get the location information for part '/0/2/8'
var loc = structure.getLocation('/0/2/8');
// Transform the location to account for the 'model-1' widget's location
var xform_loc = loc.transform(
[widgetProps.x, widgetProps.y, widgetProps.z],
[widgetProps.rx, widgetProps.ry, widgetProps.rz],
widgetProps.scale);
// Get the rotational component as euler angles
var rot = xform_loc.rotation.asEuler();
// Rotate '3DImage-2' to match the rotation
$scope.view.wdg['3DImage-2'].rx = rot.x;
$scope.view.wdg['3DImage-2'].ry = rot.y;
$scope.view.wdg['3DImage-2'].rz = rot.z;
});