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.
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.
É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.
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.
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 :
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
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.
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.
Recevez notre vaste gamme de ressources techniques directement dans votre boîte de réception.
Désabonnez-vous à tout moment.