Références des exemplaires famille

Forum dédié à TopSolid'Design 7, la nouvelle génération de CAO TopSolid.

Modérateurs : D@vid, remi77

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Références des exemplaires famille

Message non lu par ATK » 17 oct. 2017, 14:43

Bonjour à tous,

Je découvre TopSolid V7 depuis plusieurs mois et me penche désormais sur la question des références.
J'utilise le système de référencement automatique via le PDM avec un caractère + un compteur.
- Pièce = P00001,
- Assemblage Pièce = A00001
- etc...

Tout fonctionne parfaitement, mais j'ai cependant un soucis avec les références des exemplaires famille.
Prenons comme exemple une barre de Ø50 x 1000 mm :
- la longueur 1000 est paramétrée et sera le pilote de la famille.
- La référence de la pièce modèle est P00001.

J'ai remarqué que chaque exemplaire de cette famille portera la même référence que le modèle, soit P00001. Cela me dérange car je souhaiterais lier TopSolid avec un ERP et je me vais me retrouver avec une référence identique pour plusieurs pièces différentes.

J'ai pris contact avec le support mais ils n'ont pas de solution.
Ma question : Comment gérez-vous vos références d'exemplaires famille ?

Dans mon cas, l'idéal serait d'avoir un indice au bout des références de la famille, qui s'incrémenterait au fur et à mesure des créations d'exemplaires. (Ex : P00001.1, P00001.2, etc.)

Pensez-vous que ça soit possible ? Peut être avec un script ?

Merci d'avance et très bon après-midi.

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 17 oct. 2017, 17:15

Bonjour ATK,

Pour référencer un exemplaire de famille tu as deux solutions:
- Tu mets la référence en pilote et tu la renseignes à la pose du composant,
- Tu paramètres cette référence à l'aide des pilotes (exemple F-B08001000 pour ton exemple)

Nous sommes en train de voir pour rendre compatible les familles avec le référencement automatique mais c'est loin d'être simple car il faut être capable de gérer les familles sur n niveaux.

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Références des exemplaires famille

Message non lu par ATK » 18 oct. 2017, 09:32

Bonjour JuP,

Merci pour ta réponse, tes solutions et tes vidéos ! :D

Concernant ta première solution, j'ai inclue ma famille dans un assemblage, et la création de nouveaux exemplaires s'effectue lors du changement d'une dimension de l'assemblage, je n'ai donc pas accès aux pilotes lorsque les exemplaires sont créés de cette manière.

La deuxième solution fonctionne, mais dès lors que de nombreux pilotes sont prévus dans la famille, la référence devient très longue et complexe.
--------
J'aimerais pouvoir créer un script en VB, qui piloterait la référence complémentaire de manière à ajouter une extension à la fin de la référence automatique, par exemple :
- Référence : P00001
- Référence complémentaire : P00001.1

L'indice pourrais par exemple s'incrémenter à chaque fois qu'un exemplaire de la famille serait créé. La référence complémentaire du document modèle changerait, et donc celle le prochain exemplaire créé aussi.
On pourrait également recréer se principe sur plusieurs niveaux de famille, P0001.1.12 ou P0001.15.2 etc.

