Position de l'origine d'une pièce au sein d'un assemblage (API Solidworks)

Bonjour,

Je cherche au sein d'une macro VBA lancée dans un assemblage à récupérer pour placer dans un tableur excel le nom de la pièce (c'est fait) et les coordonnées de l'origine de cette pièce dans cet assemblage. C'est ce que je ne sais pas encore faire.

Voici le morceau du code concerné :

ChildPartCount = UBound(AssChild)    

    For j = 0 To ChildPartCount
            'Nom et config
            xlapp.Worksheets(1).cells(Ligne, 1).Value = AssChild(j).Name
            xlapp.Worksheets(1).cells(Ligne, 2).Value = AssChild(j). ????

           Ligne=Ligne+1

          Next

Merci d'avance à qui pourra m'aider

Bonjour,

 

Je ne comprend pas pourquoi vous cherchez a avoir la position des origines. Les composants de l'assemblage je comprend mais la position de l'origine me semble un peu trop théorique.

 

Surtout que vous allez avoir la position de l'origine mais pas la direction des axes. vous pouvez surement trouver la réponse ici :

http://help.solidworks.com/2018/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isketchpoint~getid.html?verRedirect=1

 

J'ai fais quelque chose dans le même genre, j'ai fais une esquisse avec des positions de point de référence, je gère la position des points et je dit tel composant va sur tel point.

Je confirme que j'ai bien besoin des coordonnes de l'origine, sans les axes. ^^

Je n'ai pas réussi à utiliser le GetID pour l'origine. J'ai l'impression qu'il faut avoir une esquisse.

Mais j'ai fini par trouver la bonne syntaxe, si quelqu'un a le même besoin, à savoir : 

AssChild(j).Transform2.ArrayData(9)   (à multiplier par 1000) pour la coordonnée x

pour le y ArrayData(10) et (11) pour le z.

Merci pour ta contribution Mandragore.

1 « J'aime »

C'est le soucis de mon lien , il cherche les coordonnés du point dans l'esquisse.

 

Je viens d'aller dans l'atelier on ma fais exactement la même demande .... a savoir récupérer la position sur Y de certain composant dans un assemblage.

 

 

1 « J'aime »