Jump to content

Borrador Matriz de Ruta

From FreeCAD Documentation
This page is a translated version of the page Draft PathArray and the translation is 100% complete.

Draft PathArray

Menu location
Modificación → Herramientas de matriz → Matriz de ruta
Modicar → Matriz de ruta
Workbenches
{{{Workbenches}}}
Default shortcut
None
Introduced in version
0.14
See also
Borrador Matriz Ortogonal, Borrador Matriz Polar, Borrador Matriz Circular, Borrador Matriz de Enlaces de Ruta, Borrador Matriz de Puntos, Borrador Matriz de enlaces de Puntos

Descripción

El comando Borrador Matriz de Ruta crea una matriz regular a partir de un objeto seleccionado colocando copias a lo largo de una ruta. Utilice el comando Borrador Matriz de Enlace de Ruta para crear una Matriz de Enlace más eficiente. Excepto por el tipo de matriz que se crea, matriz Link o matriz regular, el comando Borrador Matriz de Enlace de Ruta es idéntico a este comando.

Ambos comandos se pueden usar en objetos 2D creados con el Entorno de Trabajo de Borrador o el Entorno de Trabajo de Boceto, pero también en muchos objetos 3D como los creados con el Ambiente de Trabajo de Pieza, el Entorno de Trabajo de Diseño de Pieza o el Entorno de Trabajo de Arquitectura.

Borrador Matriz de Ruta

Como utilizar

  1. Seleccione el objeto que desea crear en una matriz.
  2. Añada el objeto de ruta a la selección. También puede seleccionar aristas. Las aristas deben pertenecer al mismo objeto y estar conectadas.
  3. Existen varias formas de ejecutar el comando:
    • Pulse el botón Matriz de rutas.
    • Draft: Seleccione la opción Modification → Herramientas de Matriz → Martriz de Ruta del menú.
    • BIM: Seleccione la opción Modificar → Matriz de rutas del menú.
  4. Se creará la matriz.
  5. Opcionalmente, cambie las propiedades de la matriz en la Vista de propiedades.

Alineación

La alineación de los elementos en un Borrador Matriz de Ruta depende de las propiedades de la matriz y de la orientación del objeto de origen. La posición del objeto de origen se ignora: para la matriz, x, y y z se establecen en 0. Si la propiedad DatosAlinear de la matriz se establece en false, la orientación de los elementos de la matriz es idéntica a la del objeto de origen. Si se establece en true, el eje X del sistema de coordenadas local de la ubicación de cada elemento es tangente a la ruta. Los ejes Y y Z de los sistemas de coordenadas locales dependen de la propiedad DatosModo de Alinear de la matriz. Otras propiedades de la matriz que intervienen en la alineación incluyen DatosVector Tangente, DatosFuerza vertical y DatosVector Vertical.

3 matrices basadas en la misma ruta no planar. De izquierda a derecha: Alinear es falso, Alinear es verdadero con el modo de alineación original y Alinear es verdadero con el modo de alineación Frenet.

Modo de alineación

Hay tres modos disponibles:

Original

Este modo es el más parecido al Datosmodo de alineación único disponible en la versión 0.18. Se basa en un vector normal fijo. Si la trayectoria es plana, este vector es perpendicular al plano de la trayectoria; de lo contrario, se utiliza un vector predeterminado, el eje Z positivo. A partir de este vector normal y el vector tangente local (el eje X local), se calcula un producto vectorial [1]. Este nuevo vector se utiliza como eje Z local. La orientación del eje Y local se determina a partir de los ejes X y Z locales.

Frenet

Este modo utiliza el vector normal local derivado de la trayectoria en cada ubicación de elemento. Si este vector no se puede determinar (por ejemplo, en el caso de un segmento recto), se utiliza un vector predeterminado, nuevamente el eje Z positivo. Con este vector y el vector tangente local, se determina el sistema de coordenadas local mediante el mismo procedimiento descrito en el párrafo anterior.

Tangente

Este modo es similar al DatosModo de Alineación Original pero incluye la posibilidad de pre-rotar el objeto de origen especificando un DatosVector tangente.

Fuerza vertical y vector vertical

Estas propiedades solo están disponibles si el DatosMode de Alineación es Original o Tangente. Si la DatosFuerza Vertical se establece en true, el sistema de coordenadas local se calcula de manera diferente. El DatosVector Vertical se utiliza como un vector normal fijo. A partir de este vector normal y el vector tangente local (el eje X local), se calcula nuevamente un producto vectorial. Pero ahora este vector se utiliza como el eje Y local. La orientación del eje Z local se determina a partir de los ejes X e Y locales.

