CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
SAMSUNG Galaxy A14 5G Noir 64 Go à 98,49€
Voir le deal
96.99 €

CATPart et CATProduct

3 participants

Aller en bas

R?solu CATPart et CATProduct

Message par quentinc Mar 21 Juin 2016 - 13:23

bonjour je voudrai faire la différence entre les catpart et les catproduct de mon assemblage afin de faire une vérification du genre,
-si catproduct, partnumberfini par 0 ok sinn pasok
-si catpart, partnumber ne fini pas par 0 ok sinn pasok

après avoir lu plusieurs page dessus je n'y arrive toujours pas,

voici mon programme la parti sur laquelle je travail est encadré de '=====
Code:
If myDoc Is Nothing Then
    MsgBox "Please load a product - THEN activate this function!"
    Return
End If

Set myrootProduct = myDoc.Product



Call visitProduct(myrootProduct, "", myTree)

UserForm2.Show
End Sub

Sub visitProduct(prod As Product, parentKey As String, ByRef myTree As TreeView)

On Error Resume Next

Dim children As Products
Set children = prod.Products
Dim i As Integer
Dim child As Product
Dim key As String
Dim label As String



label = prod.PartNumber & " / " & prod.Name ' pour afficher le pratNumber et le nom d'instance

key = parentKey & "###" & prod.Name

If parentKey = "" Then
    UserForm2.tree.Nodes.Add(, , key, label).Expanded = True
 
    UserForm2.ListBox1.AddItem "----------"
    UserForm2.ListBox1.AddItem prod.PartNumber
    UserForm2.ListBox1.AddItem "----------"

Else
    UserForm2.tree.Nodes.Add(parentKey, tvwChild, key, label).Expanded = True
    UserForm2.ListBox1.AddItem "----------"
    UserForm2.ListBox1.AddItem prod.PartNumber
    UserForm2.ListBox1.AddItem "----------"
    MsgBox (prod.Parameters.Name)
           '======================
          
          
            If (InStr(1, prod.Products.Name, "CATProduct") > 0) Then
                If Right(Left(prod.PartNumber, 10), 1) = "0" Then
                       UserForm2.ListBox2.AddItem prod.PartNumber & " --> correct"

                      
                End If
            Else
                UserForm2.ListBox2.AddItem prod.PartNumber & " --> part"
            End If
           '======================
End If

For i = 1 To children.Count
    Set child = children.Item(i)
    Call visitProduct(child, key, myTree)
Next
End Sub

merci d'avance


Dernière édition par quentinc le Jeu 23 Juin 2016 - 9:31, édité 1 fois

quentinc
actif
actif

Messages : 33
Date d'inscription : 07/06/2016
Localisation : saint quentin en yveline

Revenir en haut Aller en bas

R?solu Re: CATPart et CATProduct

Message par raphael_59240 Mer 22 Juin 2016 - 8:50

bonjour,


A mon sens il faut que que tu ecrives ceci
Code:


if InStr(1, prod.Name, "CATProduct") > 0 Then
                If Right(Left(prod.PartNumber, 10), 1) = 0 Then
                      UserForm2.ListBox2.AddItem prod.PartNumber & " --> correct"

                      
                End If
            Else
                UserForm2.ListBox2.AddItem prod.PartNumber & " --> part"
            End If




essais ça


raphael
raphael_59240
raphael_59240
actif
actif

Messages : 127
Date d'inscription : 28/03/2015
Age : 53
Localisation : dunkerque

Revenir en haut Aller en bas

R?solu Re: CATPart et CATProduct

Message par lumpazepfel Mer 22 Juin 2016 - 13:17

Salut Quentin,

Je pense qu'il faut placer tes tests un peu plus haut.
Il faut également récupérer le nom de fichier et pas le PartNumber pour le test:

Code:
label = prod.PartNumber & " / " & prod.Name ' pour afficher le pratNumber et le nom d'instance
'===========================
'Récupère le nom de fichier:
nomFichier = prod.ReferenceProduct.Parent.Name

'Si c'est un CATProduct:
If InStr(nomFichier, "CATProduct") > 0 Then
    If Right(Left(prod.PartNumber, 10), 1) = 0 Then
        MsgBox (prod.PartNumber & " nom OK")
        'UserForm2.ListBox2.AddItem prod.PartNumber & " --> correct"
    Else
        MsgBox (prod.PartNumber & " nom NOK")
        'UserForm2.ListBox2.AddItem prod.PartNumber & " --> incorrect"
    End If
End If
'Si c'est un CATPart:
If InStr(nomFichier, "CATPart") > 0 Then
    If Right(Left(prod.PartNumber, 10), 1) = 0 Then
        MsgBox (prod.PartNumber & " nom NOK")
        'UserForm2.ListBox2.AddItem prod.PartNumber & " --> incorrect"
    Else
        MsgBox (prod.PartNumber & " nom OK")
        'UserForm2.ListBox2.AddItem prod.PartNumber & " --> correct"
    End If
End If
'===========================

key = parentKey & "###" & prod.Name
lumpazepfel
lumpazepfel
Fédérateur
Fédérateur

Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim

Revenir en haut Aller en bas

R?solu Re: CATPart et CATProduct

Message par quentinc Jeu 23 Juin 2016 - 9:31

bonjour,

en effet il fallait bien prendre le nom fichier,
merci à vous deux

quentin

quentinc
actif
actif

Messages : 33
Date d'inscription : 07/06/2016
Localisation : saint quentin en yveline

Revenir en haut Aller en bas

R?solu Re: CATPart et CATProduct

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum