Participe do fórum para Designers!
Sua experiência é vital para a comunidade. Junte-se a nós e contribua com seu conhecimento!
Participe do fórum agoraCompartilhe, aprenda e cresça com os melhores profissionais do setor.
Resumo
O objetivo deste blog é duplo. Primeiro, automatizar com sucesso a geração de um perfil do lóbulo do eixo de comando de válvulas usando o script Python no ANSYS SpaceClaim. Segundo, aprender a evitar certas armadilhas relacionadas ao script Python no ANSYS SpaceClaim.
Detalhes
Agora, vamos falar sobre “por que” alguém iria querer automatizar a geração de um lóbulo do eixo de comando de válvulas?
Nos motores de combustão interna de 4 tempos, o eixo de comando de válvulas é responsável por abrir e fechar as válvulas de admissão e escape em relação à rotação do virabrequim do motor. O eixo de comando de válvulas faz parte do “trem de válvulas”, que é um sistema de componentes que determina quando essas válvulas se abrem e se fecham, até onde elas se abrem e a taxa de abertura e fechamento da válvula. Dependendo da configuração do trem de válvulas, pode haver diferentes componentes envolvidos, e todos esses componentes devem ser avaliados em conjunto para entender os detalhes do evento de sincronização da válvula. A criação do perfil do lóbulo do eixo de comando de válvulas não é totalmente arbitrária e, às vezes, pode ser bastante complexa. A automação do processo de geração desse perfil permite avaliar posteriormente o evento de sincronização da válvula de forma mais rápida durante o processo de projeto do trem de válvulas.
O que vamos fazer agora?
Primeiro, entenderemos o tipo de perfil do eixo de comando de válvulas que vamos modelar e, em seguida, geraremos a geometria manualmente, enquanto registramos nossas ações no SpaceClaim Scripting para gerar código Python nativo.
Em seguida, “tentaremos” usar esse mesmo código em uma nova instância do SpaceClaim para saber quais obstáculos se apresentam e prescrever soluções para esses obstáculos. Em seguida, usaremos com sucesso o script Python para replicar nosso lóbulo do eixo de comando de válvulas originalmente projetado.
Por fim, parametrizaremos o script Python para permitir a geração rápida de novas variações desse perfil.
Nosso perfil de eixo de comando de válvulas
Os perfis do lóbulo do eixo de comando de válvulas podem variar de simples a complexos, simétricos ou assimétricos. Este blog se concentrará em um dos projetos mais fundamentais, que se baseia em um círculo de base e um círculo de nariz. Os dois círculos são conectados por linhas tangenciais a ambos os círculos.
Começaremos com um círculo de base de 38 mm e um círculo de ponta de 26 mm, com seu centro localizado 14 mm acima do centro do círculo de base. Nossa primeira ação será abrir o SpaceClaim e, em seguida, acessar a interface de script.
Por padrão, o modo “Record” (Registro) estará ativo.
Primeiro, vamos entender o que é registrado depois de adicionar nosso círculo de base.
Especificamente, vemos que um plano de esboço foi definido, depois um círculo foi gerado e, em seguida, uma restrição foi gerada. Vamos copiar esse mesmo código Python em uma nova instância do SpaceClaim e ver se podemos executá-lo com êxito?
A resposta é “Não”. Por quê? Por causa da forma como o senhor normalmente seleciona o plano de esboço. Vamos fechar essa instância do SpaceClaim e abrir uma nova instância. Faremos uma alteração na forma como gravamos nosso script, geraremos um novo círculo e repetiremos o teste.
Primeiro, vamos ativar a opção de gravação “Verbose”.
Em seguida, mudaremos a forma como a seleção é registrada de “Smart Variable” para “Ray”.
Nosso script gravado após a adição do círculo base agora tem uma aparência diferente.
Operando esse novo script em uma nova instância do SpaceClaim agora gera com sucesso nosso círculo base!
E quanto às outras ações, adicionando o círculo do nariz e duas linhas tangentes?
Sucesso! Copiar esse novo script em uma nova instância do SpaceClaim replica nossa geometria. Até agora, tudo bem. No entanto, teremos problemas se tentarmos parametrizar nossa geometria. Para demonstrar, mudarei o diâmetro do círculo do nariz de 26 mm para 20 mm.
Tivemos esses problemas relacionados ao “Selecting” (Seleção) objetos em nosso modelo. Acontece que a seleção será nosso maior desafio. Portanto, proponho que reduzamos as “seleções” o máximo possível para essa geometria. A seleção de itens como linhas e círculos deve ser evitada. Para isso, criaremos a geometria por meios diferentes. Em vez de adicionar círculos e fazer linhas tangentes para conectá-los, criaremos arcos e, em seguida, conectaremos as extremidades do arco da base ao nariz. Esse método exige que sejamos muito mais cuidadosos na construção do nosso script.
Revisão dos blocos de script
Vimos que, quando gravamos nosso script original (adicionar um círculo), havia certos elementos no bloco de script.
# Sketch Circle
origem = Point2D.Create(MM(0), MM(0))
result = SketchCircle.Create(origin, MM(19))
baseSel = SelectionPoint.Create(GetRootPart().DatumPlanes[0].Curves[0].GetChildren[ICurvePoint]()[0])
targetSel = SelectionPoint.Create(GetRootPart().DatumPlanes[0].GetChildren[IDatumLine]()[0])
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
Vemos que dois pontos estão definidos: “origin” (origem) e “MM(19)”. Portanto, a função “SketchCircle.Create” requer a definição de uma origem e de um raio. Tudo o mais nesse bloco está relacionado ao selecionando o item que criamos e restritivo ao plano. Vou propor que essa última seção não é necessária para gerar nossa geometria com sucesso. Portanto, recomendo que o senhor exclua esses comandos supérfluos e simplesmente execute o script a seguir.
# Sketch Circle
origem = Point2D.Create(MM(0), MM(0))
result = SketchCircle.Create(origin, MM(19))
# EndBlock
E… funciona!
Agora, sugiro que o senhor examine por si mesmo, gravando blocos de script de arcos e linhas para identificar os elementos essenciais necessários para gerar o perfil do eixo de comando de válvulas. Eu já fiz isso e anexei o seguinte meu script aqui para sua análise.
Também parametrizei meu script com termos normalmente usados na identificação de características de eixos de comando de válvulas automotivos, como:
Usando esses parâmetros, a seguinte geometria será gerada.
Faça o download desse script e comece a explorar o projeto do perfil do eixo de comando de válvulas… e aprenda a criar scripts Python práticos para o SpaceClaim enquanto o senhor faz isso!!! 😊
Participe do fórum para Designers!
Sua experiência é vital para a comunidade. Junte-se a nós e contribua com seu conhecimento!
Participe do fórum agoraCompartilhe, aprenda e cresça com os melhores profissionais do setor.