Fluxos de trabalho robustos – Usando o SpaceClaim Scripting com o Ansys Mechanical

A criação de scripts do SpaceClaim/Discovery no Ansys envolve o uso de scripts para automatizar e personalizar operações geométricas no Ansys SpaceClaim/Discovery, que são softwares de modelagem 3D e edição de geometria. Isso permite que os usuários criem, modifiquem e manipulem a geometria de forma mais eficiente e robusta. Esses scripts podem ser combinados com o Ansys Mechanical para aumentar a robustez geral do projeto, simplificando o processo de preparação da geometria e garantindo a geração de modelos consistentes e sem erros. Depois que o modelo é gerado, ele pode ser facilmente vinculado a um fluxo de trabalho Mechanical existente para ajudar a tornar seu modelo mais robusto!

Observe que o SpaceClaim e o Discovery são duas ferramentas CAD diferentes oferecidas pela Ansys. O Discovery é a ferramenta mais recente e utiliza todos os mesmos recursos do SpaceClaim. Esses recursos de script foram originalmente desenvolvidos para o SpaceClaim, mas também foram integrados ao Discovery.

Veja como o scripting do SpaceClaim/Discovery contribui para o manuseio robusto da geometria e como ele complementa o Ansys Mechanical:

  1. Automação e Repetição: A criação de scripts do SpaceClaim/Discovery automatiza tarefas repetitivas e operações geométricas, reduzindo o potencial de erros manuais que podem ocorrer ao criar ou modificar a geometria. Essa automação garante consistência e robustez no processo de geração de geometria.
  2. Personalização: Os scripts podem ser adaptados aos requisitos específicos do projeto, permitindo que os usuários criem ferramentas e fluxos de trabalho personalizados para a manipulação de geometria. Essa personalização permite que os engenheiros enfrentem desafios geométricos complexos com mais eficiência.
  3. Parametrização: O script do SpaceClaim/Discovery pode ser usado para parametrizar recursos geométricos, facilitando a adaptação e o ajuste do modelo para diferentes cenários de projeto. Essa parametrização aumenta a flexibilidade e a robustez do projeto, permitindo modificações rápidas na geometria.
  4. Controle de qualidade: Ao usar scripts, o senhor pode aplicar verificações de controle de qualidade na geometria. Por exemplo, o senhor pode garantir que as restrições ou tolerâncias específicas do projeto sejam atendidas, o que contribui para a robustez do processo de projeto.
  5. Integração com o Ansys Mechanical: Os scripts do SpaceClaim/Discovery podem ser perfeitamente integrados ao Ansys Mechanical. Essa integração permite a geração automática de geometrias complexas e otimizadas que estão prontas para análises estruturais, térmicas ou outras. Ao automatizar a fase de preparação da geometria, o senhor reduz as chances de erros ou discrepâncias ao transferir a geometria para o Ansys Mechanical.
  6. Parametric Studies (Estudos Paramétricos): Os scripts do SpaceClaim/Discovery, combinados com o Ansys Mechanical, facilitam os estudos paramétricos, permitindo a modificação rápida da geometria e a avaliação de várias alternativas de projeto. Esse recurso é valioso para otimizar projetos e garantir um desempenho robusto em diferentes condições.

É importante saber que o scripting do SpaceClaim/Discovery é baseado no IronPython. Portanto, ele é compatível com os módulos do IronPython. No entanto, NÃO é necessário ser um especialista em Python antes de começar a usar os scripts do SpaceClaim/Discovery! Isso se deve ao recurso de “registro” da ferramenta de script. O recurso de “registro” permite que o senhor registre determinadas ações concluídas na GUI. Por exemplo, se o senhor esboçar e extrudar um retângulo no plano XY, o gravador, se ativado, escreverá automaticamente os comandos dessas ações no editor! Isso é útil para entender coisas como a lógica de seleção, operações etc. Esses comandos gravados também podem ser editados para ajudar a tornar seu script mais robusto. Antes de ajustar o script gravado, é recomendável revisar os conceitos básicos do Python para ajudá-lo a entender o fluxo de trabalho. Alguns dos conceitos básicos estão listados nas imagens abaixo, mas mais material de referência será fornecido no final deste blog para ajudar o senhor a começar!

