Nesta postagem do blog, discutirei um erro que ocorre ao automatizar tarefas no AutoCAD usando o módulo pythoncom. O módulo pythoncom é um módulo de automação do AutoCAD em Python. Além disso, vou fornecer uma solução para o mesmo. O erro que vou tratar é o erro “Call was rejected by callee”.
Causa do erro “Call was rejected by callee”
A principal razão para obter esse erro ao trabalhar com a automação do AutoCAD usando pythoncom é a velocidade de realização de chamadas. Ou seja, a velocidade de fazer chamadas.
As chamadas subsequentes que fazemos para executar determinadas tarefas no AutoCAD são mais rápidas do que o aplicativo pode manipular.
Isso eventualmente gera um erro ‘Call was rejected by callee’.
Solução para o erro “Call was rejected by callee”
Para resolver esse problema, podemos usar o método ‘sleep’ importando o módulo ‘time’ para o Python.
time.sleep(5)
Este método deve ser executado após a execução de certas funções pesadas que consomem uma quantidade considerável de recursos do computador durante a execução de tarefas. Temos que passar parâmetros como segundos para suspender um processo da thread atual por um tempo especificado.
Conforme mencionado no código acima, estou suspendendo a execução por 5 segundos.
Aplicação exemplar para resolver o erro
O código mencionado abaixo representa um subprocesso de um código. Eu preciso ativar a viewport para executar determinadas tarefas na viewport. Mas ao trabalhar com várias janelas de visualização, acabo recebendo o erro “Call was rejected by callee”.
Para mitigar o mesmo, estou forçando o processo a aguardar 0,5 segundos e depois continuar.
def turn_on_viewport(viewport):
viewport.ViewportOn = True
print("Viewport On: " + str(viewport.ViewportOn))
time.sleep(0.5)
Para mais postagens de blog sobre a automatização do AutoCAD, verifique nossas outras postagens de blog relacionadas ao pyautocad e ao pywin32.
Por favor, deixe qualquer dúvida que você possa ter como um comentário abaixo. Sinta-se à vontade para entrar em contato conosco para qualquer assistência técnica. Pode fazê-lo através do nosso formulário de contato.

Leave a Reply