TopSolid'Wood 6.24 / API : Appliquer une couleur aux pièces suivant leur niveau

Tous sujets concernant le développement spécifique de TopSolid avec l'interface COM, le langage LIP, la programmation de l'API en VB...

Modérateurs : remi77, D@vid, Alexis GERARD

Fred_44780
Lieutenant-colonel
Lieutenant-colonel
Messages : 414
Enregistré le : 15 avr. 2015, 23:20
Réponses : 7
Version TopSolid : 6.23
Module TopSolid : TopSolid'Wood

Re: TopSolid'Wood 6.24 / API : Appliquer une couleur aux pièces suivant leur niveau

Message non lu par Fred_44780 »

J'ai fais l'essai, il faut remplacer la ligne :

Code : Tout sélectionner

For Each TopElt In TopDoc.Elements
Par :

Code : Tout sélectionner

For Each TopElt In TopDoc.Shapes
C'est la même logique que le code que j'ai partager en première page de ce sujet
Lorenzo
Première Classe
Première Classe
Messages : 12
Enregistré le : 11 oct. 2024, 15:42
Version TopSolid : 6.23
Module TopSolid : TopSolid'Wood

Re: TopSolid'Wood 6.24 / API : Appliquer une couleur aux pièces suivant leur niveau

Message non lu par Lorenzo »

J'avais déjà essayé ça, j'ai retenté et ça ne renvoie rien. J'ai essayé de supprimer la condition, et ça ne renvoie que l'élément de l'image ci-dessous.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Fred_44780
Lieutenant-colonel
Lieutenant-colonel
Messages : 414
Enregistré le : 15 avr. 2015, 23:20
Réponses : 7
Version TopSolid : 6.23
Module TopSolid : TopSolid'Wood

Re: TopSolid'Wood 6.24 / API : Appliquer une couleur aux pièces suivant leur niveau

Message non lu par Fred_44780 »

J'avais compris que tu n'arrivais à récupérer aucune info, au temps pour moi !

J'ai eu du mal mais j'ai fini par trouver (en tout cas, à partir de ton code celà fonctionne bien chez moi), il faut remplacer ta ligne :

Code : Tout sélectionner

If TopElt.Identifier = 16973 Then
Par celle-ci :

Code : Tout sélectionner

If TopElt.NameOrIdentifier = "@16973" Then
Le code entier:

Code : Tout sélectionner

Sub test()

    Set TopApp = New TopSolid.Application
    Set TopDoc = TopApp.CurrentDocument
    
        For Each TopElt In TopDoc.Shapes
    
        If TopElt.NameOrIdentifier = "@16973" Then
        
            Message = Message & "Désignation : " & TopElt.Designation & vbCrLf
            Message = Message & "Nom de l'index : " & TopElt.BomIndexName & vbCrLf
            Message = Message & "Identifiant : " & TopElt.Identifier & vbCrLf & vbCrLf
        
        End If
              
    Next TopElt
    
    MsgBox Message

End Sub
AK2T
Caporal
Caporal
Messages : 29
Enregistré le : 09 nov. 2017, 08:44
Version TopSolid : 6.18
Module TopSolid : TopSolid'Steel

Re: TopSolid'Wood 6.24 / API : Appliquer une couleur aux pièces suivant leur niveau

Message non lu par AK2T »

Bonjour,

Savez vous si on peut attaquer la « Catégorie de Pièce » via vba? Je n’ai rien trouvé sur ce sujet dans l’aide API.

D’avance merci!:)
Fred_44780
Lieutenant-colonel
Lieutenant-colonel
Messages : 414
Enregistré le : 15 avr. 2015, 23:20
Réponses : 7
Version TopSolid : 6.23
Module TopSolid : TopSolid'Wood

Re: TopSolid'Wood 6.24 / API : Appliquer une couleur aux pièces suivant leur niveau

Message non lu par Fred_44780 »

Salut d'après mes recherches, ce n'est pas possible :roll:
-AK2T-
Seconde Classe
Seconde Classe
Messages : 3
Enregistré le : 22 sept. 2024, 11:18
Version TopSolid : 6.24
Module TopSolid : TopSolid'Wood

Re: TopSolid'Wood 6.24 / API : Appliquer une couleur aux pièces suivant leur niveau

Message non lu par -AK2T- »

Salut Fred,
Après avoir cherché partout, j’en étais venu à la même conclusion… Dommage.
Bon bah on passe par les propriétés alors.

Merci pour ta réponse!;)
Répondre