Há três maneiras de selecionar entidades no script do SpaceClaim/Discovery.

  1. Variável inteligente (padrão)
    • Combina os outros métodos para fazer com que as seleções persistam melhor ao reproduzir scripts
    • Armazena mais informações do que qualquer um dos outros tipos e é muito mais robusto na correspondência com a entidade selecionada durante as alterações de geometria
    • Para usar as variáveis inteligentes, o script deve ser salvo como um arquivo .scscript (e não como um arquivo .py). As variáveis inteligentes são objetos criados em segundo plano e contêm muitos metadados sobre o item selecionado. Esses dados são salvos no arquivo .scscript, mas se perdem em um arquivo .py
    • Exemplo: Selection.Create(Face1)
  2. Index (Body/Children Heirarchy) -> Opção preferida
    • O índice interno de cada entidade selecionada.
    • Exemplo: Selection.Create(GetRootPart().Bodies[0].Faces[3])
  3. Ray (baseado em localização)
    • O ponto e a direção de disparo do raio interno. Pode ser vantajoso ao trabalhar com arquivos STL.
    • Exemplo: 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 os exemplos acima são usados para selecionar a superfície simples abaixo.

Depois de gerar o modelo CAD usando o script, o senhor precisará importá-lo para o Mechanical. Ao fazer isso, muitas das condições de limite e controles de malha podem se tornar inválidos à medida que a geometria muda. Para evitar isso, podemos utilizar o poder do uso de seleções nomeadas. Para quem não conhece, uma seleção nomeada é um agrupamento de entidades definido pelo usuário (como nós, elementos ou superfícies) em um modelo de elementos finitos, ao qual é atribuído um nome específico para facilitar a referência e a aplicação de condições de contorno ou cargas. No Mechanical, eles podem ser definidos de duas maneiras: Selecionando manualmente as entidades para as quais o senhor gostaria de criar uma seleção nomeada ou usando a função Worksheet. Para usar a Worksheet, insira uma seleção nomeada e altere o “Scoping Method” (Método de escopo) nos detalhes de “Geometry” (Geometria) para “Worksheet” (Planilha).

Depois que a opção for alterada para Worksheet, será necessário ir para a seção Worksheet para inserir os critérios de seleção. Os critérios de seleção podem ser usados para determinar qual entidade o senhor deseja selecionar (Faces, Bodies, Edges etc.). Essas entidades podem ser filtradas por tamanho, localização, distância e outros critérios. O senhor também pode combinar diferentes critérios para ajudar a incluir (ou excluir) outras entidades. No exemplo abaixo, usei um critério de tamanho para selecionar a superfície superior do cilindro, conforme mostrado abaixo. No entanto, o critério de tamanho por si só selecionará tanto a parte superior quanto a inferior, pois ambas têm o mesmo tamanho. Para remover a superfície inferior da seleção, também incluí uma função “Remove” na planilha para remover todas as faces abaixo de Y=1 mm (observe que a superfície inferior do cilindro está em Y=0 mm). Com esses dois critérios definidos, posso refinar minha seleção para apenas a superfície superior, conforme mostrado abaixo. A ideia aqui é que, se o senhor espera que diferentes características estejam dentro de uma faixa específica de tamanhos e formas, podemos levar em conta esses aspectos aqui na definição da seleção nomeada. Dessa forma, quando nosso modelo for ajustado usando o script SpaceClaim/Discovery, as mesmas entidades serão selecionadas em cada iteração.

Depois de gerar todas as minhas seleções nomeadas, posso usá-las para definir minhas condições de contorno e controles de malha em vez de usar os critérios de seleção manual. Para isso, navegue até o “Scoping Method” das condições de contorno ou controles de malha e altere-os para “Named Selection”. Em seguida, o senhor precisa escolher qual seleção nomeada será aplicada a cada condição de limite. Como nossas seleções nomeadas foram definidas para levar em conta todos os diferentes tamanhos e formas do nosso modelo, elas serão atualizadas automaticamente todas as vezes com base nos critérios que definimos. Assim que forem atualizadas, essas seleções nomeadas também serão aplicadas automaticamente às nossas condições de limite! Isso significa que não precisamos perder tempo selecionando tudo novamente cada vez que ajustamos nossa geometria. Depois que o modelo for atualizado, basta verificar se a definição de material do seu modelo CAD está correta e, em seguida, executar!

Um exemplo mais detalhado desse processo pode ser encontrado em nosso canal do YouTube (veja abaixo).

http://www.python.org/
– Baixar todos os formatos do Python
– Tutorial e documentação

https://github.com/IronLanguages/iron…
– O IronPython studio é um SDK gratuito da Microsoft que permite que o senhor gerencie seus projetos e desenvolva usando formulários nativos do Windows

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

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

Livros recomendados
– Learning Python (Aprendendo Python), de Mark Lutz e David Ascher
– Python Pocket Reference, de Mark Lutz
– IronPython in Action, de Michael J. Ford e Christian Muirhead – Para pessoas que desejam usar o Iron python para aproveitar a estrutura .NET