Modelagem de terrenos a partir das curvas de nível com o BlenderGis
arquivo dxf com curvas de nível
- Baixe o arquivos acima.
- Importe o arquivo DXF no Blender.

- Em modelos muito grades, é recomendado aumentar o valor da variável Menu N -> aba View -> Seção view -> end. foi utilizado o valor 1000000 (um milhão de metros ou 100 km) neste exemplo.

- Localize a(s) camada(s) onde estão as curvas de nível - As camadas (layers) de um arquivo dxf são importadas como objetos.

- No arquivo baixado, as camadas 5 e 6 contém respectivamente as curvas de 5 em 5 metros e as curvas intermediárias.
- Selecione os objetos 5_curves e 6_curves no Outliner e junte em um único objeto usando o atalho
ctrl+j.
- Renomeie (tecla F2) a nova camada para
CURVAS DE NIVEL.
- converta as curvas em Mesh.

Com as curvas convertidas em mesh, é possível exportar as coordenadas dos vértices para um arquivo .txt utilizando o código abaixo. Esse arquivo pode ser usado para geração de terrenos em programas como O Revit e Archicad:
import bpy
from pathlib import Path
# Get the directory of the current .blend file
blend_dir = Path(bpy.data.filepath).parent
save_to_file = blend_dir / "vertices.txt" # Output file in the same folder
separator = "," # Custom separator
# Extract vertex coordinates
vertices = [f"{v.co.x}{separator}{v.co.y}{separator}{v.co.z}" for v in bpy.context.object.data.vertices]
# Save to file
with open(save_to_file, 'w') as file:
file.write('\n'.join(vertices))
print(f"Vertices exported to: {save_to_file}")
-
No Menu do Plug-in BlenderGis, com a Mesh das curvas de nível selecionada, escolha a opção Gis -> Mesh -> Delanay.

-
Uma malha é gerada a partir das curvas

-
Mudando para o Edit Mode pode-se ver a malha triangular gerada pelo comando.

-
Para muitas operações é preciso transformar o terreno em um sólido.
-
No modo de edição, utilize a seleção de arestas
2.

- Selecione todas as arestas (Utilize o atalho
a).

- Selecione as arestas que estão na borda da seleção.
Select->Select Loops->Select Boundary Loops

- Use o comando Extrude
ecom restrição para o eixo zze arraste o mouse para baixo da superfície do terreno. A altura mínima do sólido deve ser suficiente para as operações booleanas de corte do terreno. Clique com o botão esquerdo do mouse para aceitarLMB.

- Ao menos que seu terreno tenha as bordas niveladas no eixo z, é preciso alinhar os segmentos. Use o comando Scale
s, restrinja para o eixo zz, utilize o valor0(zero) e clique com o botão esquerdo do mouse para aceitarLMB.

- Para fechar o sólido, com as arestas inferiores selecionadas, utilize o comando
Vertex->New Edge/Faces from Vertexou digitando o atalhof(as vezes esse comando é chamado de fuse).
