Añadir información para compatibilidad con LDraw

Sintaxis: <LDraw>
    <Alias>...</Alias>
    <Angle>...</Angle>
    <Translation>
        <x>...</x>
        <y>...</y>
    </Translation>
    <PreferredHeight>...</PreferredHeight>
    <SleeperID>...</SleeperID>
</LDraw>


Nota: La etiqueta <Alias> puede tener un atributo opcional llamado "noremap":
<Alias noremap="true">...</Alias>
Valor por defecto: Si no hay etiqueta <LDraw>, la pieza no es compatible con LDraw.
Descripción: Un conjunto de información usado por BlueBrick para convertir a piezas de LDraw a BlueBrick y viceversa.

BlueBrick puede guardar y cargar archivos en formato LDraw. Como el origen (ej. de giro) de la pieza en los archivo LDraw no siempre es el mismo que el origen en la biblioteca de BlueBrick, BlueBrick tiene que aplicar algún tipo de transformación en la posición y orientación de la pieza al guardar o cargar un archivo en formato LDraw.

Si amplías tu biblioteca con sets, probablemente no tengas que modificar el archivo porque la biblioteca de LDraw contiene principalmente piezas y muy pocos sets. Debido a esto, tu programa de LDraw no podrá cargar tus sets a menos que tengas el archivo LDraw correspondiente.

Además, si amplías tu biblioteca con una pieza, solo tienes que añadir el campo LDraw en el archivo XML si el origen de la pieza es distinto en BlueBrick que en LDraw.

El campo Alias contiene una ID de pieza de BlueBrick (el número de la pieza seguida de un punto y la ID del color) que debería usarse al guardar/cargar en formato LDraw para reemplazar la pieza actual por otra. Este campo es útil si la pieza no existe aún en la biblioteca LDraw, pero se podría usar una similar en su lugar.

Normalmente el campo Alias no sirve porque la ID de la pieza en BlueBrick es la misma que en LDraw (por defecto al crear una pieza BlueBrick). Este campo, sin embargo, se puede usar si la ID de BlueBrick es diferente de la de LDraw. Si añades este campo, BlueBrick empleará la ID especificada al guardar en formato LDraw y creará además un enlace de redireccionamiento que se usará al cargar un archivo LDraw, a menos que añades el atributo noremap="true". Si añades el atributo noremap="true" y guardas el trazado en formato LDraw, aparecerá una cruz roja (pieza desconocida) al cargar el trazado de nuevo en BlueBrick. En la mayoría de casos no deberías usar el atributo noremap="true".

El campo Angle contiene la diferencia en ángulo entre dos sistemas de coordenadas a lo largo del eje UP (en grados).

Los x e y dentro de los campos de traslación contienen la diferencia en posición entre dos sistemas de coordenadas (en LDU).

Cuando guardas un trazado BlueBrick en LDraw, BlueBrick coloca todas las piezas en un altura de 0 por defecto. El campo PreferredHeight contiene un valo de altura (en LDU), que BlueBrick emplea en vez de la altura por defecto. Si modificas la altura de una pieza con un programa para LDraw y recarga el mapa en BlueBrick, la altura se retendrá cuando se vuelva a guardar el archivo. El campo PreferredHeight solamente se usa en el formato LDraw si la altitud de la pieza es 0.

Nota que i usas un valor que no es cero para el campo PreferredHeight de una pieza y guardas un mapa en BlueBrick que la contiene, la altura de esa pieza no volverá a modificarse en ese mapa BlueBrick. Ni siquiera se cambias el campo PreferredHeight de nuevo y recargas la biblioteca de piezas. Esto es así porque la pieza se guardó en un archivo LDR con el primer valor y ese valor es respetado por BlueBrick. De modo que si creas una nueva pieza y quieres ajustar su altura preferida, tienes que recrear el trazado cada vez antes de guardarlo en formato LDraw.

El campo SleeperID contiene la ID BlueBrick de una pieza (el número de la pieza seguido de un punto y la ID del color), del 'sleeper' que hay que usar con la vía que estas describiendo. Para una edición rápida y cómoda en BlueBrick, no hace falta añadir los "sleeper"; ya están integrados dentro de los diferentes tipos de vías. Pero cuando quieres guardar un trazado en formato LDraw, BlueBrick tiene que generar los "sleeper" en las posiciones correctas. Por eso BlueBrick necesita la información LDraw de estas piezas. Para este fin puedes añadir un archivo XML sin GIF asociado, para los "sleepers de la biblioteca de piezas; BlueBrick empleará esta información al guardar pero ignorará estas piezas al cargar un archivo LDraw.

Ya que los durmientes de las vias 4,5V y 12V son compartidos entre ambas partes de la vía, BlueBrick no intenta adivinar y siempre añade un durmiente a todos los puntos de conexión. Por suerte, los autores de las piezas LDraw crearon el enlace Ldraw necesario con justo dos raíles y el durmiente intermedio (si es necesario) y éste es el enlace de pieza LDraw que usa BlueBrick para exportarlo en formato LDraw.