Flux de travail robustes – Utilisation de SpaceClaim Scripting avec Ansys Mechanical

Rejoignez le forum des designers !

Votre expertise est essentielle pour la communauté. Rejoignez-nous et apportez vos connaissances !

Rejoindre le forum maintenant

Partagez, apprenez et évoluez avec les meilleurs professionnels du secteur.


Le scripting SpaceClaim/Discovery dans Ansys consiste à utiliser des scripts pour automatiser et personnaliser les opérations géométriques dans Ansys SpaceClaim/Discovery, qui sont des logiciels de modélisation 3D et d’édition géométrique. Il permet aux utilisateurs de créer, modifier et manipuler la géométrie de manière plus efficace et plus robuste. Ces scripts peuvent être combinés avec Ansys Mechanical pour améliorer la robustesse globale du projet en rationalisant le processus de préparation de la géométrie et en garantissant une génération de modèle cohérente et sans erreur. Une fois le modèle généré, il peut facilement être lié à un flux de travail mécanique existant pour rendre votre modèle plus robuste !

Veuillez noter que SpaceClaim et Discovery sont deux outils de CAO différents proposés par Ansys. Discovery est l’outil le plus récent et utilise toutes les mêmes fonctionnalités que SpaceClaim. Ces capacités de script ont été développées à l’origine pour SpaceClaim, mais ont également été intégrées dans Discovery.

Voici comment les scripts de SpaceClaim/Discovery contribuent à une manipulation robuste de la géométrie et comment ils complètent Ansys Mechanical :

  1. Automatisation et répétition : Les scripts de SpaceClaim/Discovery automatisent les tâches répétitives et les opérations géométriques, réduisant ainsi les risques d’erreurs manuelles qui peuvent survenir lors de la création ou de la modification de la géométrie. Cette automatisation garantit la cohérence et la robustesse du processus de génération de géométrie.
  2. Personnalisation : Les scripts peuvent être adaptés aux exigences spécifiques d’un projet, ce qui permet aux utilisateurs de créer des outils et des flux de travail personnalisés pour la manipulation de la géométrie. Cette personnalisation permet aux ingénieurs de relever plus efficacement des défis géométriques complexes.
  3. Paramétrage : Les scripts de SpaceClaim/Discovery peuvent être utilisés pour paramétrer les caractéristiques géométriques, ce qui facilite l’adaptation et l’ajustement du modèle à différents scénarios de conception. Ce paramétrage améliore la flexibilité et la robustesse du projet en permettant des modifications rapides de la géométrie.
  4. Contrôle de la qualité : En utilisant des scripts, vous pouvez appliquer des contrôles de qualité à la géométrie. Par exemple, vous pouvez vous assurer que des contraintes de conception ou des tolérances spécifiques sont respectées, ce qui contribue à la robustesse du processus de conception.
  5. Intégration avec Ansys Mechanical : Les scripts de SpaceClaim/Discovery peuvent être intégrés de manière transparente à Ansys Mechanical. Cette intégration permet la génération automatique de géométries complexes et optimisées, prêtes pour les analyses structurelles, thermiques ou autres. En automatisant la phase de préparation des géométries, vous réduisez les risques d’erreurs ou de divergences lors du transfert des géométries vers Ansys Mechanical.
  6. Études paramétriques : Le script SpaceClaim/Discovery, associé à Ansys Mechanical, facilite les études paramétriques en permettant la modification rapide de la géométrie et l’évaluation de diverses alternatives de conception. Cette capacité est précieuse pour optimiser les conceptions et garantir des performances robustes dans différentes conditions.

Il est important de savoir que les scripts de SpaceClaim/Discovery sont basés sur IronPython. Il est donc compatible avec les modules IronPython. Cependant, il n’est PAS nécessaire d’être un expert en Python avant de commencer à utiliser les scripts de SpaceClaim/Discovery ! Ceci est dû à la fonction « record » de l’outil de script. Cette fonction vous permet d’enregistrer certaines actions effectuées à partir de l’interface graphique. Par exemple, si vous esquissez et extrudez un rectangle sur le plan XY, l’enregistreur, s’il est activé, écrira automatiquement les commandes de ces actions dans l’éditeur ! Ceci est utile pour comprendre des choses telles que la logique de sélection, les opérations, etc. Ces commandes enregistrées peuvent également être modifiées pour rendre votre script plus robuste. Avant d’ajuster le script enregistré, il est recommandé de revoir les bases de Python pour vous aider à comprendre le flux de travail. Certaines de ces bases sont énumérées dans les images ci-dessous, mais d’autres documents de référence seront fournis à la fin de ce blog pour vous aider à démarrer !

