Freigeben von Dateien in mehreren Konstruktionen

Wenn Sie eine Datendatei haben, die regelmäßig aktualisiert werden muss oder von mehr als einer Configurator 360-Konstruktion benötigt wird, ist es nicht erforderlich, mit jeder Konstruktion eine eigene Kopie hochzuladen. Stattdessen können Sie die Datendatei als freigegebene Datei hochladen. In Ihren Konstruktionsregeln können Sie den Inhalt einer freigegebenen Datei unter Verwendung von vorgabemäßigen .NET- oder Intent-Funktionen lesen. Die freigegebene Datei kann jederzeit aktualisiert werden, ohne dass die Konstruktionen geändert oder aktualisiert werden.

Datendateien können aus beliebigen Quellen stammen, einschließlich Datenbanken, Excel oder manuell bearbeiteten CSV- oder XML-Dateien.

So geben Sie Dateien frei

  1. Wählen Sie in der Configurator 360-Administratoroberfläche Registerkarte Optionen Freigegebene Dateien aus.

  2. Klicken Sie auf die Schaltfläche Datei wählen, um die freizugebenden Dateien auszuwählen und hochzuladen. Verwenden Sie die Schaltfläche Neuer Ordner, um bei Bedarf Unterordner zu erstellen. Diese Dateien werden für alle Katalogadministratoren freigegeben.

Anmerkung: Wenn Sie über mehrere Katalogadministratoren verfügen, wird dieser Ordner für alle Administratoren freigegeben. Wenn Sie Unterordner in diesem Datenordner erstellen, müssen Sie die entsprechenden Unterordner auch in Ihrem lokalen Ordner erstellen, wie im nächsten Abschnitt beschrieben.

Verwenden gemeinsam genutzter Dateien in iLogic und ETO-Regeln

  1. Legen Sie die Datendateien in einem lokalen Ordner namens C:\C360_A360\ ab.
    Anmerkung: Wenn Sie einen anderen Ordner verwenden möchten, erstellen Sie eine Datei namens C:\C360_A360\LocalFolderPath.txt. In dieser Textdatei fügen Sie eine Zeile hinzu, die den vollständigen Pfad zu dem von Ihnen ausgewählten Ordner enthält.
  2. Installieren Sie Helfer. Autodesk bietet Versionen der GetSharedDataFile-Funktion, die auf einem lokalen Computer ausgeführt wird, für iLogic und ETO. ETO: Installieren Sie zwei Intent-Entwurfsdateien. Informationen zum Zugriff auf diese Dateien finden Sie unter Autodesk Configurator 360-Beispiele.

    Für iLogic

    Kopieren Sie die Datei iLogicVb in einen Ordner außerhalb Ihres Inventor-Projektarbeitsbereichsordners (z. B. C:\iLogicRules ). Dies ist ein globaler Ordner für externe iLogic-Regeln.

    Wechseln Sie nun zu Extras Optionen iLogic-Konfiguration, um iLogic auf diesen Ordner zu verweisen. Dieser Befehl befindet sich in einem Dropdown-Menü am unteren Rand der Gruppe Optionen.

    Anmerkung: Fügen Sie diese Datei nicht den Daten hinzu, die Sie in Configurator 360 hochladen.

    Für ETO

    Fügen Sie die drei IKS-Dateien Ihrem Intent-Suchpfad hinzu. Als Speicherort empfohlen wird ivHostLib (z. B. C:\Programme\Autodesk\Inventor ETO 20xx\Library\Inventor\ivhostlib).

  3. Die GetSharedDataFile()-Funktion bietet Ihnen Zugriff auf eine freigegebene Datei.

    Die Funktionsdefinition lautet:

    Function GetSharedDataFile(sharedFilePath As String) As String

    sharedFilePath ist der Pfad zu Ihrer freigegebenen Datei (relativ zum Stammordner). Verwenden Sie Schrägstriche oder umgekehrte Schrägstriche als Trennzeichen für Verzeichnisse im Pfad. Wenn sich die Datei direkt im Stammordner befindet, geben Sie "filename.ext" an. Wenn die Funktion ausgeführt wird, gibt sie einen vollständigen Windows-Pfad zur Datei an.

    In iLogic

    1. Rufen Sie diese Funktion über die Regel C360_RefreshSharedData auf.

    2. Erstellen Sie diese Regel im Dokument, das Ihre für C360 sichtbaren Parameter enthält. Alle freigegebenen Daten müssen von dieser Regel abgerufen werden. Configurator 360 führt diese Regel aus, wenn Ihre Konstruktion geladen wird, um sicherzustellen, dass die aktuelle Version der freigegebenen Daten verwendet wird.

    3. Verwenden Sie beliebige Dateilesefunktionen, um auf den Inhalt der Datei zuzugreifen.

    4. Wählen Sie eine der folgenden Möglichkeiten aus, um fortzufahren:
    • Speichern Sie sofort alle Daten, die aus der Datei gelesen werden, in dauerhafte Inventor-Datenstrukturen. Zum Beispiel Parameter, Eigenschaften, Attribute. Diese Daten werden nicht nur in den Speicher geladen, sondern mit der Inventor-Datei gespeichert. Diese Methode ist praktisch und robust, in einigen Fällen jedoch weniger effizient als die folgende Methode.
    • Speichern Sie einige oder alle Daten, die aus der Datei gelesen werden, in iLogic SharedVariables (oder anderen nicht dauerhaften Speichern), um sie zukünftig für andere Regeln verfügbar zu machen. Verweisen Sie bei späteren Regeln ganz normal auf diese SharedVariables. Führen Sie die anderen Regeln über C360_RefreshSharedData zu dem Zeitpunkt aus, an dem die neuen Daten empfangen werden. Diese Technik minimiert zeitaufwändige Dateioperationen, ist aber fehleranfällig, wenn diese anderen Regeln nicht über C360_RefreshSharedData aufgerufen werden.

    In ETO Intent

    Die Aufrufe der GetSharedDataFile()-Funktion stammen aus bestimmten Wrapper-Bauteilen. Gehen Sie wie folgt vor

    1. Erstellen Sie eine Konstruktion in Ihrem Projekt. Leiten Sie diese aus der C360CommonFileCollection-Konstruktion ab. Hier sehen Sie ein Beispiel:
      Design MySharedFileCollection : C360CommonFileCollection
         Child MySharedFile As :C360SharedDataFile
           SharedPath = "MyFile.txt"
         End Child
      End Design
      

      In dieser Konstruktion enthält jedes untergeordnete Bauteil eine einzelne freigegebene Datei. Fügen Sie alle Bauteile hinzu, die Sie benötigen. Das System verwendet den SharedPath-Parameter als das Argument für die GetSharedDataFile()-Funktion.

    2. Fügen Sie in der Stammkonstruktion ein untergeordnetes Bauteil hinzu, das die MySharedFileCollection-Konstruktion implementiert.
    3. Um den vollständigen Windows-Pfad zu einer freigegebenen Datei zu erhalten, lesen Sie den Wert der LocalPath-Regel des untergeordneten Bauteils C360SharedDataFile. Hier sehen Sie ein Beispiel:
      Dim localPath As String = MySharedFileCollection.MySharedFile.LocalPath

      In ETO Intent können Sie auf die freigegebenen Daten an jedem Punkt in Ihrem Code zugreifen. Keine der oben beschriebenen Einschränkungen für iLogic gelten für ETO.

  4. Nachdem Sie lokal Tests durchgeführt haben, laden Sie die freigegebenen Datendateien wie oben beschrieben zu Configurator 360 hoch.
  5. Laden Sie Ihre Konstruktion in Configurator 360 hoch.
    Anmerkung: Laden Sie Ihre freigegebenen Datendateien hoch, bevor Sie eine Konstruktion hochladen, die auf diese Daten zugreifen muss.

