Solids Builder - Obter Propriedade


Obter Propriedade - obtém o valor das propriedades de dispositivos conectados a montante ou jusante do dispositivo atual. Também permite obter informações que não aparecem no quando de propriedades do construtor, tal como cota de topo de estruturas:

A atividade Obter Propriedade tem a seguintes propriedades:

Esta atividade deve ser usada em conjunto com a atividade TryCatch, pois ela pode causar os erros de execução:

  1. Em modo de edição - Ocorre durante a edição do modelo. Durante a edição, não há um dispositivo sendo modelado, então não há como obter qualquer coisa
  2. Sem dispositivo de saída - ocorre quando a opção pesquisar Dispositivo é igual a Saída, mas não há um dispositivo conectado à saída
    Por exemplo: é necessário verificar se a cota do tubo conectado à saída é compatível com a cota de fundo do poço de visita e ajustar a cota de fundo se necessário
  3. O índice está fora do intervalo - ocorre quando a opção pesquisar Dispositivo é igual a Entradas, mas o Índice informado é menor que ZERO, ou maior que o número de dispositivos conectados à entrada menos 1 (o primeiro índice vale zero)
  4. Não existe dispositivo de entrada neste índice - não deve ocorrer, pois o erro acima prevê esta situação. No entanto, pode ocorrer algo inesperado, enfim
  5. Esta propriedade não existe - A propriedade informada no campo Nome do Parâmetro não existe no dispositivo
    Exemplo: pesquisar "CD" (cota da geratriz interna inferior de jusante) em uma escada não faz sentido em escadas, somente em tubos
  6. A propriedade é de um tipo diferente - se a propriedade existir, pode ser que ela seja de um tipo diferente e este erro ocorre
    Exemplo: pesquisar "PipeLines" em tubos retorna um número inteiro, mas se definir o campo Tipo da Variável para Ponto, causará este erro pois não é possível converter um número inteiro para ponto

Considere o exemplo do início. Este exemplo mostra o fluxograma típico para obter a menor elevação da geratriz inferior de jusante dos tubos conectados num poço de visita:

O algorítimo é bem simples:

  1. Criar uma variável para receber o valor mínimo a ser calculado (CDminimo), definir ela como infinito positivo
  2. Criar uma variável incrementável (nEntrada), para obter o enésimo dispositivo da montante, definir ela como ZERO
  3. Obter o valor de CDin do enésimo tubo
  4. Comparar CDin com CDminimo e se for menor,
  5. Salvar o valor de CDin em CDminimo
  6. Incrementar o índice e
  7. Voltar ao para o passo 3

Note que este looping não verifica o número de dispositivo na entrada e nem é necessário, pois no caso de tentar obter o valor de CDin com um índice maior que o número de entradas, será disparado um erro, que é interceptado pela atividade TryCatch

No caso de querer obter uma propriedade do dispositivo atual, ou da saída, o looping não faz sentido. Mas ainda deve-se usar o TryCatch, pois outros erros podem acontecer.

Note ainda, que dependendo da propriedade que você quer obter, ela pode estar desatualizada no momento da chamada desta atividade. O exemplo acima é o caso, pois a Elevação "CD" só é atualizada no momento em que o tubo for reconstruído. Neste caso, será melhor obter o "EndPoint" do tubo e o "Diâmetro", pois estes em geral não se alteram durante a reconstrução do tubo e então calcular uma variável:

CD = EndPoint. Z - Diâmetro / 2

Onde:
CD = Elevação da geratriz inferior interna no final do tubo
EndPoint = coordenada do ponto final do tubo
Diâmetro = diâmetro nominal ou interno do tubo
Note ainda que para efeito de reconstrução do tubo, o eixo tridimensional deste está localizado no centro da seção transversal, por isso Diâmetro/2 na equação acima