El uso de estas propiedades se puede necesitar si uno de los bordes del camino es (casi) paralelo a la normal predeterminada del camino.

Notas

  • Las matrices de enlaces fusionados no se muestran correctamente; en la Vista 3D sus elementos siempre aparecen sin fusionar.

Propiedades

Véase también:Vista de propiedad.

Un objeto Boceto Matriz de Ruta se deriva de un objeto Característica de la pieza y hereda todas sus propiedades (con la excepción de algunas propiedades de Vista que no son heredadas por los arreglos Enlace). Las siguientes propiedades son adicionales a menos que se indique lo contrario:

Datos

Enlace

Las propiedades de este grupo solo están disponibles para Matrices de Enlace. Consulte Matriz de Enlace Estándar para obtener más información.

  • DatosScale (Float)
  • Datos (Hidden)Scale Vector (Vector)
  • DatosScale List (VectorList)
  • Datos (Hidden)Visibility List (BoolList)
  • Datos (Hidden)Placement List (PlacementList)
  • Datos (Hidden)Element List (LinkList)
  • Datos (Hidden)_ Link Touched (Bool)
  • Datos (Hidden)_ Child Cache (LinkList)
  • Datos (Hidden)_ Link Owner (Integer)
  • Datos (Hidden)Colored Elements (LinkSubHidden)
  • DatosLink Copy On Change (Enumeration)
  • DatosLink Transform (Bool)

Alineación

  • DatosAlign (Bool): especifica si los elementos de la matriz están alineados a lo largo de la ruta o no. Si es false, todas las demás propiedades de este grupo, excepto DatosTraslación Extra, no se aplican y se ocultan.
  • DatosAlign Mode (Enumeration): especifica el modo de alineación, que puede ser Original, Frenet o Tangente.
  • DatosExtra Translation (VectorDistance): especifica un desplazamiento adicional para cada elemento a lo largo de la ruta.
  • DatosForce Vertical (Bool): especifica si se debe sobrescribir la dirección normal predeterminada con el valor de DatosVector Vertical. Solo se usa si DatosModo de alineación es Original o Tangente.
  • DatosReverse Path (Bool): especifica si se debe recorrer la ruta en sentido inverso. introduced in 1.1
  • DatosTangent Vector (Vector): especifica el vector de alineación. Solo se usa si DatosModo de alineación es Tangente.
  • DatosVertical Vector (Vector): especifica la anulación de la dirección normal predeterminada. Solo se usa si DatosVector Vertical es true.

Boceto

  • DatosAlways Sync Placement (Bool)

Objectos

  • DatosBase (LinkGlobal): especifica el objeto que se duplicará en la matriz.
  • DatosExpand Array (Bool): especifica si se debe expandir la matriz en la Vista de Árbol para permitir la selección de sus elementos individuales. Solo disponible para matrices de enlaces.
  • DatosFuse (Bool): especifica si los elementos superpuestos en la matriz se fusionan o no. introduced in 1.0
  • DatosPath Object (LinkGlobal): especifica el objeto que se utilizará para la ruta. Debe contener Bordes en su Part TopoShape.
  • DatosPath Subelements (LinkSubListGlobal): especifica una lista de aristas del DatosObjeto Ruta. Si se proporciona, solo se utilizarán estas aristas para la ruta.
  • DatosPlacement List (PlacementList): la ubicación de cada elemento. Aparece en el grupo Enlace para las Matrices de Enlace. introduced in 1.1

Espaciado

  • DatosCount (Entero): especifica el número de elementos en la matriz.
  • DatosEnd Offset (Longitud): especifica la longitud desde el final de la ruta hasta la última copia. Debe ser menor que la longitud de la ruta menos el DatosComenzar Offset. introduced in 0.21
  • DatosSpacing Mode (Enumeración): especifica cómo se espacian los elementos. Las opciones son: introduced in 1.1
    • Recuento Fijo: la longitud de ruta disponible (menos los desplazamientos inicial y final) se divide uniformemente para acomodar el Datoscontar elementos.
    • Espacido Fijado: comienza en el desplazamiento inicial y coloca nuevos elementos después de recorrer una distancia fija a lo largo de la ruta.
    • Recuento y espaciado fijos: igual que Espaciado fijo, pero también se detiene en DatosRecuento elementos.
  • DatosSpacing Pattern (Lista flotante): el espaciado se multiplica por un número correspondiente en esta secuencia. Solo se usa si DatosUsar patrón de espaciado es true; de lo contrario, se oculta. introduced in 1.1
  • DatosSpacing Unit (Longitud): la distancia base fija entre elementos. Solo se usa si DatosModo de espaciado es Espaciado fijo o Recuento y espaciado fijos; de lo contrario, se oculta. introduced in 1.1
  • DatosStart Offset (Longitud): especifica la longitud desde el inicio de la ruta hasta la primera copia. Debe ser menor que la longitud de la ruta. introduced in 0.21
  • DatosUse Spacing Pattern (Bool): utiliza patrones de espaciado repetitivos en lugar de espaciado uniforme. introduced in 1.1

