Auf Kopiervorlagen zugreifen - TIAPortal

TIA Portal Openness: API für die Automatisierung von Engineering-Workflows

ft:publication_title
TIA Portal Openness: API für die Automatisierung von Engineering-Workflows
Product
TIAPortal
Version
V20
Publication date
01/2025
Language
de-DE
Auf Kopiervorlagen zugreifen

Voraussetzung

Einleitung

Die Schnittstelle TIA Portal Openness API unterstützt den Zugriff auf Masterkopien in einer globalen Bibliothek und der Projektbibliothek:

  • Masterkopien erstellen

  • Masterkopien in Systemordnern und benutzerdefinierten Ordnern enumerieren

  • Masterkopien umbenennen

  • Informationen von Masterkopien abfragen

  • Informationen von Objekten in einer Masterkopie abfragen

Attribut

Datentyp

Beschreibung

Author

String

Gibt den Namen des Autors zurück.

ContentDescriptions

MasterCopyContentDescriptionComposition

Gibt eine Beschreibung des Inhalts der Masterkopie zurück.

CreationDate

DateTime

Gibt das Erstellungsdatum zurück.

Name

String

Gibt den Namen der Masterkopie zurück.

Programmcode

Um alle Masterkopien im Systemordner einer Bibliothek zu enumerieren, ändern Sie folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

public static void EnumerateMasterCopiesInSystemFolder (MasterCopySystemFolder masterCopySystemFolder)

{

    foreach (MasterCopy masterCopy in masterCopySystemFolder.MasterCopies)

    {

        //...

    }

}

Ändern Sie folgenden Programmcode, um mit der Methode "Find" auf eine einzelne Masterkopie zuzugreifen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

    MasterCopySystemFolder systemFolder = projectLibrary.MasterCopyFolder;

    MasterCopyComposition mastercopies = systemFolder.MasterCopies;

    MasterCopy masterCopy = mastercopies.Find("Copy of ...");

...

Ändern Sie folgenden Programmcode, um Gruppen und Untergruppen von Masterkopien zu enumerieren:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

private static void EnumerateFolder(MasterCopyFolder folder)

{

    EnumerateMasterCopies(folder.MasterCopies);

    foreach (MasterCopyUserFolder subFolder in folder.Folders)

    {

        EnumerateFolder(subFolder); // recursion

    }

}

private static void EnumerateMasterCopies(MasterCopyComposition masterCopies)

{

    foreach (MasterCopy masterCopy in masterCopies)

    {

        ...

    }

}

Ändern Sie den folgenden Programmcode, um mit der Methode "Find" auf einen MasterCopyUserFolder zuzugreifen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

    MasterCopyUserFolderComposition userFolderComposition = ...

    MasterCopyUserFolder userFolder = userFolderComposition.Find("Name of user folder");

...

Um eine Masterkopie umzubenennen, ändern Sie folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

//Setting the name attribute

var masterCopy = projectLibrary.MasterCopyFolder.MasterCopies.Find("SampleMasterCopyName");

masterCopy.Name = "NewMasterCopyName";

//Setting the name attribute dynamically

var masterCopy = projectLibrary.MasterCopyFolder.MasterCopies.Find("SampleMasterCopyName");

masterCopy.SetAttributes(new[] {new KeyValuePair<string,object>("Name", "NewMasterCopyName")});

Informationen von Masterkopien abfragen

Um Informationen einer Masterkopie abzurufen, ändern Sie folgenden Programmcode:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

public static void GetMasterCopyInformation(MasterCopy masterCopy)

{

    string author = masterCopy.Author;

    DateTime creationDate = masterCopy.CreationDate;

    string name = masterCopy.Name;

}

Informationen von Objekten in einer Masterkopie abfragen

Das Objekt MasterCopy enthält den Navigator ContentDescriptions, bei dem es sich um eine Zusammensetzung von MasterCopyContentDescriptions handelt.

Eine Masterkopie kann mehrere Objekte enthalten. Das Objekt MasterCopy enthält ContentDescriptions für jedes direkt in der Masterkopie enthaltene Objekt. Wenn die Masterkopie einen Ordner enthält, der ebenfalls einige Elemente enthält, enthält das Objekt MasterCopy nur eine ContentDescription des Ordners.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

MasterCopy multiObjectMasterCopy = ...;

//Using ContentDescriptions

MasterCopyContentDescriptionComposition masterCopyContentDescriptions = multiObjectMasterCopy.ContentDescriptions;

MasterCopyContentDescription contentDescription= masterCopyContentDescriptions.First();

string name = contentDescription.ContentName;

Type type = contentDescription.ContentType;