Questions :
Quels sont les ressources et guides de programmation de script VB sur TopSolid ? (Je n'ai trouvé aucun exemple :? )
Est-il possible de récupérer la quantité d'exemplaires présent dans une famille ?
Est-ce que ce que je raconte est complètement idiot ? :mrgreen:

Bonne journée

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 18 oct. 2017, 19:48

Merci pour ta réponse, tes solutions et tes vidéos ! :D
De rien, c'est avec plaisir !

Solution 1:
Ba si la référence est en pilote rien ne t’empêche de mettre un paramètre dedans ^^
Solution 2:
Oui tu as raison, il faudrait que je vois si on pourrait exploiter l'identifiant unique de TopSolid..

Solution 3:
Comme tu le suggères plus ou moins on pourrait faire un post traitement de la nomenclature en mode grattage qui permettrait d'affecter des références sans toucher au fichier physiquement. Par contre dans ce dernier cas il faut IMPÉRATIVEMENT qu'il y ait une seule nomenclature par projet et surtout que chaque plan pointe bien sur la nomenclature. Ca peut être une solution de dépannage mais en rien une alternative. Bon le hic c'est qu'il manque des trucs dans l'API de TopSolid pour faire ce genre de macro :-(

Si si tu as tout ici:
2017-10-18_19-43-23.jpg
Si tu ne vois pas ce menu, rajoute un -a dans le raccourcie vers TopSolid et redémarre le.

Pour ta dernière question, si c'est des codes oui (via l'API avec la méthode IParameters.GetCodeFamily ) si il y a des pilotes non je ne crois pas.

Bonne soirée !
Vous ne pouvez pas consulter les fichiers insérés à ce message.

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Références des exemplaires famille

Message non lu par ATK » 23 oct. 2017, 14:00

il faudrait que je vois si on pourrait exploiter l'identifiant unique de TopSolid..
En effet, cela résoudrait mon problème ! :)
Est-ce que c'est faisable ?

Merci pour l'info vers le guide :)


EDIT :

Oops, visiblement l'identifiant unique ne change pas non plus pour les exemplaires de famille :

Image
Image

Ces deux tôles ont des longueurs différentes et leurs identifiants unique est le même. :?

EDIT² :

Concernant la solution 1, piloter la référence, je n'arrive pas à comprendre à quelle moment je peux modifier la référence du composant.
J'utilise des pièces dont les paramètres changent en fonction d'autres paramètres présents dans un assemblage, j'ai fais une vidéo pour représenter ce que je veux dire : https://youtu.be/RdCqngjcy98

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 27 oct. 2017, 06:41

Ce que tu montres ce n'est pas l'identifiant du composant mais l'identifiant de l'opération de positionnement :-)

L'identifiant des documents sur TopSolid 7 ressemblent à ça:
19_f1c33fec-9548-4ddd-a73e-535b615eaa93&131073_120713

Il est garanti unique peut importe le nombre de projets, de pièces, de révision etc

Tu as combien de paramètres max sur tes composants? J'ai peut être une idée :-)

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Références des exemplaires famille

Message non lu par ATK » 27 oct. 2017, 08:13

Ce que tu montres ce n'est pas l'identifiant du composant mais l'identifiant de l'opération de positionnement :-)
Aaah ok ! :D
Tu as combien de paramètres max sur tes composants? J'ai peut être une idée :-)
Tu me sauverais, grand maxi 20 paramètres.

Merci

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Références des exemplaires famille

Message non lu par ATK » 03 nov. 2017, 09:07

Bonjour JuP,

As-tu du nouveau concernant mon problème ?

Merci et bonne journée.

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 03 nov. 2017, 09:17

Hello,

J'avais commencé à regarder mais 20 paramètres c'est trop chaud, il y a trop de possibilités et de combinaisons possibles.

En faite il y a une techno qu'on commence à entendre parce que l'application est célèbre (blockchain), c'est la hashing. Ça consiste à "coder" du texte sur un nombre de caractères spécifiques. Nous aurions pu imaginer concaténer tes 20 paramètres et les passer dans cette moulinette mais malheureusement j'ai essayé de me pencher dessus hier et ça n'est pas intégrable en standard dans TopSolid (via les fonctions script des paramètres).
https://fr.wikipedia.org/wiki/Fonction_de_hachage

On tourne en rond et là comme ça je ne vois pas d'autre choix que de rendre pilote la référence au niveau le plus haut. Ça ne résoud pas le problème des niveaux intermédiaires :evil:

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 03 nov. 2017, 10:02

