Draft PathArray/es

From FreeCAD Documentation
Revision as of 20:41, 22 May 2020 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

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 alambre 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.

The PathArray tool can be used on 2D shapes created with the Draft Workbench, but can also be used on many types of 3D objects such as those created with the Part, PartDesign, or Arch Workbenches.

To position copies in an orthogonal array use Draft Array; to position copies at specified points use Draft PointArray; to create copies or clones, and manually place them use Draft Move, Draft Rotate, and Draft Clone.

Object arranged along a path

Como utilizar

  1. 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.
  2. Seleccione un objeto de ruta a lo largo del cual se distribuirán las formas. -o-
  3. Seleccione algunos bordes de un objeto de ruta.
  4. Presiona el botón Draft PathArray .

Each element in the array is an exact clone of the original object, but the entire array is considered a single unit in terms of properties and appearance.

The base object should be centred around the origin, even if the path starts somewhere else.

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:

PathArray = makePathArray(baseobject, pathobject, count, xlate=None, align=False, pathobjsubs=[])
  • 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

p1 = FreeCAD.Vector(500, -1000, 0)
p2 = FreeCAD.Vector(1500, 1000, 0)
p3 = FreeCAD.Vector(3000, 500, 0)
p4 = FreeCAD.Vector(4500, 100, 0)
spline = Draft.makeBSpline([p1, p2, p3, p4])
object = Draft.makePolygon(3, 500)

PathArray = Draft.makePathArray(object, spline, 6)

Explicación técnica

Cuando "Alinear = falso", la lógica de PathArray es bastante fácil de entender.

Align false
Align false
Align false
Align false

Object arranged along a closed path in the original orientation

Cuando "Align = true" la lógica es un poco más difícil de entender:

  1. Construir sistemas de coordenadas Frenet en la ruta (X es tangente, Z es normal, Y es binormal).
  2. 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.

Object arranged along a closed path; description of components and path

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.

XY Plane
XY Plane

Path on XY Plane

XZ Plane
XZ Plane

Path on XZ Plane

YZ Plane
YZ Plane

Path on YZ Plane

Object arranged along a closed path which is aligned to the XY plane

Path on XZ Plane:

Object arranged along a closed path which is aligned to the XZ plane

Path on YZ Plane:

Object arranged along a closed path which is aligned to the YZ plane

La clara ventaja de esta lógica es que a medida que reorienta la ruta pero no el objeto, el resultado es consistente: el objeto permanece alineado con la ruta como estaba antes de reorientar la ruta.

(Thanks to @DeepSOIC for this explanation)

Additional alignment modes and options introduced in v0.19

Original mode (the default) is the historic alignment mode as in version 0.18. It is not really the Frenet alignment. Original mode uses the normal parameter from Draft.getNormal (or the default) as a constant - it does not calculate curve normal. X follows the curve tangent, Y is the normal parameter, Z is X.Cross(Y).

Tangent mode is similar to Original, but includes a rotation to align the Base object's X to the TangentVector before placing copies. After the rotation, Tangent behaves the same as Original. In previous versions this rotation would be performed manually before invoking PathArray.

Frenet mode orients the copies to a coordinate system along the path. X is tangent to curve, Y is curve normal, Z is curve binormal. If a normal can not be computed (ex a straight line), the default is used.

The ForceVertical option applies to Original and Tangent modes. When this option is applied, the normal parameter from Draft.getNormal is ignored. X follows the curve tangent, Z is the VerticalVector property and Y is X.Cross(Z).

Version 18 cycle chain - Original mode

Align false
Align false

Railway cross ties (sleepers) - Tangent mode + ForceVertical

Align false
Align false

Frenet Mode

Align false
Align false