Draft PathArray/es: Difference between revisions
No edit summary |
No edit summary |
||
Line 61: | Line 61: | ||
{{clear}} |
{{clear}} |
||
Es mucho más fácil de entender con fotos. Las siguientes imágenes muestran cómo se produce la matriz, dependiendo de qué plano es la ruta. |
|||
It is much easier to understand with pictures. The following images show how the array is produced, depending on which plane is the path. |
|||
[[Image:patharray_alignment.png|600px|left|XY Plane]] |
[[Image:patharray_alignment.png|600px|left|XY Plane]] |
Revision as of 11:24, 13 November 2018
Draft PathArray |
Ubicación en el Menú |
---|
Draft → PathArray |
Entornos de trabajo |
Draft, Arch |
Atajo de teclado por defecto |
Ninguno |
Introducido en versión |
- |
Ver también |
Draft Array |
Descripción
La herramienta PathArray coloca copias de una forma seleccionada a lo largo de una ruta seleccionada. La ruta puede ser un cable o uno o más bordes. Las formas pueden alinearse opcionalmente con la tangente del camino. Si es necesario, se puede especificar un vector de translación para cambiar las formas de modo que el centroide esté en la ruta. Si no se seleccionan objetos, se le invitará a seleccionarlos.
Como utilizar
- Crea un objeto de forma que desees distribuir. Obtendrá los mejores resultados si su objeto está centrado en el origen, incluso si la ruta comienza en otro lugar.
- Seleccione un objeto de ruta a lo largo del cual se distribuirán las formas. -o-
- Seleccione algunos bordes de un objeto de ruta.
- Presiona el botón Draft PathArray .
Opciones
- La matriz comienza con copias de formas que no están alineadas con la ruta, ni se traducen a una nueva posición de forma predeterminada. Luego puede cambiar el conteo, la alineación y / o el vector de traducción en las propiedades.
Propiedades
- DatosBase: El objeto de forma
- DatosPathObj: El objeto de ruta
- DatosPathSubs: los subelementos (bordes) del objeto de ruta que se usará como ruta
- DatosCount: la cantidad de tiempo para copiar la forma
- DatosXlate: El vector de traducción
- DatosAlign: True para alinear las formas con la ruta, False para dejar las formas en su orientación predeterminada.
Programación
La herramienta PathArray puede usarse en macros y desde la consola de Python utilizando la siguiente función:
makePathArray(shapeobject,pathobject,count,[translationvector],[alignment],[listofpathsubelements])
- Distribuir recuento de copias de un objeto de forma de documento a lo largo de un objeto de ruta o subobjetos de un objeto de ruta. Opcionalmente, traduce cada copia por FreeCAD.Vector xlate la dirección y la distancia para ajustar la diferencia entre el centro de la forma y el punto de referencia de la forma. Opcionalmente alinea el objeto base con la tangente / normal / binormal de la ruta.
Ejemplo:
import FreeCAD,Draft
Draft.makePathArray(base,path,items,centretrans,orient,pathsubs)
Notas de uso
- Alinear + Xlate: cuando Alinear es verdadero, el vector Xlate es relativo a las coordenadas locales (tangente / normal / binormal). Cuando Alinear es Falso, el vector Xlate es relativo a las coordenadas globales (XYZ).
Limitaciones
- Esta herramienta no está disponible antes de la versión 0.14.
- La propiedad PathSubs aún no aparece en la lista de propiedades.
Explicación técnica
Cuando "Alinear = falso", la lógica de PathArray es bastante fácil de entender.
Cuando "Align = true" la lógica es un poco más difícil de entender:
- Construir sistemas de coordenadas Frenet en la ruta (X es tangente, Z es normal, Y es binormal).
- Copie el objeto original en cada sistema de coordenadas en ruta, de modo que el origen global coincida con el origen del sistema de coordenadas en ruta.
Es mucho más fácil de entender con fotos. Las siguientes imágenes muestran cómo se produce la matriz, dependiendo de qué plano es la ruta.
Path on XY Plane
Path on XZ Plane
Path on YZ Plane
The clear advantage of this logic is that as you reorient the path but not the object, the result is consistent - object remains aligned to the path the way it was before reorienting the path.
(Thanks to @DeepSOIC for this explanation)