Quando cria modelos com os serviços web, é útil criar modelos que estejam preparados para serem calculados ou dimensionados sem alterações manuais dentro do RFEM.
Por exemplo, ao definir estruturas com membranas ou cabos, um modelo recentemente criado sem módulos não pode ser calculado com sucesso.
Para criar um novo modelo com os módulos ativados, deve considerar a utilização dos métodos .get_addon_statuses() e .set_addon_statuses().
Observe o exemplo a seguir:
import os
import sys
baseName = os.path.basename(__file__)
dirName = os.path.dirname(__file__)
sys.path.append(dirName + r'/../../..')
from RFEM.initModel import Model
if __name__ == '__main__':
Model(True, "Hello Model") # Create new model
Addons = Model.clientModel.service.get_addon_statuses()
# See structure of addon_statuses_list
# print(Addons)
# design_addons list
Addons[0].stress_analysis_active = True
Addons[0].steel_design_active = True
# analysis list
Addons[3].structure_stability_active = True
Addons[3].form_finding_active = True
Model.clientModel.service.set_addon_statuses(Addons)
Neste exemplo, começamos por definir e importar o diretório para a biblioteca do RFEM.
Em seguida, criamos um novo modelo e uma nova variável com o nome "Addons".
Esta variável foi criada com instruções diretas para o servidor do serviço web do RFEM 6 e compreende-se como uma "addon_statuses list".
Utilizando o método "get", a nossa variável tem uma estrutura que será compreendida pelo RFEM e que pode ser editada.
Em seguida, alteramos este objeto para ativar módulos específicos dentro do modelo do RFEM 6.
Por defeito, o estado dos módulos nesta lista está definido como falso. A modificação neste exemplo consiste em definir o estado dos módulos como True, isso significa que serão ativados no novo modelo.
Depois disso, utilizamos o método .set_addon_statuses() com a variável "Addons" como argumento. Esta opção envia de volta ao RFEM a informação sobre o estado True dos módulos e altera o modelo recém-criado.
Neste exemplo, apenas foram apresentados alguns módulos como ativados, mas existem mais disponíveis no RFEM 6. Para ver a lista completa dos módulos disponíveis e os seus nomes no objeto "Addons", utilize a função print(Addons).
O código python original está disponível nos ficheiros abaixo.