VBA - Contrôle assemblage - liste des pièces flottante

Bonjour à tous,

Je travaille actuellement sur une macro visant à vérifier si mon assemblage est totalement contraint. Si ce n’est pas le cas, l’objectif est de lister les pièces non contraintes, et idéalement, de vérifier également si tous les composants des sous-assemblages sont totalement contraints.

Dans une seconde étape, je souhaite étendre cette vérification à toutes les esquisses de chaque composant présent dans les assemblages et sous-assemblages, afin de déterminer si elles sont également totalement contraintes.

Je suis à la recherche des API qui me permettront de réaliser ces tests sur une pièce et une esquisse. Si des utilitaires dans MyCADTools ou d’autres fonctionnalités de SolidWorks Premium peuvent accomplir cela, je serais également intéressé.

Je vous remercie d’avance pour vos réponses et votre aide.

Après une rapide recherche rien trouvé qui fasse cela.
Pour la recherche en anglai contrainte c’est mates.
Tu trouves comment ajouter des contraintes, mais rien vue pour voir si l’une d’elle est libre ou sous contrainte.
Possiblement sans savoir si c’est réalisable, chercher par API ce symbole (-) qui veut dire sous contraint dans une esquisse comme pour les contraintes.

image

image
Un exemple d’ajout de contrainte:

Bonjour,
Normalement en balayant l’arbre de construction on récupère l’intitulé de la ligne donc suffit de faire de l’analyse de texte.

Je vous remercie pour vos réponses, mais quand je balaie l’arbre et que je récupère des info soit avec .name / .name2 / .gettitle aucune me renvoie le noms avec (-), si vous connaissez d’autre commande je suis preneur :smiley:

Bonjour;

Je me demande si ce n’est pas possible de le faire avec l’outil Design Checker (Solidworks premium)
https://help.solidworks.com/2022/french/SolidWorks/solidworks_design_checker/c_welcome_design_checker.htm

A confirmer ou invalider, pour l’instant je n’ai pas la main sur mon poste…

Cordialement

Bonjour,

Quelle est la version de Solidworks que vous utilisez?
Sinon, voici un liens que j’ai trouvé. Peut être qu’il pourra vous aider:
https://help.solidworks.com/2019/french/SolidWorks/Sldworks/c_Best_Practices_for_Mates_SWassy.htm

D’après ce que j’ai trouvé, pour réaliser les tests de contrainte sur une pièce et une esquisse dans SolidWorks , l’utilisation de l’API de SolidWorks pour accéder aux contraintes d’assemblage et aux esquisses est recommandée. De plus, l’examen des utilitaires disponibles dans MyCADTools pourrait également être bénéfique.

Quelques liens utiles:
https://help.solidworks.com/2022/French/SolidWorks/sldworks/HIDD_OPTIONS_LARGE_ASSEMBLY.htm
https://help.solidworks.com/2022/french/SolidWorks/sldworks/HIDD_OPTIONS_EDGES.htm
https://help.solidworks.com/2022/french/SolidWorks/sldworks/hidd_options_sketch.htm

Bonjour;
j’ai ceci pour les esquisses de fonctions:
https://help.solidworks.com/2020/English/api/sldworksapi/Fully_Define_Underdefined_Sketch_Example_VB.htm

En revanche pour les assemblages c’est une autre paire de manches… pas trouvé pour l’instant.

Cordialement.

J’ai trouvé la commande .GetConstrainedStatus() qui fonctionne sur les composants, mes uniquement sur le premier niveau, sinon il me renvoie la valeur du sous-ensemble mère
https://help.solidworks.com/2021/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IComponent2~GetConstrainedStatus.html?verRedirect=1

La méthode à l’air de fonctionner aussi pour les esquisses avec :
https://help.solidworks.com/2020/english/api/sldworksapi/Get_Sketch_Constraints_Example_VB.htm

Sinon, j’ai essayé de paramétrer le Design Checker mais je n’arrive pas à avoir ce que je veux.

Si quelqu’un à d’autre idée, je reste preneur,

Cordialement