il y a beaucoup de pièces dans tes assemblages? On pourrait imaginer a la fin du projet tout dériver... Si le modèle de dérivation est bien fait on pourrait lancer un référencement automatique. C'est un peu extrême comme solution mais c'est pas pire qu'affecter à la main une référence sur chaque pièce :mrgreen:

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 03 nov. 2017, 12:29

C'est bon j'y suis arrivé avec la fonction de hash. La solution était sous mon nez en évidence :mrgreen: :mrgreen:
1234 - Pièce.TopPkg
Tu as bien une référence unique qui sera générée en fonction du jeu de pilotes que tu vas renseigner.

Je te laisse jeter un oeil et on en discute ;-)
Vous ne pouvez pas consulter les fichiers insérés à ce message.

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Références des exemplaires famille

Message non lu par ATK » 04 nov. 2017, 10:05

Ça me semble carrément génial :)

Je teste plus en profondeur dès lundi et te tiens au courant !

Un très grand merci :D

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 06 nov. 2017, 07:12

essaie ça en complément:
Concaténeur de paramètres.rar
C'est une macro que j'ai codé ce weekend qui permet de quelques cliques de concaténer un lot de paramètres. C'était la partie la plus chiante de l'idée.
Pour que ça marche il faut que le document (pièce ou assemblage) soit ouvert et qu'aucune commande ne soit lancée.
Voici le code source (y'a un peu de fenêtrage à faire en complément):

Code : Tout sélectionner

Public Class Form1
    Private NoSystemParametersList As New List(Of ElementId)
    Private ActiveDocumentDocId As DocumentId

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ListViewParameters.View = View.Details
        ListViewParameters.FullRowSelect = True

        TopSolidHost.Connect()

        ActiveDocumentDocId = TopSolidHost.Documents.EditedDocument()

        Dim ParametersList As New List(Of ElementId)
        ParametersList = TopSolidHost.Parameters.GetParameters(ActiveDocumentDocId)

        For Each Parameter In ParametersList

            Dim ParameterName As String
            ParameterName = TopSolidHost.Elements.GetName(Parameter)

            If ParameterName.Contains("$") Then
                Continue For
            Else
                NoSystemParametersList.Add(Parameter)

                Dim ParameterFrendlyName As String
                ParameterFrendlyName = TopSolidHost.Elements.GetFriendlyName(Parameter)

                Dim ParameterType As String
                ParameterType = TopSolidHost.Parameters.GetParameterType(Parameter)

                Dim Item As New ListViewItem
                Item.Checked = False
                Item.SubItems.Add(ParameterFrendlyName)
                Item.SubItems.Add(ParameterType)

                ListViewParameters.Items.Add(Item)


            End If
        Next
    End Sub

    Private Sub ButtonConcatene_Click(sender As Object, e As EventArgs) Handles ButtonConcatene.Click
        Dim Value As String


        For i = 0 To ListViewParameters.CheckedItems.Count - 1

            If Value <> "" Then
                Value = Value + "&"
                Value = Value + """ - """
                Value = Value + "&"

            End If


            Value = Value + ListViewParameters.CheckedItems(i).SubItems(1).Text

        Next

        Dim ConcateningParameterValue As SmartText = New SmartText(SmartTextType.Formula, "", ElementId.Empty, ItemLabel.Empty, Value)

        Try
            TopSolidHost.Application.StartModification("Création du paramètre", True)
            TopSolidHost.Documents.EnsureIsDirty(ActiveDocumentDocId)
            Dim ConcateningParameterElementId As ElementId

            ConcateningParameterElementId = TopSolidHost.Parameters.CreateSmartTextParameter(ActiveDocumentDocId, ConcateningParameterValue)

            'TopSolidHost.Parameters.SetSmartTextParameterCreation(ConcateningParameterElementId, ConcateningParameterValue)

            TopSolidHost.Elements.SetName(ConcateningParameterElementId, TextBoxParameterName.Text)

            TopSolidHost.Application.EndModification(True, True)
        Catch ex As Exception
            MsgBox("Erreur lors de la création du paramètre" + vbNewLine + ex.Message)
            TopSolidHost.Application.EndModification(False, False)
        End Try


    End Sub


End Class

Vous ne pouvez pas consulter les fichiers insérés à ce message.

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Références des exemplaires famille

Message non lu par ATK » 06 nov. 2017, 08:33

Alors ça c'est la cerise sur le gâteau, et ça fonctionne très bien ! :D

Pour pousser le vice encore plus loin, penses-tu pouvoir compléter ton script VB en y ajoutant la création du paramètre "Hashcode" et en y incluant son script ?

(Histoire de n'avoir vraiment plus rien à faire ^^)

EDIT :
Pour me servir de la macro, je l'ai simplement exécutée depuis l'explorer windows, y a t il une autre méthode ?
Peut-on ajouter un raccourci vers ce programme dans TopSolid pour rendre son éxécution plus user-friendly ?

Merci à toi et bonne journée.

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 06 nov. 2017, 11:52

malheureusement non sinon tu te doutes bien que je ne m'en serai pas privé :mrgreen: En faite je pourrai créer le paramètre hashcode mais pas le script dedans. Cette fonction n'est pas présente dans automation. :evil:

Pour l'utiliser tu peux le faire effectivement depuis windows ou la rajouter dans TopSolid depuis Personnaliser:
2017-11-06_11-45-53.png
Après en faisant glisser l'icone sur une barre de menu tu pourras te faire un raccourcie.

Par contre garde quand même la "référence initiale" devant parce que visiblement il peut y avoir un jour un risque de doublon avec le hashcode (dixit microsoft). Je suis septique mais il vaut mieux se prémunir. En plus je pense que ça doit être géré en article sur votre ERP ou GPAO, ça permettra de faire le lien.
Vous ne pouvez pas consulter les fichiers insérés à ce message.

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Références des exemplaires famille

Message non lu par ATK » 14 nov. 2017, 08:54

Salut JuP,

Désolé de ne pas avoir répondu plus tôt et merci pour l"info du raccourci dans TopSolid ! :)
-----------------------------
Par contre garde quand même la "référence initiale" devant parce que visiblement il peut y avoir un jour un risque de doublon avec le hashcode (dixit microsoft).
Ok c'est fait.
-----------------------------
Concernant le Hashcode, j'ai remarqué que dans certains cas il pouvait être négatif, j'ai donc modifié ton code pour récupérer la valeur absolue du hashcode et donc positive :

Code : Tout sélectionner

Dim TextInput as string
TextInput = Concaténer
Dim InputHashed As integer
InputHashed = Abs(TextInput.GetHashCode())
Return InputHashed
Qu'en penses-tu ?
-----------------------------
Autre cas :
- Un assemblage de deux pièces, depuis lequel est créé une famille.
- Les 2 pièces assemblées sont liées à des familles, et donc leurs références sont complétées par des hascode.

Pour créer la référence des éléments famille de l'assemblage, je ramène les deux hascode "pièces" via les paramètres relais, que je concatène dans un autre paramètre texte.
Je peux alors générer un nouveau hashcode, que j'ajoute à la suite de la référence initiale de l'assemblage.

Je pense qu'il s'agit d'un cas de famille sur plusieurs niveaux comme tu en parlais au début du sujet, qu'en penses-tu ?
-----------------------------
Dernière chose, on ne peut pas concaténer un paramètre matériau, cela provoque une erreur.
La solution est d'utiliser le paramètre standard $'Nom du matériau' au lieu du paramètre matériau.

Bonne journée à toi ! :)

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 14 nov. 2017, 16:45

Concernant le Hashcode, j'ai remarqué que dans certains cas il pouvait être négatif, j'ai donc modifié ton code pour récupérer la valeur absolue du hashcode et donc positive :
CODE : TOUT SÉLECTIONNER
Dim TextInput as string
TextInput = Concaténer
Dim InputHashed As integer
InputHashed = Abs(TextInput.GetHashCode())
Return InputHashed
Qu'en penses-tu ?
Parfait!
Pour créer la référence des éléments famille de l'assemblage, je ramène les deux hascode "pièces" via les paramètres relais, que je concatène dans un autre paramètre texte.
Je peux alors générer un nouveau hashcode, que j'ajoute à la suite de la référence initiale de l'assemblage.

Je pense qu'il s'agit d'un cas de famille sur plusieurs niveaux comme tu en parlais au début du sujet, qu'en penses-tu ?
Je pense que c'est très bien. Au moins là vu le nombre de possibilités des hashcodes il y a très peu de chance que celui de l'assemblage soit un jour identique :-)
Dernière chose, on ne peut pas concaténer un paramètre matériau, cela provoque une erreur.
La solution est d'utiliser le paramètre standard $'Nom du matériau' au lieu du paramètre matériau.
Ah oui je n'ai pas gérer le cas des paramètres systèmes qui sont un peu particuliers. Par contre tu pourrais créer un paramètre texte intermédiaire "matière" (qui serait égal à la matière du document). Je pense que dans ce cas là ça peut fonctionner.

