Recherche et correction des références circulaires SOLIDWORKS

Article de GoEngineer sur mai 16, 2020

Une référence circulaire peut se produire lorsque deux ou plusieurs composants d'assemblage partagent une référence externe. Par exemple, la reconstruction du composant 1 nécessite la reconstruction du composant 2, mais ce dernier nécessite ensuite la reconstruction du composant 1, et ainsi de suite.

Une autre façon dont cela peut se produire est dans le gestionnaire d'équations, où une équation est entièrement ou partiellement définie par une autre équation (ou valeur), mais cette deuxième équation (ou valeur) est liée à la première.

Une référence circulaire peut se manifester par la présence de symboles de reconstruction récurrents dans l'arbre du gestionnaire de fonctions. La reconstruction de l'assemblage entraîne le déplacement du symbole de reconstruction d'un composant à un autre. Les reconstructions ultérieures de l'assemblage peuvent entraîner un retour du symbole de reconstruction au composant d'origine. À chaque reconstruction, le symbole de reconstruction parcourt tous les composants concernés. Cependant, le symbole de reconstruction n'est pas présent si l'une de ces pièces est ouverte dans une fenêtre distincte.

Les références circulaires peuvent également se manifester par l'apparition d'erreurs de reconstruction dans les composants concernés. Lorsqu'une pièce est modifiée dans le contexte de l'assemblage, des erreurs de reconstruction peuvent apparaître dans certains (ou tous) des composants concernés. Ces erreurs disparaissent généralement après la sortie du mode Édition de l'assemblage.

Comment trouver une référence circulaire

La façon la plus évidente de trouver une référence circulaire est de voir le symbole de reconstruction apparaître sur une entité dans l'arbre FeatureManager. C'est la seule façon de savoir où commencer les modifications. Si vous reconstruisez et que ce symbole apparaît toujours, c'est probablement une référence circulaire.
Voici quelques étapes pour les assemblages et les pièces.

  • Exécutez l'évaluation du rendement (anciennement AssemblyXpert) à la première ouverture de l'assemblage. Cette fonction identifiera la présence potentielle d'une référence circulaire.
  • Cliquez sur l'icône Reconstruire ou appuyez sur Ctrl+Q pour une reconstruction forcée.
  • Recherchez un symbole de reconstruction dans l'arborescence du gestionnaire de fonctionnalités qui ne disparaîtra pas.
  • Regardez la fonctionnalité, l'esquisse ou le composant.
  • Supprimez les relations d'esquisse, les fonctions ou les composants et reconstruisez pour voir si le symbole disparaît.
  • Fermez le modèle et NE PAS ENREGISTRER.
  • Ouvrez le modèle et supprimez/corrigez les problèmes détectés comme étant à l'origine de la référence circulaire.

Étant donné que déterminer la source d'une référence circulaire peut être difficile et prendre du temps, il est préférable d'éviter les références circulaires lorsque cela est possible.

Une des meilleures façons d'éviter les références circulaires lors de la conception est d'utiliser des esquisses et des blocs de mise en page. Puisque les modifications sont effectuées à partir de ces esquisses et blocs et se propagent à toutes les entités de référence, elles peuvent être utilisées pour contrôler toutes les références externes.

Lors de l'utilisation d'esquisses de présentation, les relations sont créées de telle sorte que l'esquisse pilote tout le reste. Cependant, rien ne vous empêche d'utiliser d'autres fonctions de l'assemblage pour piloter l'esquisse. Évitez ce type de conflit, car il peut créer des esquisses qui changent à chaque reconstruction, ce qui a un impact sérieux sur les temps de reconstruction. Lorsque vous utilisez tout type de relations contextuelles, assurez-vous d'établir une ou plusieurs entités pilotes qui ne sont pas pilotées par d'autres entités.

POURBOIRES

  • Évitez le chaînage en guirlande, où A pilote B, B pilote C, etc. Une meilleure pratique consiste à faire en sorte que A pilote B et C directement.
  • Si des références externes doivent être ajoutées aux composants d'un assemblage, attachez-les aux composants clés. Ces composants clés ne doivent pas contenir de fonctions avec des références externes, car cela pourrait introduire des références cycliques.
  • Évitez d'ajouter des relations d'un composant de niveau supérieur à un composant d'un sous-assemblage.
  • Évitez d'ajouter une référence externe à une fonctionnalité qui contient déjà une référence externe.
  • Évitez d'ajouter des références externes aux fonctions d'assemblage dépendantes du temps, telles que les trous « Assistant de perçage/série », les « Modèles de composants » et les coupes d'assemblage (extrusions, révolutions, lofts).

La résolution de ce type de problèmes nécessite généralement une relation intime avec le modèle pour savoir exactement où se déroule toute l’interaction.

Exemples

S-057225

SOLIDWORKS® identifie désormais les équations présentant des caractéristiques de références circulaires potentielles, même si elles ne violent pas une condition de référence circulaire. Par exemple, les cotes de référence d'une fonction enfant, pilotant une autre cote dans l'esquisse parente, peuvent créer des références circulaires.

