|
|
Wird ein Modell importiert, so muss das Kontrollkästchen Erlauben, dass Erlebnis Zugriff auf CAD-Metadaten hat aktiviert sein, damit diese API verwendet wird.
|
PTC.Structure.fromId(‘model-1’).then( (structure) => {
// Do something with ‘structure’
});
|
Deklaration
|
Parameter
|
Beschreibung
|
|---|---|---|
|
getBounds (idpath)
|
• {string|string[]} idpath – ID-Pfad, wie z.B. '/0/1', oder ein Array von ID-Pfaden ['/0/1', '/0/2'].
• {string|string[]} propName – (Optional) Beispielsweise 'Display Name' oder ['Display Name', 'Part ID Path']
• {string|string[]} categoryName – (Optional) Beispielsweise 'PROE Parameters'.
|
Ruft ein Metadatenobjekt ab, das den ID-Pfad oder die Eigenschaftswerte für die angegebenen Parameter idpath und propName darstellt.
Diese Funktion gibt das Metadatenobjekt zurück, welches den angegebenen Parameter idpath darstellt, oder, falls propName angegeben ist, dann den Wert der Eigenschaft auf der Komponente.
Beispiel:
PTC.Metadata.fromId('model-1').then( (metadata) => {
|
|
getLocation (idpath)
|
• {string|string[]} propName – (Optional) Beispielsweise 'Display Name' oder ['Display Name', 'Part ID Path']
• {string|string[]} categoryName – (Optional) Beispielsweise 'PROE Parameters'.
|
Diese Funktion gibt alle Zeichenfolgen-Eigenschaftswerte aus einer einzelnen Komponente oder nicht definiert zurück, wenn keine Daten/Komponenten verfügbar sind. Ist der angegebene Parameter propName ein Array, wird ein string[] von Werten zurückgegeben.
Beispiel:
PTC.Metadata.fromId('model-1').then( (metadata) => {
|
|
Eigenschaft
|
Beschreibung
|
|---|---|
|
min
|
Die minimale Ausdehnung des Rahmens, ausgedrückt als ein Objekt mit den Eigenschaften x, y und z, und eine asArray-Methode, die diese drei Werte als ein Array zurückgibt.
Beispiel:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
max
|
Die maximale Ausdehnung des Rahmens, ausgedrückt als ein Objekt mit den Eigenschaften x, y und z, und eine asArray-Methode, die diese drei Werte als ein Array zurückgibt.
Beispiel:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
center
|
Der Mittelpunkt des Rahmens, ausgedrückt als ein Objekt mit den Eigenschaften x, y und z, und eine asArray-Methode, die diese drei Werte als ein Array zurückgibt.
Beispiel:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
corners
|
Ein Array der 8 Eckpunkte des Rahmens, die jeweils als ein Objekt mit den Eigenschaften x, y und z ausgedrückt werden, und eine asArray-Methode, die diese drei Werte als ein Array zurückgibt.
Beispiel:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
Deklaration
|
Parameter
|
Beschreibung
|
|---|---|---|
|
transform (position, rotation, scale)
|
• {number[]|string[]|string} position – die Positionskomponente der erforderlichen Transformation, angegeben als Array mit drei Zahlen ([0,0,5]), als Array von Zeichenfolgen, welche Zahlen darstellen ([‘0’,’0’,’5’]) oder als eine einzelne Zeichenfolge mit drei durch Kommas getrennten Zahlen (‘0,0,5’)
• {number[]|string[]|string} rotation – die Rotationskomponente der erforderlichen Transformation, angegeben als Array mit drei Zahlen ([0,0,5]), als Array von Zeichenfolgen, welche Zahlen darstellen ([‘0’,’0’,’5’]) oder als eine einzelne Zeichenfolge mit drei durch Kommas getrennten Zahlen (‘0,0,5’) Falls nicht angegeben, wird keine Rotationstransformation angewendet.
• {number[]|string[]|string|number} scale – die Skalierungskomponente der erforderlichen Transformation, angegeben als Array mit drei Zahlen ([0,0,5]), als Array von Zeichenfolgen, welche Zahlen darstellen ([‘0’,’0’,’5’]), als eine einzelne Zeichenfolge mit drei durch Kommas getrennten Zahlen (‘0,0,5’) oder als eine einzelne Zahl, die einen einheitlichen Skalierungsfaktor angibt. Falls nicht angegeben, wird von einem Skalierungsfaktor von 1 ausgegangen.
|
Gibt ein neues bounds-Objekt zurück, das den an der Achse ausgerichteten Rahmen darstellt, welcher den ursprünglichen Rahmen einschließt, nachdem die angegebene Positions-, Rotations- und Skalierungstransformation durchgeführt wurde.
Das ursprüngliche bounds-Objekt bleibt durch diese Operation unverändert.
Beispiel:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
Eigenschaft
|
Beschreibung
|
|---|---|
|
matrix
|
Eine 4x4-Transformationsmatrix, welche die Position, ausgedrückt als Haupt-Array der Spalte, darstellt.
|
|
position
|
Die Positionskomponente der Position, ausgedrückt als ein Objekt mit den Eigenschaften x, y und z und eine asArray-Methode, die diese drei Werte als ein Array zurückgibt.
Beispiel:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
rotation
|
Die Rotationskomponente der Position, ausgedrückt als Rotationsobjekt.
Beispiel:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
Deklaration
|
Parameter
|
Beschreibung
|
|---|---|---|
|
transform (position, rotation, scale)
|
• {number[]|string[]|string} position – die Positionskomponente der erforderlichen Transformation, angegeben als Array mit drei Zahlen ([0,0,5]), als Array von Zeichenfolgen, welche Zahlen darstellen ([‘0’,’0’,’5’]) oder als eine einzelne Zeichenfolge mit drei durch Kommas getrennten Zahlen (‘0,0,5’)
• {number[]|string[]|string} rotation – die Rotationskomponente der erforderlichen Transformation, angegeben als Array mit drei Zahlen ([0,0,5]), als Array von Zeichenfolgen, welche Zahlen darstellen ([‘0’,’0’,’5’]) oder als eine einzelne Zeichenfolge mit drei durch Kommas getrennten Zahlen (‘0,0,5’) Falls nicht angegeben, wird keine Rotationstransformation angewendet.
• {number[]|string[]|string|number} scale – die Skalierungskomponente der erforderlichen Transformation, angegeben als Array mit drei Zahlen ([0,0,5]), als Array von Zeichenfolgen, welche Zahlen darstellen ([‘0’,’0’,’5’]), als eine einzelne Zeichenfolge mit drei durch Kommas getrennten Zahlen (‘0,0,5’) oder als eine einzelne Zahl, die einen einheitlichen Skalierungsfaktor angibt. Falls nicht angegeben, wird von einem Skalierungsfaktor von 1 ausgegangen.
|
Gibt ein neues Positionsobjekt zurück, das die ursprüngliche Position darstellt, nachdem die angegebene Positions-, Rotations- und Skalierungstransformation durchgeführt wurde.
Das ursprüngliche Positionsobjekt bleibt durch diese Operation unverändert.
Beispiel:
PTC.Structure.fromId(‘model-1’).then( (structure) => {
|
|
Eigenschaft
|
Beschreibung
|
|---|---|
|
matrix
|
Eine 3x3-Rotationsmatrix, welche die Rotation, ausgedrückt als Haupt-Array der Spalte, darstellt.
|
|
Deklaration
|
Parameter
|
Beschreibung
|
|---|---|---|
|
asEuler ()
|
Ruft die euler-Darstellung der Rotation ab. Diese wird ausgedrückt als ein Objekt mit den Eigenschaften x, y und z, und eine asArray-Methode, die diese drei Werte als ein Array zurückgibt. Die Werte werden in Grad angegeben.
Beispiel:
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;
});