Bonjour à tous,
J'aimerais insérer, dans un encart de texte, une partie du nom de la pièce (pas tout le nom seulement les charactére choisit)
Je ne sait pas coment manipuler la chaine de charactére pour atteindre cette objectif, des idées ?
Je prefererais une solution sans iLogic si possible.
Au plaisir de vous lire.
Résolu ! Accéder à la solution.
Résolu par vpeuvion. Accéder à la solution.
Résolu par vpeuvion. Accéder à la solution.
Bonjour,
Voici un exemple de code ilogic qui conserve les 5 premiers caractères de l'ipropriété Numéro de pièce.
Left(iProperties.Value("Project", "Part Number"),5)
Je ne crois pas qu'il soit possible de modifier directement la chaîne dans le champ par une équation.
Vincent.
A moins que ces éléments soient présents dans des paramétres et/ou des ipropriétés que l'on pourrait combinés dans une Iprop personnalisée je ne vois pas non plus comment faire sans Ilogic.
Fabian Perrée
Giùp.fr | LinkedIn
Ce post vous a été utile ? N'hésitez pas à aimer ce post.
Ce post a-t-il répondu à votre question ? Cliquez sur le bouton Accepter la solution.
Entendu, pas de solution vanilla.
Merci pour vos réponses, je vais construire a partir de ça.
Tu peux peut-être te passer de iLogic en suivant l'idée de Fabian :
Par exemple, tu peux créer 2 iPropriétés personnalisées Partie1 et Partie2.
Ensuite tu peux ajouter une équation à la ipropriété Numéro de pièce.
Dans ton encart, tu pourras insérer seulement Partie1.
Tout dépend de comment est géré ton flux et comment tu crées la valeur du numéro de pièce actuellement.
Vincent.
<b@vpeuvion,onjour
Actuellement nos pièce sont "nommée a la main" et c'est cette information que je viens chercher.
nous incluons l'arborescence de la position du fichier dans sont nom :
Ceci permet de lier les nom de piéce a leur N°dossier interne, ainsi qu'a la structure de conception (ensemble maitre / sous ensemble A / sous ensemble A_A / pieces A_A_B ... ) et de raccourcir les adresse.
Nous désirons garder cette unité de nommage pour le moment, et modifier les impropriétés du nom de piéces est contre productif, puisqu'il faudrait ensuite renommer et déplacer le fichier...
Je vais cherche comment intégrer / automatiser tout ça plus proprement.
Merci de vôtres aide !
Bonjour @tristan-haller , merci pour les explications.
Je ne sais pas si ça peut t'être utile, mais voici un exemple de code qui crée le nom de fichier en fonction de l'emplacement sélectionné.
Cela ne doit pas répondre complètement à ton besoin mais c'est pour le principe.
Tu peux executer le code et sélectionner le dossier "B", il te créera le nom du fichier et le nom de l'ensemble maître.
Imports System.IO
Sub Main() Dim FileExtension As String = String.Empty Select Case ThisDoc.Document.DocumentType.ToString Case "kPartDocumentObject" FileExtension = ".ipt" Case "kDrawingDocumentObject" FileExtension = ".idw" Case "kAssemblyDocumentObject" FileExtension = ".iam" End Select Using folderBrowser As New FolderBrowserDialog() If folderBrowser.ShowDialog() = DialogResult.OK Then Dim selectedPath As String = folderBrowser.SelectedPath Dim parentDir As DirectoryInfo = Directory.GetParent(selectedPath) Dim grandParentDir As DirectoryInfo = parentDir.Parent Dim selectedFolderName As String = New DirectoryInfo(selectedPath).Name If parentDir IsNot Nothing AndAlso grandParentDir IsNot Nothing Then Dim fileName As String = Right(grandParentDir.Name,5) & "_" & parentDir.Name & "_" & selectedFolderName & FileExtension Dim filePath As String = System.IO.Path.Combine(selectedPath, fileName) MessageBox.Show("Ensemble maître : " & Right(grandParentDir.Name,5)) MessageBox.Show("Nom du fichier : " & System.IO.Path.GetFileName(filePath)) Else MessageBox.Show("Impossible de déterminer les dossiers parents.") End If End If End Using End Sub
J'espère que cela pourra t'être utile.
Vincent.
Bonjour @vpeuvion
Ce code peut effectivement m'etre utile, Merci !
Il vas me falloir faire un environement de test pour vérifier coment il fonctionne et l'aguster a notre Workflow, mais il me semble fonctionel.
La fonction qu'il me manquerais dans ce code, c'est la vérification des Nom de fichier déjà présent dans le ParentDir, pour pouvoir incrémenter mes pièces en fonction de celle déjà présente
ex: dans le dossier D01234/A/B/A
je vais retrouver le sous ensemble 01234_A_B_A.iam
et toutes les pièces qu'il contient
01234_A_B_A.ipt
01234_A_B_A_A.ipt
01234_A_B_A_B.ipt
01234_A_B_A_C.ipt
le fichier en cour devrais donc s'appeler >> 01234_A_B_A_D.ipt
un idée de coment lire tous les fichiers contenu jusqu'à la prochaine lettre disponible?
Bonne journée !
Bonjour @tristan-haller
Je suis content que cela puisse t'être utile.
Je pense qu'il est possible de retrouver la prochaine lettre disponible. Je vais tester de mon côté et te ferai un retour prochainement.
Vincent.
Dans le code tu peux faire une boucle en utilisant la fonction chr() ou équivalent qui te permet de générer un caractère à partir d'un nombre et ça tombe bien A c'est 65 jusque Z 90 (les minuscules c'est de 97 à 122 je pense)
Guillaume MASSART
AFFIVAL SAS
Inventor Pro 2022
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.