Partage de fichiers dans les conceptions

Si vous disposez d'un fichier de données à mettre à jour régulièrement ou qui est nécessaire à plusieurs conceptions Configurator 360, vous n'avez pas besoin d'en charger une copie à chaque conception. Vous pouvez simplement charger le fichier de données en tant que fichier partagé. Dans vos règles de conception, vous pouvez lire le contenu d'un fichier partagé à l'aide des fonctions standard .NET ou des fonctions d'intention. Le fichier partagé peut être mis à jour à tout moment, sans qu'il soit nécessaire de modifier ni de mettre à jour les conceptions.

Les fichiers de données peuvent provenir de n'importe quelle source (bases de données, fichiers Excel, CSV édités manuellement ou XML, par exemple).

Pour partager des fichiers

  1. Dans l’interface d’administration de Configurator 360, sélectionnez l’onglet Options  Fichiers partagés.

  2. Cliquez sur le bouton Choisir les fichiers pour sélectionner et charger les fichiers à partager. Utilisez le bouton Nouveau dossier pour créer des sous-dossiers selon vos besoins. Ces fichiers sont partagés avec tous les administrateurs de catalogue.

Remarque : Si vous avez plusieurs administrateurs de catalogue, ce dossier sera partagé avec tous les administrateurs. Si vous créez des sous-dossiers dans ce dossier de données, vous devrez créer des sous-dossiers correspondants dans votre dossier local, comme indiqué dans la section suivante.

Utilisation de fichiers partagés dans iLogic et de règles à la commande (ETO)

  1. Placez les fichiers de données dans un dossier local appelé C:\C360_A360\.
    Remarque : Pour utiliser un autre dossier, créez un fichier nommé C:\C360_A360\LocalFolderPath.txt. Dans le fichier texte, ajoutez une ligne indiquant le chemin d'accès complet au dossier sélectionné.
  2. Installez la fonction d'assistant. Autodesk propose des versions de la fonction GetSharedDataFile, qui s'exécute sur un ordinateur local pour iLogic et les conceptions à la commande. Pour ces dernières, installez deux fichiers de conception d'intention. Pour accéder à ces fichiers, reportez-vous à la rubrique Exemples d'Autodesk Configurator 360.

    Pour ILogic

    Copiez le fichier iLogicVb dans un dossier extérieur à celui de l'espace de travail du projet Inventor (par exemple, C:\iLogicRules). Il s'agit d'un dossier global pour les règles iLogic externes.

    Ensuite, accédez à la commande Outils Options Configuration iLogic pour relier iLogic à ce dossier. Cette commande figure dans un menu déroulant situé dans la partie inférieure du groupe de fonctions Options.

    Remarque : N'incluez pas ce fichier dans les données que vous chargez dans Configurator 360.

    Pour les conceptions à la commande

    Ajoutez les trois fichiers IKS à votre chemin de recherche d'intention. Il est recommandé d'utiliser l'emplacement ivHostlib (par exemple, C:\Program Files\Autodesk\Inventor ETO 20xx\Library\Inventor\ivhostlib).

  3. La fonction GetSharedDataFile () permet d'accéder à un fichier partagé.

    La définition de la fonction est la suivante :

    Function GetSharedDataFile(sharedFilePath As String) As String

    sharedFilePath est le chemin d’accès au fichier partagé (par rapport au dossier racine). Utilisez des barres obliques ou barres obliques inverses comme séparateurs de répertoire dans le chemin. Si le fichier se trouve dans le dossier racine, indiquez l’extension ("nomdefichier.ext"). Lors de son exécution, la fonction renvoie un chemin d'accès Windows complet au fichier.

    Dans iLogic

    1. Appelez cette fonction à l'aide d'une règle nommée C360_RefreshSharedData.

    2. Créez cette règle dans le document qui contient vos paramètres visibles C360. Toutes les données partagées doivent être extraites à l'aide de cette règle. Configurator 360 exécute cette règle lorsque votre conception est chargée afin de s'assurer qu'elle utilise la dernière version des données partagées.

    3. Utilisez une fonction de lecture de fichier pour accéder au contenu du fichier.

    4. Sélectionnez l'une des méthodes suivantes pour continuer :
    • Enregistrez immédiatement toutes les données lues à partir du fichier dans les structures de données persistantes d'Inventor, telles que les paramètres, les propriétés et les attributs. Ces données ne sont pas uniquement mises en mémoire : elles sont aussi enregistrées avec le fichier Inventor. Cette technique est pratique et robuste, mais s'avère parfois moins efficace que la méthode suivante.
    • Enregistrez tout ou partie des données lues à partir du fichier dans des variables SharedVariables iLogic (ou autre mémoire non persistante) afin qu'elles soient disponibles pour d'autres règles à l'avenir. Pour de futures règles, vous vous reporterez normalement à ces variables SharedVariables. Exécutez ces autres règles depuis C360_RefreshSharedData à la réception de nouvelles données. Cette technique réduit les opérations chronophages liées aux fichiers, mais peut entraîner des erreurs car elle n'appelle pas ces autres règles depuis C360_RefreshSharedData.

    Dans l'intention à la commande

    Les appels à la fonction GetSharedDataFile() sont effectués à partir de pièces d'habillage spécifiques. Procédez comme suit.

    1. Créez une conception dans votre projet. Dérivez-la de la conception C360CommonFileCollection. Voici un exemple :
      Design MySharedFileCollection : C360CommonFileCollection
         Child MySharedFile As :C360SharedDataFile
           SharedPath = "MyFile.txt"
         End Child
      End Design
      

      Dans cette conception, chaque pièce enfant contient un seul fichier partagé. Ajoutez toutes les pièces dont vous avez besoin. Le système utilise le paramètre SharedPath comme argument pour la fonction GetSharedDataFile().

    2. Dans votre conception racine, ajoutez une pièce enfant mettant en oeuvre la conception MySharedFileCollection.
    3. Pour obtenir le chemin d'accès Windows complet à un fichier partagé, vous pouvez lire la valeur de la règle LocalPath dans la pièce enfant C360SharedDataFile. Voici un exemple :
      Dim localPath As String = MySharedFileCollection.MySharedFile.LocalPath

      Dans l'intention à la demande, vous pouvez accéder aux données partagées à n'importe quel endroit dans votre code. Aucunes des restrictions indiquées ci-dessus pour iLogic ne s'appliquent aux intentions à la commande (ETO).

  4. Une fois les tests effectués en local, chargez vos fichiers de données partagés dans Configurator 360, comme indiqué ci-dessus.
  5. Téléchargez votre conception dans Configurator 360.
    Remarque : Chargez vos fichiers de données partagés avant de charger une conception qui tente d’y accéder.

