O
Autodesk University, para além da partilha de informação entre diferentes países, novos conhecimentos e contactos, novas experiências e, claro… conhecer Las Vegas, também nos ensinam pequenas coisas que no seu todo revelam-se bestiais! É como passarmos a ver a luz ao fundo do túnel cada vez mais perto!
Foi preciso uma semana para voltar a pensar e a ter tempo para publicar mais novidades :)
Há muito tempo que temos discutido, não só por aqui mas também no fórum
RevitPt, o controlo da visibilidade de um
Void. Para quem já tentou, facilmente se apercebeu que não é possível…
Mas… “
I got the Picture” :)
Generalizando, vamos por partes. Vamos iniciar uma família do tipo
Metric Generic Model.rft.

Vamos começar por construir o painel que irá corresponder, por exemplo, a uma porta (este poderá posteriormente inserido numa família da porta (família aninhada –
nested family). Não vou descreve exaustivamente estas operações, mas apenas criei 3 parâmetros:
comprimento,
altura e
espessura.

Criados os parâmetros, vamos agora definir a estrusão do painel. Com a vista em planta corrente, em
Home, clicar em
Extrusion; em modo de edição, definir a área do painel que, depois de terminada a sua edição, deverá ser ajustada a sua altura ao plano de referência correspondente ao alçado. Teremos então o seguinte resultado.

De seguida, no alçado, definir 4 planos que corresponderão à área do buraco (foram definidos afastamentos de 15cms ao limite do painel).

Até então, não foram acrescentados quaisquer diferenças relativamente à metodologia normal da criação de uma família.
Vamos então à parte mais interessante e “
tricky”.
Uma vez que não podemos adicionar parâmetros de visibilidade no
Void, teremos que arranjar maneira que este corte ou não o painel. Para isso, iremos acrescentar um novo Plano de Referencia, plano esse que servirá para relacionar esse novo objecto (
Void).
Uma vez que este
Void será construído fora do painel, vamos desenhar o Plano ligeiramente afastado do painel. De seguida, desenhar outro Plano de Referência que irá corresponder à espessura do
Void.

Criados os planos, vamos agora criar 2 parâmetros: um para podermos controlar a espessura do Void -
espessura_void – e outro para controlar o afastamento deste ao painel da porta -
dist_void (o parâmetro espessura_void não era necessário, bastando para isso utilizar o espessura, garantindo assim que a espessura do Void fosse igual à do sólido).

Com o mesmo processo utilizado para modelarmos o painel, vamos agora utilizar em
Home>Void Forms>Void Extrusion e modelar o
Void entre os planos correspondentes. Ter em atenção e bloquear a geometria aos planos. Teremos o seguinte resultado

Relativamente á modelação, terminamos o necessário.
Provavelmente alguns já terão percebido o caminho, outros devem estar a pensar: mas para onde é que este tipo nos leva… :)
Continuando…
Vamos agora definir outro parâmetro, acedendo em
Home a
Family Types. Este será um parâmetro do tipo
Yes/No; atribuir o nome
buraco.

Terminados todos os parâmetros necessários, vamos testar todos os parâmetros para ver se não existe nenhum erro de constrangimento (procedimento importante para garantir a consistência da família).
Depois de testados os parâmetros, aceder novamente a
Family Types em
Home.
Quanto aos parâmetros pretendemos que:
• o parâmetro
espessura_void seja de valor idêntico ao
espessura;
• ao clicar no parâmetro
buraco (caixa de verificação) este seja definido no painel (caso contrário teremos o painel inteiro).
Assim, e no parâmetro
espessura_void, em Formula, escrever espessura (ter em atenção que a definição dos parâmetros nas formulas são sensíveis às letras maiúsculas).

Por último, e o mais importante, é definirmos o parâmetro
dist_void como sendo o valor 0 (zero) caso o outro parâmetro
buraco se se encontre seleccionado. Para esta situação, teremos que usar uma função:
IF.
Ou seja:
IF(condição,resultado_se_verdadeiro,resultado_se_falso)
Assim teremos:
•
Condição – buraco (ou seja, estar activo)
•
Resultado_se_verdadeiro – 0 (zero)
•
Resultado_se_falso - (espessura * 10) (ou seja, faz com que o Void se afaste do painel e assim não o corta)
Feito isto, teremos a seguinte condição:
IF(buraco, 0, (espessura * 10))
Teremos o seguinte resultado.

Got the Picture? ;)