J'ai entendu dire que tu regardais pour un ERP aussi. Sache par anticipation qu'il y aura du travail coté CAO avec la notion de classification. Ce document permet de reproduire sur TopSolid le schéma hiérarchique des articles de l'ERP.
Exemple sur l'ERP tu pourrais avoir ça:
- Hydraulique
Vérins
Distributeurs
Réservoir
- Electrique
Capteurs
Moteurs
etc

L'idée c'est d'avoir la même chose sur TopSolid. L’intérêt va être lors de l'envoie de la nomenclatures TopSolid vers l'ERP. Suivant l'ERP tu pourras très certainement avoir de la création automatique d'articles.
Dernière édition par JuP le 14 nov. 2017, 17:15, édité 1 fois.

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Références des exemplaires famille

Message non lu par ATK » 14 nov. 2017, 17:12

J'ai entendu dire que tu regardais pour un ERP
Oui en effet ! :)

Merci pour le conseil je vais aller jeter un coup d’œil au document en question.

Pour le moment j'ai du mal à anticiper mes besoins en ERP. J'avance en CAO, en sachant que je devrais peut être revoir certaine chose pour avoir une bonne compatibilité avec le prochain ERP. Pour info, nous n'avons pas encore choisi l'ERP, donc je ne peux pas tester le transfert de nomenclature.