Versions de fichiers

Vous pouvez mettre à jour à tout moment les fichiers partagés dans Configurator 360. La première fois qu'un fichier partagé est référencé dans une session de modélisation de Configurator 360, ce dernier vérifie l'existence d'une version plus récente du fichier. Les nouvelles sessions utilisent les dernières versions de tous les fichiers. Si vous mettez à jour un fichier lors de l'exécution d'une session, celle-ci ne détecte pas la dernière version. Seules les sessions suivantes prendront en compte la dernière version.

Si vous ouvrez un modèle enregistré avec une demande de devis créée à partir des données d'un ou de plusieurs fichiers partagés, celui-ci continue à référencer les versions d'origine (anciennes) utilisées dans la session au moment de la génération du modèle.

Configurator 360 ne parvient pas à détecter les interdépendances entre les fichiers partagés. Pour faciliter les mises à jour, il est recommandé de regrouper toutes les informations dépendantes (par exemple, deux tableaux provenant de la même base de données) dans un seul fichier. Le regroupement dans un seul fichier vous permet d'éviter les problèmes potentiels. Si vous procédez ainsi, une session unique de Configurator 360 ne peut pas charger une nouvelle version d'un fichier avec une ancienne version incompatible du second fichier. Si vous avez enregistré les deux tableaux dans deux fichiers distincts, une erreur de la sorte peut survenir.

Restrictions

Ne confondez pas l'accès iLogic et à la commande avec les fichiers de données partagés au sein de la même conception. Si votre conception à la commande (ETO) intègre des pièces ou des sous-ensembles qui contiennent des règles iLogic, ces dernières ne doivent pas accéder aux données partagées. Vous devez lire toutes les données partagées à l'aide des règles d'intention, puis transmettre les valeurs requises aux composants iLogic.

Exemple de règle iLogic

Lisez un ou plusieurs fichiers partagés à l'aide de la règle C360_RefreshSharedData dans iLogic.

Voici un exemple simple de règle C360_RefreshSharedData :

L'instruction AddVbFile fournit la fonction GetSharedDataFile.

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

Cette règle permet de lire un fichier texte avec une seule ligne contenant une seule valeur numérique. La règle attribue la valeur à un paramètre nommé WidthFactor. Ce paramètre peut alors être utilisé dans une autre règle pour établir une relation entre deux paramètres :

Width = Length * WidthFactor