Le but de mon calcul sur Tolanalyst sera de déterminer la hauteur jaune (du bas de la partie rouge au contre-alésage de la partie grise). Cette dimension dépend de plusieurs mesures, dont celles que j’ai indiquées dans l’image (le rayon, l’angle et le diamètre sur la partie rouge). Sera-t-il possible d’effectuer ce calcul de hauteur maximale et minimale en fonction des autres tolérances dimensionnelles qui lui sont associées (le rayon, l’angle et le Ø) ? D’après mes recherches, il semble que Tolanalyst ait du mal à prendre en compte les rayons et les angles. Merci de votre aide.
Bonjour @m.blt ,
Merci pour votre idée qui est très intéressante, mais elle ne convient pas à mon processus pour plusieurs raisons. Premièrement, les dimensions importantes sont soumises à des tolérances. Mon objectif est donc de déterminer la hauteur jaune à son maxi et mini en fonction de ces cotes importantes lorsque celles-ci sont à leurs valeurs maxi ou mini. Deuxièmement, il s’agit d’un assemblage de deux pièces, et j’ai une centaine d’assemblages similaires avec des différences mineures de cotes. Ainsi, suivre cette approche nécessiterait de recréer une nouvelle esquisse pour chaque assemblage regroupant les deux pièces uniquement pour ce calcul.
Effectivement, il manque des cotes à mon schéma mais j’avais réaliser cette assemblage juste pour représenter un cas similaire à mon cas / demande.
Concernant le tableau Excel, j’y ai aussi pensé, mais cela ne remplit pas mon cahier des charges qui exige que cela soit réalisé sur SolidWorks…
Par rapport au nombre de situations envisagées, la solution numérique associée à Excel est sans doute plus adaptée que l’esquisse SolidWorks.
Quant aux tolérances, il suffirait d’envisager deux cas, le premier donnant la cote maxi, le second la cote mini.
Si Excel ne convient pas, il reste la possibilité de faire le calcul dans l’assemblage par une macro. Sous réserve que chaque assemblage utilise les mêmes notations…
Oui, chaque assemblage suit le même principe, mais avec des variations uniquement dans les valeurs. Une solution basée sur une macro pourrait donc être envisageable pour automatiser ce processus. Cependant, je crains que TolAnalyst ne soit pas capable de réaliser ce type de calcul impliquant des rayons et des angles. J’ai contacté mon revendeur et j’attends actuellement une réponse du support technique.
Pourriez-vous m’éclairer davantage sur votre idée concernant les macros ? Je vous remercie pour votre collaboration.
Par macro, il est possible de récupérer les valeurs des cotes des pièces d’un assemblage et leurs tolérances, puis d’appliquer la formule donnant la dimension résultante, en valeurs mini et maxi.
La situation idéale : pour appliquer le principe de façon systématique, il faudrait que les deux pièces portent le même nom dans chacun de vos assemblages, et que les esquisses et les cotes portent également le même nom dans les pièces de chaque assemblage…
A défaut : si ce n’est pas le cas, on peut imaginer ouvrir chaque assemblage, sélectionner dans l’ordre les 6 cotes « paramètres », et appliquer la formule de calcul de la dimension mini/maxi.
C’est une solution qui pourrait m’intéresser. Dans mon cas, les dénominations ne sont pas les mêmes, mais je vois que votre solution fonctionnerait quand même. Donc, si je comprends bien, dans mon cas, il faudrait que j’ouvre l’assemblage, sélectionne manuellement les " 6 cotes paramètres " et les insère dans une macro dans laquelle j’aurais préalablement créé une formule de calcul de dimension mini/maxi. Cela reste réalisable malgré le fait que je souhaite le calcul maxi et mini ? Cela signifie que lorsque je sélectionne les " 6 cotes paramètres " , comment le logiciel va savoir comment prendre les cotes au maxi / mini et pas prendre leur valeur nominale ? De manière plus simple, la question est est-ce que le logiciel va réussir à différencier le mini et le maxi lors de ma sélection dans Solidworks ? Le tout est réalisable sur Solidworks ou une plateforme secondaire est nécessaire ?
Bonjour,
A mon sens le seul problème de la macro c’est comment indiquer le sens des maillons de la chaîne de côte (ce que sait faire en auto tolanalyst) pour savoir quelle valeur prendre (min ou max de la cote en fonction du résultat souhaité)
A part sélectionner toujours dans le même ordre ou ajouter des cases à cocher pour donner le sens je ne vois pas de solution « simple ».
Non, je n’ai pas encore essayé, car c’est ma première utilisation d’une macro en CAO. Je commence par étudier les fonctionnalités des macros afin de déterminer si mon objectif est réalisable. D’après vous, le seul problème que je pourrais rencontrer serait-il de définir les cotes en maxi/mini, par exemple, lorsque je cherche la hauteur maximale, toutes les cotes allant dans le même sens que la hauteur seraient en maxi, et celles allant dans le sens opposé seraient en mini ?
Le problème que je rencontre avec TolAnalyst est la complexité de l’assemblage. Il semble que TolAnalyst ait des difficultés à gérer des formes complexes. Dans mon cas, il y a des rayons et des angles dépendantes… (Voir image jointe à mon premier message) et à l’heure actuel je n’ai pas réussi à l’aide de TolAnalyst de réaliser un calcul correct sur ce type d’assemblage. Si le calcul est réalisable sur TolAnalyst ça serai parfait.
Ci-joint, une ébauche de macro sur une ébauche d’assemblage…
Les cotes (et leurs tolérances « bilatérales ») sont sélectionnées par leurs noms.
Les valeurs mini et maxi sont affichées dans les TextBox de la fiche UserForm2.
Le bouton [Exécuter] effectue le calcul du mini et du maxi de la dimension à évaluer.
Il est clair que le calcul n’a de sens que si la géométrie est conforme à votre illustration, et similaire pour tous les assemblages, .
Dans le cas contraire, je rejoins la remarque de @Cyril.f à propos du sens des cotes. SolidWorks ne les définissant pas, il faut supposer que les orientations seront les mêmes pour tous les assemblages.
La faiblesse de la méthode, c’est la sélection des cotes paramètres, basée sur leurs noms. La macro ne peut fonctionner que sur l’assemblage joint. Lorsque les noms changent au fil des assemblages, la macro doit être adaptée en conséquence. Galère !
La solution consisterait à prévoir une saisie interactive des cotes, mais c’est une affaire plus complexe…
J’aurais une dernière petite question concernant votre programmation, avez-vous tout programmé à la main ou existe-t-il une manière un peu plus simple pour le faire ? Merci beaucoup pour votre collaboration, je vais essayer de travailler de mon coté pour atteindre l’objectif final…
Travail totalement artisanal…
L’aide des API de SW est une source d’inspiration grâce à sa multitude d’exemples.
Autre source d’inspiration de qualité : https://www.codestack.net/solidworks-api/.
Et si VBA est le langage le plus accessible et le plus répandu, d’autres sont plus performants…
Bon courage.