.. highlightlang:: us .. _auto_xyz_sub: auto_xyz_Sub ============ .. index:: auto_xyz_Sub .. us.tag auto_xyz_Sub NOTREADYGERMAN auto_xyz Changed5400 :ref:`auto_xyz_Sub` subtrahiert zwei 3D-Datensätze (Kennfelder). .. function:: hDataNew = auto_xyz_Sub(hData, hData2) hDataNew = auto_xyz_Sub(hData_Layer, hData2) hDataNew = auto_xyz_Sub(hData_Layer, hData2, nSourceType) .. us.return **Returnwert** *hDataNew* ist die Zugriffsnummer des neu erzeugten 3D-Datensatzes. .. us.params **Parameter** .. uparam:: hData *hData* ist die Zugriffsnummer (Handle) des Datensatzes auf den die Funktion angewendet werden soll. Der erzeugte Datensatz wird dem Diagramm zugefügt, in dem sich *hData* befindet. .. uparam:: hData_Layer *hData_Layer* ist ein Vektor von Zugriffsnummern. Das erste Element ist die Zugriffsnummer (Handle) des Datensatzes auf den die Funktion angewendet werden soll. Das zweite Element ist die Zugriffsnummer (Handle) des Diagramms, dem der neue Datensatz zugefügt werden soll. .. uparam:: hData2 *hData2* ist die Zugriffsnummer (Handle) eines weiteren 3D-Datensatzes. .. uparam:: nSourceType *nSourceType* ist einer der folgenden Werte: .. list-table:: :header-rows: 1 * - Wert - Bedeutung * - 1 - Berechnung über Stützstellen von Datensatz 1. * - 2 - Berechnung über Stützstellen von Datensatz 2. * - 3 - Berechnung über Interpolationsmatrix (Default) Für den Wert 1 oder 2 werden für beide Datensätze die Z-Koordinaten an den entsprechenden x,y-Stützstellen berechnet und dann entsprechend verknüpft (addiert). Beim Typ 3 werden für beide Datensätze jeweils eine Matrix an den identischen Stützstellen berechnet und danach die beiden Matrizen verknüpft (addiert). Wenn beide Kennfelder identische oder quasi identische Stützstellen haben, liefert die Funktion mit den Werten 1 oder 2 das genauere Ergebnis. .. us.comment **Kommentar** Die 3D-Datensätze können sowohl von einer Matrix als auch von beliebig verteilten X/Y/Z-Tripeln erzeugt worden sein. Der neue Datensatz wird wie folgt erzeugt: * Es wird der Überlappungsbereich der beiden Kennfelder in der x,y-Ebene bestimmt. * Innerhalb dieses Bereichs werden für beide Kennfelder neue Interpolationsmatrizen berechnet. * Die gewünschte Rechenoperation kann dann elementweise durchgeführt werden. * Von der Ergebnismatrix wird ein neuer Datensatz erzeugt. Die Kennfeldhülle wird vom 1. Datensatz verwendet. .. us.example **Beispiel** :: hPage = auto_LoadTemplate("test.ipw") ssFile1 = auto_ImportData(GetRootDirectory() + "samples/test1.xls") hData1 = auto_LoadDataset("Diagram1", "EngSpd", "PME", "TOEL1"); ssFile2 = auto_ImportData(GetRootDirectory() + "samples/test2.xls") hData2 = auto_LoadDataset("Diagram2", "EngSpd", "PME", "TOEL1"); hLayer = PageGetLayerHandle(hPage, "Diagram3"); hDataNew = auto_xyz_Sub([hData1, hLayer], hData2); PageReplot(hPage); .. seealso:: :ref:`uberblick-automatisierung-der-diagrammerstellung`, :ref:`auto_LoadDataset` :sub:`id-385380`