Il y a 3 façons de sélectionner des entités dans les scripts de SpaceClaim/Discovery.

  1. Variable intelligente (par défaut)
    • Combine les autres méthodes pour améliorer la persistance des sélections lors de la lecture des scripts.
    • Stocke plus d’informations que n’importe quel autre type et est beaucoup plus robuste pour faire correspondre l’entité sélectionnée lors des changements de géométrie.
    • Pour utiliser les variables intelligentes, le script doit être enregistré en tant que fichier .scscript (et non en tant que fichier .py). Les variables intelligentes sont des objets créés en arrière-plan et contiennent de nombreuses métadonnées sur l’élément sélectionné. Ces données sont ensuite enregistrées dans le fichier .scscript, mais sont perdues dans un fichier .py.
    • Exemple : Selection.Create(Face1)
  2. Index (Hiérarchie corps/enfants) -&gt ; Option préférée
    • L’index interne de chaque entité sélectionnée.
    • Exemple : Selection.Create(GetRootPart().Bodies[0].Faces[3])
  3. Ray (géolocalisation)
    • Le point de tir du rayon interne et la direction. Peut être avantageux lorsque vous travaillez avec des fichiers STL.
    • Exemple : Selection.Create(RayFire.Fire(Point.Create(MM(230),MM(260),MM(407)),Direction.Create(-0.4,-0.5,-0.75), 0.0001,0.0005([1])

Tous les exemples ci-dessus sont utilisés pour sélectionner la surface simple ci-dessous.

Une fois que vous avez généré votre modèle CAO à l’aide de votre script, vous devez l’importer dans Mechanical. Ce faisant, bon nombre de vos conditions limites et de vos contrôles de maillage risquent d’être invalidés en cas de modification de la géométrie. Pour éviter cela, nous pouvons utiliser la puissance des sélections nommées. Pour ceux qui ne connaissent pas, une sélection nommée est un groupement d’entités défini par l’utilisateur (comme des nœuds, des éléments ou des surfaces) au sein d’un modèle d’éléments finis, auquel est attribué un nom spécifique pour faciliter la référence et l’application de conditions limites ou de charges. En mécanique, ils peuvent être définis de deux manières : En sélectionnant manuellement les entités pour lesquelles vous souhaitez créer une sélection nommée, ou en utilisant la fonction Feuille de travail. Pour utiliser la feuille de travail, insérez une sélection nommée et modifiez la « Méthode de cadrage » dans les détails de « Géométrie » à « Feuille de travail ».

Une fois que l’option a été changée en « Feuille de travail », vous devez aller dans la section « Feuille de travail » pour entrer les critères de sélection. Les critères de sélection peuvent être utilisés pour déterminer l’entité que vous souhaitez sélectionner (faces, corps, arêtes, etc.). Ces entités peuvent être filtrées en fonction de la taille, de l’emplacement, de la distance et d’autres critères. Vous pouvez également combiner différents critères pour inclure (ou exclure) d’autres entités. Dans l’exemple ci-dessous, j’ai utilisé un critère de taille pour sélectionner la surface supérieure du cylindre, comme indiqué ci-dessous. Cependant, le critère de taille seul sélectionnera à la fois la surface supérieure et la surface inférieure, puisqu’elles sont toutes deux de la même taille. Pour supprimer la surface inférieure de la sélection, j’ai également inclus une fonction « Supprimer » dans la feuille de calcul pour supprimer toutes les faces inférieures à Y=1 mm (notez que la surface inférieure du cylindre se trouve sur Y=0 mm). Une fois ces deux critères définis, je suis en mesure d’affiner ma sélection en me limitant à la surface supérieure, comme indiqué ci-dessous. L’idée ici est que, si vous vous attendez à ce que différentes caractéristiques se situent dans une plage spécifique de tailles et de formes, nous pouvons tenir compte de ces éléments dans notre définition de la sélection nommée. Ainsi, lorsque notre modèle est ajusté à l’aide de notre script SpaceClaim/Discovery, les mêmes entités seront sélectionnées à chaque itération.

Une fois que j’ai généré toutes mes sélections nommées, je peux les utiliser pour définir mes conditions limites et mes contrôles de maillage au lieu d’utiliser les critères de sélection manuels. Pour ce faire, vous pouvez naviguer jusqu’à la « méthode de cadrage » de vos conditions limites ou de vos contrôles de maillage, et les changer en « sélection nommée ». Vous devez ensuite choisir la sélection nommée à appliquer à chaque condition aux limites. Étant donné que nos sélections nommées ont été définies pour tenir compte des différentes tailles et formes de notre modèle, elles seront automatiquement mises à jour à chaque fois en fonction des critères que nous avons définis. Une fois mises à jour, ces sélections nommées seront également appliquées automatiquement à nos conditions limites ! Cela signifie que nous n’avons pas besoin de perdre du temps à tout re-sélectionner à chaque fois que nous ajustons notre géométrie. Une fois le modèle mis à jour, il vous suffit de vous assurer que la définition des matériaux de votre modèle CAO est correcte, puis d’exécuter le programme !

Vous trouverez un exemple plus détaillé de ce processus sur notre chaîne YouTube (voir ci-dessous).

http://www.python.org/
– Python télécharger tous les formats
– Tutoriel et documentation

https://github.com/IronLanguages/iron…
– IronPython studio est un SDK Microsoft gratuit qui vous permet de gérer vos projets et de développer à l’aide de formulaires Windows natifs.

http://www.tutorialspoint.com/python/…

Livre gratuit – http://greenteapress.com/thinkpython/…

Livres recommandés
– Apprendre Python par Mark Lutz et David Ascher
– Python Pocket Reference par Mark Lutz
– IronPython in Action par Michael J.Ford et Christian Muirhead – Pour les personnes souhaitant utiliser Iron Python pour tirer parti du cadre .NET.


Rejoignez le forum des designers !

Votre expertise est essentielle pour la communauté. Rejoignez-nous et apportez vos connaissances !

Rejoindre le forum maintenant

Partagez, apprenez et évoluez avec les meilleurs professionnels du secteur.