Lien de téléchargement du fichier : https://goengineer.sharefile.com/d-sa9b35d03e9d4ab3b

« D1@Sketch1 » est défini par une équation :
« D1@Sketch1 » = si (« D2@Sketch1 » < 6 , 10 , « test »)

Lorsque cette équation est évaluée comme vraie, tout est résolu correctement, mais SOLIDWORKS® vous avertit toujours.

Remplacez « D2@Sketch1 » par 6 et reconstruisez. L'équation est maintenant fausse et il y a un problème de dépendance circulaire.
Dans les deux cas, SOLIDWORKS® signale cela comme une situation potentielle de référence circulaire.

Vous pouvez désactiver les avertissements potentiels de référence circulaire via Outils > Options > Options système > Messages/Erreurs/Avertissements > Afficher les références circulaires potentielles dans les équations.

S-073146

Si le «Ordre de résolution automatique’ est toujours disponible, SOLIDWORKS® ne pourra pas identifier les équations qui provoquent des références circulaires potentielles. Pour un exemple de ce comportement, téléchargez le fichier ZIP dans le lien ci-dessous et extrayez-le dans un dossier sur votre ordinateur.

Lien de téléchargement du fichier : https://goengineer.sharefile.com/d-s56dc11085fb44dab

Ensuite, suivez ces étapes :

  1. Ouvrez la section échantillon.
  2. Aller à Outils Options Messages/Erreurs/Avertissements.
  3. Assurez-vous que le « Afficher les références circulaires potentielles dans les équations » l'option est définie sur « Partout » ou « Dans la boîte de dialogue des équations seulement ».
  4. Aller à Outils Équations. Notez que le « Ordre de résolution automatique » l'option n'est pas active.
  5. Déplacez le curseur sur le « Ordre de résolution automatique » option. L'infobulle affiche « Désactivé en raison d’une référence circulaire potentielle dans les équations ».
  6. Pour identifier les références circulaires potentielles, déplacez le curseur sur le triangle jaune. L'infobulle affiche le « Référence circulaire potentielle » message.
  7. Répétez l'étape 2, puis définissez « Afficher les références circulaires potentielles dans les équations » option pour «Jamais".
  8. Presse Ctrl+Q reconstruire une partie.

Remarquez le « Ordre de résolution automatique » L'option est maintenant active. Cependant, sa sélection n'identifiera pas les équations potentiellement liées à des références circulaires.

S-064386
L'utilisation de dimensions pilotées dans vos équations peut être à l'origine de ce problème. Ces dimensions dépendent d'autres dimensions et peuvent donc être mal résolues. Par exemple :

Lien de téléchargement du fichier : https://goengineer.sharefile.com/d-s65378f1886b4cc6a

  1. Ouvrez la pièce jointe, « Référence circulaire potentielle ».
  2. Aller à la Menu Affichage, Masquer/Afficher et sélectionnez Noms des dimensions.
  3. Corriger « Croquis 1 ». Notez les dimensions de 67,62 mm, « D1 », « D4 » et « D6 »
  4. Ouvrez-le Équations dialogue

Notez l'équation « D1@Sketch1 » = « D6@Sketch1 », où la dimension « D6@Sketch1 » est pilotée. Elle est indiquée par un triangle jaune, ce qui indique un problème potentiel de référence circulaire.

Dans cet exemple, vous pouvez facilement constater que « D6@Sketch1 » est piloté par « D4@Sketch1 ». Cependant, il est très difficile, par programmation, de prédire quelle cote pilote une autre cote. Par conséquent, SOLIDWORKS® considère que « D6 » dépend de TOUTES les cotes de Sketch1. Par conséquent, si « D1 » est défini par une équation faisant référence à « D6 », SOLIDWORKS® considère alors cette équation comme potentiellement circulaire.

Vous pouvez désactiver les avertissements potentiels de référence circulaire via Outils > Options > Options système > Messages/Erreurs/Avertissements > Afficher les références circulaires potentielles dans les équations.

Équation

Par exemple, les équations suivantes incluent une référence circulaire. Les modifications de la première équation entraînent des modifications de la deuxième, qui entraînent à leur tour des modifications de la troisième et de la première équation, créant ainsi une boucle infinie. SOLIDWORKS® détecte la référence circulaire et affiche le texte des équations en rouge.

« D1@Sketch1@part_outside.Part » = « D2@Sketch1@part_inside.Part » + 2
« D2@Sketch1@part_inside.Part » = « Côté » – 6
« Côté » = « D1@Sketch1@part_outside.Part » * .5

 

À propos de GoEngineer

GoEngineer offre des logiciels, des technologies et une expertise qui permettent aux entreprises de libérer l'innovation en matière de conception et de livrer de meilleurs produits plus rapidement. Avec plus de 40 ans d'expérience et des dizaines de milliers de clients dans les secteurs de la haute technologie, des dispositifs médicaux, de la conception de machines, de l'énergie et d'autres industries, GoEngineer fournit des solutions de conception de premier plan avec SOLIDWORKS CAD, l'impression 3D Stratasys, la numérisation 3D Creaform et Artec, CAMWorks, PLM, et plus.

Voir tous les messages de GoEngineer