Solids Builder - Calcular Target
Calcular Target - calcula um ponto sobre uma Curva de referência e
um ponto alvo noutra curva:
A atividade Calcular Target tem a seguintes propriedades:
- Identificação
- Nome - nome da atividade
O nome do ponto deve seguir as regras de nomenclatura
- Eixo de Referência - Indica qual curva será usada para calcular o ponto base
- Eixo de Alvo - Indica qual curva será usada para calcular o ponto alvo
- Objeto Visível - indica se o ponto deve ou não ser desenhado no preview
- O Valor é - indica que tipo de valor é fornecido para calcular o ponto, pode ser:
- Distância - distância 3D sobre a linha, a contar do início desta.
O exemplo acima, usei uma expressão VB:
Linha.
Length / 2
- Distância 2D - Funciona de maneira semelhante a opção Distância só que a distância é contabilizada na projeção da curva no plano XY
- Parâmetro - é um número, cuja parte inteira se refere ao número do vértice e a parte fracionária refere-se ao percentual do segmento subsequente a este vértice
numa polilinha, o parâmetro 1.55 seria no segundo segmento (o primeiro segmento tem índice ZERO), contando 55% do comprimento dele:
- Ponto - um outro ponto, não necessariamente sobre a curva
Será calculado o ponto mais próximo à curva
- Valor - uma expressão VB que fornece valor para calcular o ponto na curva
Observe o campo 'O valor é'. A expressão precisa retornar o mesmo tipo de dado
Após o ponto ter sido calculado, é possível obter as seguintes propriedades:
- IsValid - um valor verdadeiro/falso (Boolean) que indica se o ponto base (BasePoint) e o ponto alvo (TargetPoint) puderam calculados
- BasePoint - um
ponto sobre a curva de referência
- TargetPoint - um
ponto sobre a curva alvo
- Offset - a distância no plano XY entre o BasePoint e o TargetPoint, medido na perpendicular ao vetor tangente a projeção no plano XY da curva de referência
Um valor positivo, indica que o TargetPoint está a direita do eixo de referência
Um valor negativo, indica que o TargetPoint está a esquerda do eixo de referência
- DeltaElevation - a distância vertical entre o BasePoint e o TargetPoint
DeltaElevation = TargetPoint.Z - BasePoint.Z
Um valor positivo, indica que o TargetPoint está acima do eixo de referência
Um valor negativo, indica que o TargetPoint está a abaixo do eixo de referência
Um exemplo do uso desta ferramenta:
Na imagem acima, o
arco amarelo está no plano XY, enquanto a
Spline é tridimensional
Para modelar um sólido como se fosse um corredor do Civil 3D, deve-se criar um looping, que calcule várias seções ao longo do eixo de referência
e usar a ferramenta
Transição ente elas. Considere este exemplo:
O fluxo executa o sólido abaixo:
O fluxo executa:
- Cria um eixo de referência (Arc)
- Cria um eixo alvo (Spline)
- Inicializa as variáveis:
- delta = Arc.length / 10
- n = 0
- prevSection = Nothing
- Solido = Nothing
- Se n ≤ 10, executa:
- Calcula o Target:
- Calcula o ponto base na curva Arc
- Calcula o ponto alvo na curva Spline
- Cria uma seção típica, que usa o valor de Target.Offset e Target.DeltaElevation
- Alinha a seção típica no ponto Target.BasePoint e cria a curva AlinhaSecao
- Testa se a prevSection é nula e:
- Se é nula, define: prevSection = AlinhaSecao
- Se a prevSevtion existe, então:
- Cria a transição Loft entre prevSection e AlinhaSecao
- Junta a variável Solido com a transição Loft, criando o Join
- Adiciona o Join na variável Solido
- Define prevSection = AlinhaSecao (pra usar no próximo looping)
- Incrementa n, fazendo n= n + 1
- Retorna ao passo 4
Caso o texto fique muito grande/pequeno, ou a esfera que representa o ponto fique muito grande ou pequena, use o botões (A, a,
,
) no topo da tela para alterar o preview
Propriedades (para usar nas expressões VB)
implementa as propriedades dos pontos, além as propriedades listadas acima
Métodos (para usar nas expressões VB)
implementa os métodos das pontos