Hoje vamos falar um pouco sobra a importância de padronizar os modelos do SOLIDOS.
Você já deve ter percebido que muitos dispositivos são praticamente idênticos do ponto de vista da modelagem. Exemplo:
Todas as caixas de ligação, poços de visita ou até bocas de lobo, todos se conectam com tubos.
Ao modelar a estrutura, precisamos saber qual é o tubo mais alto, o mais baixo ou o de maior diâmetro. Nos modelos fornecidos com o plugin, você já deve ter percebido um fluxo chamado "processa tubos":

Vamos abrir ele e entender o que ele faz:

Note que ele define algumas variáveis:
- MaxElev: A elevação da geratriz externa superior do tubo mais alto
- MaxPipe: O tubo de maior diâmetro conectado
- MinElev: A elevação da geratriz externa inferior do tubo mais baixo
- nTubo: um contador, para obter propriedades do enésimo tubo
- buracosTubos: um sólido que conterá o volume externo de todos os tubos conectados, para abrirmos buracos nas paredes da estrutura (chupa essa manga PartBuilder)
Estas variáveis serão úteis para calcular a altura que a estrutura deve ter para não termos degrau ou ressalto negativos, pois ajustaremos a cota de fundo em relação a MInElev e MaxElev. Também podemos ter regras que avaliam se o tubo conectado não é muito grande em relação à caixa (um tubo de 1 metro, conectado a uma boca de lobo que só admite diâmetro de 40ou 60 cm, por exemplo)
Agora vamos ver o último item, o "Obter Props Tubo"
Este item é a ferramenta "TryCatch", que intercepta erros de execução e permite tratá-los, evitando que o fuxo principal seja interrompido. Entre nele e depois no subfluxo que ele proteje:

Veja que o fluxo tem um looping. Ele funciona assim:
- Obtenha a lista de tubos conectados
- Obtenha a quantidade de itens desta lista (qtdCon)
- Processe enquanto nTubo < qtdCon
- Obtenha as propriedades do nésimo tubo: "curId", "inPartId", calcule se o tubo é de saida ou de entrada e calcule "connectorFilter" baseado nesta informação
- Se o "connectorFilter" é "tubo", processe, senão passe para o próximo item. Isto é importante, pois podem ter meiofios, sarjetas ou outros dispositivos que não são tubos conectados à caixa e estes não participam do processo de cálculo de MinElev e MaxElev porque não são tubos.
- Incremente o contador nTubo até que seja igual a quantidade de conexões (qtdCon)
O fluxo que calcula os parâmetros do tubo, fica como exercício a análise.
De posse dessas informações: MinElev, MaxElev, buracosTubos, modele o dispositivo.
Bem simples não? Agora repita para todas as caixas ( poço de visita, caixa de captação, bocas de lobo.... ) dos seus catálogos. Se você fizer manualmente, sim, pode demorar bastante!!!
E se desse para COPIAR o fluxo "Processa Tubos" inteiro de um modelador para o outro?
Estamos falando do SOLIDOS, o melhor modelador de dispositivos para o Civil 3D que existe, hehehehe.
Ele tem essa função, observe os botões no topo do fluxograma:

Clica o botão copiar, abra o outro modelador que é semelhante a este e clica COLAR. No meu exemplo, como tenho um catálogo com várias caixas que devem processar um fluxo idêntico, vou escolher outra do catálogo:

Obviamente se no quadro de propriedades ainda não existirem as propriedades gerenciadas por este fuxo, erros irão aparecer:

Neste caso, o erro ocorre porque no quadro de propriedades (a tabela central inferior) não contem as propriedades MinElev, MaxElev e MaxPipe. Crie elas:

Observe que ao criar propriedades, ao digitar o nome, a lista de auto completar preenche com as propriedades de nomes parecidos no DWG atual. Isso facilita muito, pois se escolher a propriedade sugerida, todos os parâmetros dela são copiados para o novo modelo.
Repita isso para as demais propriedades faltantes:

Note que ao completar as propriedades, os erros somem.
E se o fluxo for atualizado, posso substituir? Sim, apaga o antigo e cola o novo. Estou fazendo isso em algumas caixas do catálogo do DER-SP e DER-PR
Com as ferramentas de Copiar/Colar, atualizar fluxos semelhantes no SOLIDOS é muito fácil e ajuda a dar mais consistência aos modeladores
E ai, me conte, isso parece difícil? Deixe seu comentário!!!