Vista

Enlace

Las propiedades de este grupo, con la excepción de la propiedad heredada, solo están disponibles para matrices de Enlace. Consulte Matrices de Enlace Enlace para obtener más información.

  • VistaDraw Style (Enumeración)
  • VistaLine Width (Restricción de flotación)
  • VistaOverride Material (Bool)
  • VistaPoint Size (Restricción de flotación)
  • VistaSelectable (Bool): esta es una propiedad heredada que aparece en el grupo Selección para otras matrices.
  • VistaShape Material (Material)

Base

Las propiedades de este grupo, con la excepción de la propiedad heredada, solo están disponibles para matrices de Enlace. Consulte Matrices de Enlace Estándar para obtener más información.

  • Vista (Oculto)Child View Provider (PersistentObject)
  • Vista (Oculto)Material List (MaterialList)
  • Vista (Oculto)Override Color List (ColorList)
  • Vista (Oculto)Override Material List (BoolList)
  • Vista (Oculto)Proxy (PythonObject): esta es una propiedad heredada.

Opciones de visualización

Las propiedades de este grupo son propiedades heredadas. Consulte Características de Pieza para obtener más información.

  • VistaBounding Box (Bool): esta propiedad no se hereda en las Matrices de Enlace.
  • VistaDisplay Mode (Enumeration): para las Matrices de Enlace, puede ser Link o ChildView. Para otras matrices, puede ser: Líneas planas, Sombreado, Estructura alámbrica o Puntos.
  • VistaShow In Tree (Bool)
  • VistaVisibility (Bool)

Borrador

  • VistaPattern (Enumeración): no utilizado.
  • VistaPattern Size (Flotar): no utilizado.

Estilo de objeto

Las propiedades de este grupo no se heredan en las Matrices de Enlace.

Programación de Scripts

Véase también: Documentación de la API autogenerada y Conceptos básicos de scripting de FreeCAD.

Para crear una Matriz de Ruta, utilice el método make_path_array (introduced in 0.19) del módulo Borrador. Este método reemplaza al método obsoleto makePathArray.

path_array = make_path_array(base_object, path_object,
                             count=4, extra=App.Vector(0, 0, 0), subelements=None,
                             align=False, align_mode="Original", tan_vector=App.Vector(1, 0, 0),
                             force_vertical=False, vertical_vector=App.Vector(0, 0, 1),
                             use_link=True)
  • base_object es el objeto que se va a incluir en el array. También puede ser la Label (cadena de texto) de un objeto del documento actual.
  • path_object es el objeto de ruta. También puede ser la Label (cadena de texto) de un objeto del documento actual.
  • count es el número de elementos de la matriz.
  • extra es un vector que desplaza cada elemento.
  • subelements es una lista de aristas de path_object, por ejemplo ["Edge1", "Edge2"]. Si se proporciona, solo se usarán estas aristas para la ruta.
  • Si align es True, los elementos se alinean a lo largo de la ruta según el valor de align_mode, que puede ser "Original", "Frenet" o "Tangent".
  • tan_vector es un vector unitario que define la dirección tangente local de los elementos a lo largo de la ruta. Se utiliza cuando align_mode es "Tangent".

Si force_vertical es True, vertical_vector se utiliza para la dirección Z local de los elementos a lo largo de la ruta. Se utiliza cuando align_mode es "Original" o "Tangent". * Si use_link es True, los elementos creados son App Links en lugar de copias normales.

  • path_array se devuelve con el objeto array creado.

Ejemplo:

import FreeCAD as App
import Draft

doc = App.newDocument()

p1 = App.Vector(500, -1000, 0)
p2 = App.Vector(1500, 1000, 0)
p3 = App.Vector(3000, 500, 0)
p4 = App.Vector(4500, 100, 0)
spline = Draft.make_bspline([p1, p2, p3, p4])
obj = Draft.make_polygon(3, 500)

path_array = Draft.make_path_array(obj, spline, 6)
doc.recompute()

wire = Draft.make_wire([p1, -p2, -p3, -p4])
path_array2 = Draft.make_path_array(obj, wire, count=3, extra=App.Vector(0, -500, 0), subelements=["Edge2", "Edge3"], align=True, force_vertical=True)
doc.recompute()