Flujos de trabajo robustos – Uso de SpaceClaim Scripting con Ansys Mechanical

El scripting de SpaceClaim/Discovery en Ansys implica el uso de scripts para automatizar y personalizar operaciones geométricas en Ansys SpaceClaim/Discovery, que son software de modelado 3D y edición de geometría. Permite a los usuarios crear, modificar y manipular la geometría de forma más eficaz y robusta. Estos scripts pueden combinarse con Ansys Mechanical para mejorar la solidez general del proyecto agilizando el proceso de preparación de la geometría y garantizando una generación de modelos coherente y sin errores. Una vez generado el modelo, puede vincularse fácilmente a un flujo de trabajo existente de Mechanical para ayudar a que su modelo sea más robusto.

Tenga en cuenta que SpaceClaim y Discovery son 2 herramientas CAD diferentes ofrecidas por Ansys. Discovery es la herramienta más reciente y utiliza todas las mismas capacidades que SpaceClaim. Estas capacidades de scripting se desarrollaron originalmente para SpaceClaim, pero también se han integrado en Discovery.

He aquí cómo el scripting de SpaceClaim/Discovery contribuye a un manejo robusto de la geometría y cómo complementa a Ansys Mechanical:

  1. Automatización y repetición: Los scripts de SpaceClaim/Discovery automatizan las tareas repetitivas y las operaciones geométricas, reduciendo el potencial de errores manuales que pueden producirse al crear o modificar la geometría. Esta automatización garantiza la coherencia y solidez del proceso de generación de geometría.
  2. Personalización: Los scripts pueden adaptarse a los requisitos específicos de cada proyecto, lo que permite a los usuarios crear herramientas y flujos de trabajo personalizados para la manipulación de la geometría. Esta personalización permite a los ingenieros abordar retos geométricos complejos con mayor eficacia.
  3. Parametrización: Las secuencias de comandos de SpaceClaim/Discovery pueden utilizarse para parametrizar las características geométricas, lo que facilita la adaptación y el ajuste del modelo a diferentes escenarios de diseño. Esta parametrización aumenta la flexibilidad y robustez del proyecto al permitir modificaciones rápidas de la geometría.
  4. Control de calidad: Mediante el uso de scripts, puede aplicar comprobaciones de control de calidad a la geometría. Por ejemplo, puede asegurarse de que se cumplen determinadas restricciones o tolerancias de diseño, lo que contribuye a la solidez del proceso de diseño.
  5. Integración con Ansys Mechanical: Los scripts de SpaceClaim/Discovery pueden integrarse perfectamente con Ansys Mechanical. Esta integración permite generar automáticamente geometrías complejas y optimizadas, listas para los análisis estructurales, térmicos o de otro tipo. Al automatizar la fase de preparación de la geometría, se reducen las posibilidades de que se produzcan errores o discrepancias al transferir la geometría a Ansys Mechanical.
  6. Estudios paramétricos: Los scripts de SpaceClaim/Discovery, combinados con Ansys Mechanical, facilitan los estudios paramétricos al permitir la modificación rápida de la geometría y la evaluación de diversas alternativas de diseño. Esta capacidad es valiosa para optimizar los diseños y garantizar un rendimiento robusto en diferentes condiciones.

Es importante saber que el scripting de SpaceClaim/Discovery se basa en IronPython. Por lo tanto, es compatible con los módulos de IronPython. Sin embargo, ¡NO es necesario ser un experto en Python antes de empezar con el scripting de SpaceClaim/Discovery! Esto se debe a la característica «grabar» desde dentro de la herramienta de scripting. La característica «grabar» le permite registrar ciertas acciones que se están completando desde dentro de la interfaz gráfica de usuario. Por ejemplo, si esbozara y extruyera un rectángulo en el plano XY, la grabadora, si está activada, ¡escribirá automáticamente los comandos de esas acciones en el editor! Esto es útil para comprender cosas como la lógica de selección, las operaciones, etc. Estos comandos grabados también pueden ser editados para ayudar a hacer su script más robusto. Antes de ajustar el script grabado, se recomienda repasar los conceptos básicos de Python para ayudarle a entender el flujo de trabajo. Algunos de los conceptos básicos se enumeran en las imágenes de abajo, ¡pero se proporcionará más material de referencia al final de este blog para ayudarle a empezar!

