Las ubicaciones son colecciones de polos o referencias que describen la distribución de formas en un área rectangular garantizando el no solapamiento y una distancia mínima entre ellas.
Nótese que el término ubicación puede expresar tanto colección de polos como coordenada o punto. Aunque su significado debe quedar claro por el contexto, como regla general, la primera acepción debe asumirse cuando el término se use en sentido más general, asociado a patrones, cortes, usuarios, como en las frases la "ubicación del patrón", "la ubicación manual del usuario". En sentido más estricto, asociado a forma, polo, debe asumirse la segunda acepción.
Un polo es una referencia que describe la ubicación de una instancia de forma mediante la coordenada de traslación de su centro geométrico y otros parámetros como la rotación y reflexión que deben aplicarse previamente. Los polos pueden ser sencillos cuando describen la ubicación de una única instancia, o matriciales si, además, describen su repetición con incrementos rectangulares (a diferencia de las matrices en las formas, los polos matriciales sí incluyen el origen del patrón de repetición).
2. Coordenadas finales
Para calcular las coordenadas finales de las formas ubicadas deben realizarse las siguientes transformaciones, en el orden indicado:
3. Puzles
Los puzles son los patrones de formas primarios que se repiten en las ubicaciones. Técnicamente son grupos de dos o más polos, preferiblemente bien encajados, que comparten un mismo IDPuzle, la propiedad utilizada para diferenciarlos. Deben crearse explícitamente, bien indicando su cálculo al motor de ubicaciones o bien editándolos manualmente.
Aunque manualmente pudieran crearse puzles de una sola forma, en la práctica serían redundantes ya que el motor del lanzamiento siempre analiza todas las posibles variantes de repetición para piezas individuales.
4. Ubicaciones de Corte y de Usuario
Existen dos tipos de ubicaciones según el objetivo que cumplen en el programa: las ubicaciones de corte y las ubicaciones de usuario. Las primeras se calculan automáticamente durante la optimización del lanzamiento y se asignan a los cortes finales en los patrones aportando piezas a la solución calculada. Las segundas son independientes de la solución del lanzamiento y existen fundamentalmente para suministrar información inteligente al motor de cálculo sobre puzles de formas que conviene repetir al calcular los patrones de corte. Las ubicaciones de usuario pueden utilizarse también con fines de diseño o experimentación.
El motor de cálculo del lanzamiento utilizará los puzles contenidos en las ubicaciones de usuario (puzles de usuario) para generar variantes de corte repetitivas o anidadas que se analizarán en conjunto con las otras variantes calculadas automáticamente. Los polos no asignados a ningún puzle (IDPuzle=0) también se utilizarán para generar variantes de corte no repetitivas.
5. Fases del cálculo
En general, el cálculo de las ubicaciones se realiza en tres fases consecutivas bien diferenciadas que pueden activarse independientemente. Estas son:
El motor del lanzamiento aplicará indistintamente estas fases en el momento que lo requiera la generación del patrón de corte.
Las formas para el cálculo de una ubicación de usuario se eligen por las reglas siguientes (en orden de prioridad):
5.1 Cálculo del Puzle
El Puzle se calcula en un área de dimensiones configurables que pueden coincidir o no con las dimensiones del área total de ubicación. Las formas cuyas dimensiones originales excedan el área definida para el puzle, se rotarán automáticamente tratando de que quepan en dicha área. En la construcción del Puzle se aplica un coeficiente para formar parejas permanentes de figuras bien encajadas.
Cuando la ubicación que se edita está vacía y se eligen para el cálculo las formas activas del lanzamiento, se incluirán en el Puzle solo las formas que tengan activa la propiedad Puzle (formas de puzle) las cuales se ubicarán con una multiplicidad igual al producto MulPuzle*MultiplicidadFormas, donde el primer factor es una propiedad de la forma y el segundo un parámetro de la fase. En caso contrario, todas las formas seleccionadas participarán del Puzle con una multiplicidad igual a la existente en los polos elegidos.
La repetición de la figura del puzle se realiza aplicando una de las estrategias heurísticas siguientes:
5.2.1 Condición de solapamiento
Aunque no serían tales, debe evitar definir manualmente puzles disjuntos donde las formas queden separadas por espacio suficiente como para ubicarse entre sí ya que al repetirlos incrementalmente las figuras pudieran solaparse a partir del segundo incremento. Esta condición no ocurre con las estrategias voraz y fractal.

En esta fase, solamente las formas que tengan la propiedad Relleno activada (formas de relleno) se ubican, quizás nuevamente, con una multiplicidad limitada, si no es nula, por la propiedad MulRelleno.
Exceptuando las estrategias trivial e incremental, la elección del siguiente polo de ubicación se realiza aplicando uno de los criterios de ubicación siguientes:
Los criterios pueden configurarse independientemente en cada una de las fases.
5.5 Sobre cuál estrategia o criterio elegir
Tanto las estrategias como los criterios de ubicación son técnicas heurísticas que no garantizan la optimalidad de las ubicaciones calculadas. En la práctica su efectividad dependerá de factores como la geometría misma de las formas o las dimensiones del área de ubicación y es allí donde pueden identificarse tendencias que ayuden a intuir qué estrategia o criterio funcionará mejor en situaciones concretas.
La ubicación óptima de objetos pertenece a una extensa clase de problemas "muy difíciles de tratar" en la ciencia de la computación, por su naturaleza combinatoria.
La estrategia incremental genera ubicaciones que impresionan ser óptimas, en la mayoría de los casos, cuando se trata de repetir un patrón de figuras prefijado de antemano. Esta es la estrategia aplicada implícitamente por el motor de ubicaciones y la única aplicada por el motor del lanzamiento al calcular los patrones de corte. Las estrategias voraz y fractal pueden utilizarse con fines experimentales, de diseño o cuando se quiera ubicar la mayor cantidad posible de tipos de formas independientemente de las cantidades solicitadas.
El criterio Radio min tienden a generar ubicaciones bastante bien encajadas que se expanden radialmente. Los otros dos criterios generan ubicaciones que se expanden rectangularmente.
6. Filtros de Rotaciones
Cada fase del cálculo puede aplicar un filtro a las rotaciones permitidas en las formas con el objetivo de reducir el consumo de memoria y el tiempo de procesamiento. Si exceptuamos la estrategia incremental, la experiencia práctica confirma que aumentar las rotaciones no implica necesariamente mejorar la calidad de las ubicaciones calculadas.
7. Acciones