Dateiversionen

Sie können freigegebene Dateien in Configurator 360 jederzeit aktualisieren. Wenn eine freigegebene Datei zum ersten Mal in einer Configurator 360-Modellierungssitzung referenziert wird, prüft Configurator 360, ob eine neuere Version der Datei vorliegt. Neue Sitzungen verwenden die neuesten Versionen aller Dateien. Wenn Sie eine Datei aktualisieren, während eine Sitzung ausgeführt wird, kann die laufende Sitzung die neuere Version nicht erkennen. Nur die nachfolgenden Sitzungen erkennen die neuere Version.

Wenn Sie ein Modell öffnen, das mit einer RFQ (Angebotsanforderung) gespeichert wurde, die mit Daten aus einer oder mehreren freigegebenen Dateien erstellt wurde, referenziert das Modell weiterhin die ursprünglichen (alten) Versionen aus der Sitzung, in der das Modell ursprünglich erstellt wurde.

Configurator 360 erkennt keine Abhängigkeiten zwischen freigegebenen Dateien. Um Aktualisierungen zu vereinfachen, ist es am besten, alle abhängigen Informationen (beispielsweise zwei Tabellen aus derselben Datenbank) in einer einzelnen Datei zu kombinieren. Durch die Kombination in einer einzigen Datei vermeiden Sie ein mögliches Problem. Wenn Sie so vorgehen, kann eine einzelne Configurator 360-Sitzung keine neue Version einer Datei zusammen mit einer älteren, nicht kompatiblen Version der zweiten Datei mehr laden. Wenn Sie die beiden Tabellen in zwei separaten Dateien gespeichert haben, könnte ein solcher Fehler auftreten.

Einschränkungen

Vermischen Sie nicht ETO- und iLogic-Zugriff auf freigegebene Dateien innerhalb der gleichen Konstruktion. Wenn Ihre ETO-Konstruktion Bauteile oder Unterbaugruppen umfasst, die iLogic-Regeln enthalten, sollten diese Regeln nicht auf freigegebene Datendateien zugreifen. Lesen Sie stattdessen alle freigegebenen Daten über Intent-Regeln ein, und geben Sie die erforderlichen Werte an die iLogic-Komponenten weiter.

Beispiel für iLogic-Regel

Lesen Sie eine oder mehrere freigegebene Dateien über die C360_RefreshSharedData-Regel in iLogic ein.

Hier sehen Sie ein einfaches Beispiel für eine C360_RefreshSharedData-Regel:

Die AddVbFile-Anweisung ermöglicht die GetSharedDataFile-Funktion.

AddVbFile "C360SharedFilesAccess.iLogicVb"

Dim localPath As String = GetSharedDataFile("WidthFactor.txt")
Dim fileContents As String = IO.File.ReadAllText(localPath)

Dim widthFactorX As Double
If Double.TryParse(fileContents, widthFactorX) Then
 Parameter("WidthFactor") = widthFactorX
End If

Mit dieser Regel wird eine Textdatei mit einer einzelnen Zeile gelesen, die aus einem einzelnen numerischen Wert besteht. Die Regel weist den Wert einem Parameter namens WidthFactor zu. Anschließend kann dieser Parameter in einer anderen Regel verwendet werden, um eine Beziehung zwischen zwei Parametern herzustellen:

Width = Length * WidthFactor