Hay 3 formas de seleccionar entidades en los scripts de SpaceClaim/Discovery.

  1. Variable inteligente (por defecto)
    • Combina los otros métodos para que las selecciones persistan mejor al reproducir scripts
    • Almacena más información que cualquiera de los otros tipos y es mucho más robusto a la hora de emparejar la entidad seleccionada durante los cambios de geometría
    • Para utilizar variables inteligentes, el script debe guardarse como archivo .scscript (no como archivo .py). Las variables inteligentes son objetos creados en segundo plano y contienen muchos metadatos sobre el elemento seleccionado. Estos datos se guardan en el archivo .scscript, pero se pierden en un archivo .py
    • Ejemplo: Selection.Create(Cara1)
  2. Índice (Cuerpo/Herarquía de caras) -> Opción preferida
    • El índice interno de cada entidad seleccionada.
    • Ejemplo: Selection.Create(GetRootPart().Bodies[0].Caras[3])
  3. Rayo (basado en la localización)
    • El punto y la dirección de disparo del rayo interno. Puede ser ventajoso cuando se trabaja con archivos STL.
    • Ejemplo: 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])

Todos los ejemplos anteriores sirven para seleccionar la superficie simple que aparece a continuación.

Una vez que genere su modelo CAD utilizando su script, tendrá que importarlo a Mechanical. Al hacerlo, muchas de sus condiciones de contorno y controles de malla pueden dejar de ser válidos al cambiar la geometría. Para evitarlo, podemos utilizar la potencia del uso de Selecciones con nombre. Para quien no esté familiarizado, una selección con nombre es una agrupación de entidades (como nodos, elementos o superficies) definida por el usuario dentro de un modelo de elementos finitos, a la que se asigna un nombre específico para facilitar la referencia y la aplicación de condiciones límite o cargas. En Mechanical, pueden definirse de 2 maneras: Seleccionando manualmente las entidades para las que desea crear una selección con nombre, o utilizando la función Hoja de trabajo. Para utilizar la Hoja de trabajo, inserte una selección con nombre y cambie el «Método de alcance» en los detalles de «Geometría» a «Hoja de trabajo».

Una vez cambiada la opción a Hoja de trabajo, tendrá que ir a la sección Hoja de trabajo para introducir los criterios de selección. Los criterios de selección pueden utilizarse para determinar qué entidad desea seleccionar (Caras, Cuerpos, Aristas, etc.). Estas entidades pueden filtrarse por tamaño, ubicación, distancia y otros criterios. También puede combinar diferentes criterios para ayudar a incluir (o excluir) otras entidades. En el ejemplo siguiente, he utilizado un criterio de tamaño para seleccionar la superficie superior del cilindro, como se muestra a continuación. Sin embargo, el criterio de tamaño por sí mismo seleccionará tanto la parte superior como la inferior, ya que ambas tienen el mismo tamaño. Para eliminar la superficie inferior de la selección, también he incluido una función «Eliminar» en la hoja de trabajo para eliminar todas las caras por debajo de Y=1 mm (tenga en cuenta que la superficie inferior del cilindro se encuentra en Y=0 mm). Con estos dos criterios definidos, puedo refinar mi selección a sólo la superficie superior, como se muestra a continuación. La idea aquí es que, si espera que diferentes características se encuentren dentro de un rango específico de tamaños y formas, podemos tener en cuenta esas cosas aquí en nuestra definición de selección con nombre. De ese modo, cuando nuestro modelo se ajuste utilizando nuestro script SpaceClaim/Discovery, se seleccionarán las mismas entidades en cada iteración.

Una vez que he generado todas mis selecciones con nombre, puedo utilizarlas para definir mis condiciones de contorno y controles de malla en lugar de utilizar los criterios de selección manual. Para ello, puede ir al «Método de alcance» de sus condiciones límite o controles de malla y cambiarlos a «Selección con nombre». A continuación, deberá elegir qué selección con nombre desea aplicar a cada condición límite. Dado que nuestras selecciones con nombre se han configurado para tener en cuenta todos los tamaños y formas diferentes de nuestro modelo, se actualizarán automáticamente cada vez en función de los criterios que hayamos definido. Una vez que se actualicen, ¡esas selecciones con nombre también se aplicarán automáticamente a nuestras condiciones límite! Esto significa que no tendremos que dedicar tiempo a volver a seleccionar todo cada vez que ajustemos nuestra geometría. Una vez actualizado el modelo, sólo tendrá que asegurarse de que la definición de material de su modelo CAD es correcta y, a continuación, ¡ejecutar!

Puede encontrar un ejemplo más detallado de este proceso en nuestro canal de YouTube (véase más abajo).

http://www.python.org/
– Python descargar todos los formatos
– Tutorial y documentación

https://github.com/IronLanguages/iron…
– IronPython studio es un SDK gratuito de Microsoft que le permite gestionar sus – proyectos y desarrollar utilizando formularios nativos de Windows

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

Libro gratuito – http://greenteapress.com/thinkpython/…

Libros recomendados
– Aprendiendo Python por Mark Lutz y David Ascher
– Python Pocket Reference por Mark Lutz
– IronPython in Action por Michael J.Ford y Christian Muirhead – Para las personas que desean utilizar Iron python para aprovechar el marco .NET