Je profite du sujet, selon toi, quel est à ce jour l'ERP le plus compatible avec TopSolid Design ?

Avatar de l’utilisateur
JuP
Colonel
Colonel
Messages : 2607
Inscription : 18 févr. 2013, 10:26
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design
Localisation : Lyon (France)

Re: Références des exemplaires famille

Message non lu par JuP » 14 nov. 2017, 17:25

ba sans aucun doute TopSolid'ERP. Après te dire si c'est l'ERP idéal pour vous je ne sais pas.

Globalement TopSolid arrivera toujours à s'interfacer car dans 9 cas sur 10 (hors TopSolid'ERP) ça passe par de l'export de nomenclature. Il peut y avoir de ce fait un post traitement si un manque existe.

Coté ERP concentrez vous sur les fonctionnalités du logiciel, les modules complémentaires possibles, la capacité à gérer les options et variantes, l'ergonomie générale, la capacité à être accompagné dans le déploiement etc.

ATK
Caporal
Caporal
Messages : 20
Inscription : 19 mai 2016, 09:53
Version TopSolid : 7.11
Module TopSolid : TopSolid'Design

Re: Références des exemplaires famille

Message non lu par ATK » 14 nov. 2017, 18:20

la capacité à être accompagné dans le déploiement etc.
Dans ce cas je vais tester TopSolid ERP :)

Sans vouloir vous jeter des fleurs, mais j'ai eu l'occasion de mettre en place pas mal de logiciels et niveau service / accompagnement vous êtes au top !

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité