# Envolvente libre

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-08eb8cd428425a923af595cea18442b7936ffbdf%2FRail_ClearanceEnvelope_Player.gif?alt=media" alt=""><figcaption></figcaption></figure>

El desarrollo de envolventes cinemáticos para la validación de la separación es una parte importante del diseño de ferrocarriles. Dynamo se puede utilizar para generar sólidos para el envolvente en lugar de crear y administrar subensamblajes de obra lineal complejos para realizar el trabajo.

## Objetivo

> :dart: Utilice un bloque de perfil de vehículo para generar sólidos 3D de envolvente libre a lo largo de una obra lineal.

## Conceptos clave

> * Trabajo con líneas características de obra lineal
> * Transformación de la geometría entre sistemas de coordenadas
> * Creación de sólidos mediante solevación
> * Control del comportamiento de los nodos con parámetros de encaje

## Compatibilidad con versiones

{% hint style="success" %}
Este gráfico se ejecutará en \*\*Civil 3D 2020\*\* y versiones posteriores.
{% endhint %}

## Conjunto de datos

Descargue primero los archivos de ejemplo que aparecen a continuación y abra el archivo DWG y el gráfico de Dynamo.

{% file src="<https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-d76a75f3270ab6bfb2f4e8ab798c5772e44f1e70%2FRail_ClearanceEnvelope%20(1).dyn?alt=media>" %}

{% file src="<https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-555200ae7db1ec786f8084e35bd0a17f3fbdc8dc%2FRail_ClearanceEnvelope.dwg?alt=media>" %}

## Solución

A continuación, se ofrece una descripción general de la lógica de este gráfico.

> 1. Obtener líneas características de la línea base de obra lineal especificada
> 2. Generar sistemas de coordenadas a lo largo de la línea característica de obra lineal con la separación deseada
> 3. Transformar la geometría de bloque de perfil en sistemas de coordenadas
> 4. Solevar un sólido entre los perfiles
> 5. Crear los sólidos en Civil 3D

¡Empecemos!

### Obtener datos de obra lineal

El primer paso es obtener datos de obra lineal. Seleccionaremos el modelo de obra lineal por su nombre, obtendremos una línea base específica dentro de la obra lineal y, a continuación, conseguiremos una línea característica dentro de la línea base por su código de punto.

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-ac149803f2fec120b34fecefe697b2cb5598c462%2FRail_ClearanceEnvelope_GetCorridorData.png?alt=media" alt=""><figcaption><p>Selección de la obra lineal, la línea base y la línea característica</p></figcaption></figure>

### Generar sistemas de coordenadas

Ahora vamos a generar **sistemas de coordenadas** a lo largo de las líneas características de obra lineal entre un P.K. inicial y uno final especificados. Estos sistemas de coordenadas se utilizarán para alinear la geometría de bloque del perfil del vehículo con la obra lineal.

{% hint style="info" %}
Si es la primera vez que utiliza los sistemas de coordenadas, consulte la sección \[2-vectors.md]\(../../../5\\\_essential\\\_nodes\\\_and\\\_concepts/5-2\\\_geometry-for-computational-design/2-vectors.md "mention").
{% endhint %}

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-f005dd000c839530bb8e664b761d858a45c2ebe9%2FRail_ClearanceEnvelope_CreateCoordinateSystems.png?alt=media" alt=""><figcaption><p>Obtención de sistemas de coordenadas a lo largo de las líneas características de obra lineal</p></figcaption></figure>

> 1. Observe el pequeño **XXX** en la esquina inferior derecha del nodo. Esto significa que los parámetros de encaje del nodo se han definido como *Producto vectorial*, lo que es necesario para generar los sistemas de coordenadas con los mismos valores de P.K. para ambas líneas características.

{% hint style="info" %}
Si es la primera vez que utiliza el encaje de nodos, consulte la sección \[1-whats-a-list.md]\(../../../5\\\_essential\\\_nodes\\\_and\\\_concepts/5-4\\\_designing-with-lists/1-whats-a-list.md "mention").
{% endhint %}

### Transformar la geometría de bloque

Ahora tenemos que crear de alguna manera una matriz de los perfiles de los vehículos a lo largo de las líneas características. Lo que vamos a hacer es transformar la geometría desde la definición de bloque del perfil del vehículo mediante el nodo **Geometry.Transform**. Se trata de un concepto difícil de visualizar, así que antes de ver los nodos, he aquí un gráfico que muestra lo que va a ocurrir.

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-e303adc517b5bf2951a8d04ae1c2675b1842eb53%2FRail_ClearanceEnvelope_TransformAnimation.gif?alt=media" alt=""><figcaption><p>Visualización de la transformación de la geometría entre sistemas de coordenadas</p></figcaption></figure>

En definitiva, lo que hacemos es utilizar la geometría de Dynamo de una *única* definición de bloque y desplazarla o rotarla, a la vez que creamos una matriz a lo largo de la línea característica. ¡Increíble! A continuación, se muestra el aspecto de la secuencia de nodos.

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-44c2996470bb14d4a59c7a418708593d00194ab2%2FRail_ClearanceEnvelope_Transform.png?alt=media" alt=""><figcaption></figcaption></figure>

> 1. De esta forma, se obtiene la definición de bloque del documento.
> 2. Estos nodos obtienen la geometría de Dynamo de los objetos del bloque.
> 3. Estos nodos definen básicamente el sistema de coordenadas *desde* el que se está transformando la geometría.
> 4. Y, por último, este nodo realiza el trabajo real de transformar la geometría.
> 5. Observe el encaje *más largo* en este nodo.

Y esto es lo que obtenemos en Dynamo.

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-28cd3b3dcb9a5f88df9b5bf620e61e6b087f89d9%2FRail_ClearanceEnvelope_Dynamo_Profiles.png?alt=media" alt=""><figcaption><p>La geometría del bloque del perfil del vehículo después de la transformación</p></figcaption></figure>

### Generar sólidos

¡Buenas noticias! Ya se ha completado la parte más complicada. Ahora solo tenemos que generar sólidos entre los perfiles. Esto se consigue fácilmente con el nodo **Solid.ByLoft**.

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-ba0723c6e309707fd12e50c89983205a4a9725be%2FRail_PlaceTies_SolidByLoft.png?alt=media" alt="" width="325"><figcaption></figcaption></figure>

Este es el resultado. Recuerde que estos son sólidos de Dynamo; aún debemos crearlos en Civil 3D.

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-28e91b1c436018bf6ecb7afe18ac32f11c78da6a%2FRail_ClearanceEnvelope_Dynamo_Solids.png?alt=media" alt=""><figcaption><p>Los sólidos de Dynamo después de la solevación</p></figcaption></figure>

### Generar sólidos en Civil 3D

El último paso es generar los sólidos en el espacio modelo. También les asignaremos un color para que sean fáciles de ver.

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-bf5954f60f7c14543cee49ee5d1eefcd4b9648d0%2FRail_ClearanceEnvelope_SolidsToC3D.png?alt=media" alt=""><figcaption><p>Generación de sólidos en Civil 3D</p></figcaption></figure>

### Resultado

A continuación, se muestra un ejemplo de cómo ejecutar el gráfico con el **Reproductor de Dynamo**.

<figure><img src="https://4010443943-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F34TIEzzNzA4rkNWukVIo%2Fuploads%2Fgit-blob-08eb8cd428425a923af595cea18442b7936ffbdf%2FRail_ClearanceEnvelope_Player.gif?alt=media" alt=""><figcaption><p>Ejecución del gráfico mediante el Reproductor de Dynamo y visualización de los resultados en Civil 3D</p></figcaption></figure>

{% hint style="info" %}
Si es la primera vez que utiliza el Reproductor de Dynamo, consulte la sección \[dynamo-player.md]\(../../dynamo-player.md "mention").
{% endhint %}

> :tada: ¡Misión cumplida!

## Ideas

A continuación, se ofrecen algunas ideas sobre cómo podría ampliar las posibilidades de este gráfico.

{% hint style="info" %}
Añada la capacidad de utilizar \*\*diferentes intervalos de P.K.\*\* por separado para cada vía.
{% endhint %}

{% hint style="info" %}
\*\*Divida los sólidos\*\* en segmentos más pequeños que se puedan analizar individualmente para detectar conflictos.
{% endhint %}

{% hint style="info" %}
Compruebe si los sólidos de envolvente \*\*se intersecan con elementos\*\* y coloree aquellos que entren en conflicto.
{% endhint %}
