Informes
Un informe cuenta y mide lo que hay en un dibujo: cuántos elementos hay, qué longitud tienen los cortes y hendidos capa por capa, la longitud de cuchilla que necesita un troquel y cuánto podría costar, el tamaño de la plancha, una lista de todos los elementos. Archivo › Informes… enumera los informes, pide las opciones del elegido y muestra lo que encuentra. Copiar lo pone en el portapapeles como texto; Guardar… lo escribe como CSV, como libro de Excel (que también abren Numbers y Hojas de cálculo de Google), como hoja de cálculo OpenDocument (la de LibreOffice), como página web, como PDF (para imprimir o enviar: con la disposición de la página web, sus imágenes dibujadas tal cual y las tablas largas continuadas en más páginas), como documento de Word (que también abren Pages y Documentos de Google) o como texto OpenDocument (el de LibreOffice), ambos con la disposición del PDF y todavía editables, como Markdown (para una wiki o unas notas), como JSON (las cifras tal cual, para otros programas) o como texto. En las hojas de cálculo los números siguen siendo números y los encabezados van en negrita.
Los informes se escriben en JavaScript, así que puede modificar los que se incluyen con la aplicación o escribir los suyos: qué contar, cómo agruparlo, las unidades y los precios, las columnas.
Declarar uno
drawingReport({
name: "Cut and crease",
category: "Quantities",
description: "Total cut and crease length.",
options: { selectionOnly: { label: "Selected elements only", value: false } },
run(drawing, options) {
const elements = drawing.elements.filter(e => !options.selectionOnly || e.selected);
const length = layer => elements.filter(e => e.layer === layer).reduce((t, e) => t + e.length, 0);
return {
title: "Cut and crease",
summary: `${elements.length} elements`,
tables: [{
columns: ["Layer", { title: `Length (${drawing.units})`, decimals: 1 }],
rows: [["Cut", length(0)], ["Crease", length(1)]],
footer: ["Total", length(0) + length(1)]
}]
};
}
});
| Propiedad | Significado |
|---|---|
name, description |
Tal como se muestran al elegirlo. |
category |
Lo agrupa en la lista: Quantities › Element list. |
options |
Sus opciones, que se piden antes de ejecutarlo. |
run(drawing, options) |
Calcula el informe y lo devuelve. |
drawing es el dibujo tal como lo ven las reglas de diseño: su nombre, unidades, extensión y capas, y
cada elemento exportado con su id, tipo, capa, longitud, área, extremos, extensión, puentes y herramienta, y si está
seleccionado; la página en la que se trabaja; los anidados de todas las páginas, con sus pliegos, copias y desperdicio; y sus
notas por nombre (drawing.notes["Customer"]). options contiene los valores elegidos, por nombre. También se pueden
usar las funciones de lectura de la API de dibujo (variable("L"), getPoint(4), evaluate("…")), así como distanceBetween y crossings.
Para los informes de los oficios tiene además drawing.panels (cada contorno cerrado de una capa de corte que es una pieza: su tamaño como
el rectángulo más pequeño que la rodea, área, perímetro, agujeros, huecos y entallas, los textos que contiene, su veta y su canteado,
y su thickness y look como en 3D: sus propios RULE THICK y LOOK, si no los LAYER3D de su capa, si no null),
drawing.welds (las soldaduras numeradas con la herramienta Número de soldadura) y
drawing.rollLayouts (los paños, las juntas y el plan de corte de cada distribución en rollo). Un informe no puede
modificar el dibujo.
Qué devuelve
| Propiedad | Significado |
|---|---|
title |
El título del informe (su nombre si se omite). |
summary |
Una línea de texto, o un array de líneas, que se muestra encima de las tablas. |
tables |
Un array de tablas (o una sola). |
notes |
Una o varias líneas que se muestran debajo de las tablas. |
csvTable |
Una tabla (su posición desde 0, o su encabezado) que por sí sola es el CSV: sus títulos de columna y sus filas, sin título, resumen ni notas, para que la importe otro programa. |
figures |
Imágenes para la página web, debajo de las tablas: cada una { heading, svg }, un SVG que dibuja el informe (un plan de corte, un mapa de soldaduras). No van en CSV ni en texto. |
Cada tabla tiene:
| Propiedad | Significado |
|---|---|
heading |
Se muestra encima de ella (ninguno si se omite). |
columns |
El título de cada columna, o {title, decimals, align}: los decimales con los que se muestran sus números, y "left" o "right". |
rows |
Cada fila: un array de celdas, o un objeto con ellas por título de columna ({ Layer: "Cut", Length: 920 }). |
footer |
Una fila de totales, separada debajo de las filas. |
Las celdas son números, texto o true/false (que se muestran como Sí y No); null deja una celda vacía. Los números se muestran con los
decimales de la columna (los enteros tal cual y los demás con 2, si no se indica otra cosa), alineados a la derecha. En CSV se
escriben completos, para que trabaje con ellos una hoja de cálculo.
Un informe también puede devolver solo texto: una cadena o un array de líneas.
Informes incluidos con la aplicación
| Informe | Qué muestra |
|---|---|
| Elementos y longitudes | Cuántos elementos hay y su longitud total, por capa, por tipo o ambas cosas; de todo el dibujo o de la selección. |
| Longitudes de cuchilla y coste | La cuchilla de cada capa de corte y de hendido, en metros (pies para dibujos en pulgadas), descontando los puentes; un coste a partir de un precio por metro y un coste de preparación. |
| Resumen del dibujo | Su tamaño y el área de su extensión, cuántos elementos y formas cerradas hay, las capas usadas, el área que encierran las formas cerradas y sus notas. |
| Lista de elementos | Cada elemento con su tipo, capa, longitud y área: guárdelo como CSV para una hoja de cálculo. |
| Tiempo y coste del trabajo láser | Cuánto tarda un láser, capa por capa y en total: las longitudes de corte y de marcado a sus velocidades (la velocidad de avance propia de una capa, si la tiene) y sus pasadas, el grabado línea a línea de cada capa grabada, los desplazamientos entre cortes (siempre al corte más cercano) y una pausa en cada perforación inicial; y el coste: el tiempo de máquina a un coste por minuto, el material por m² (ft²) y un coste de preparación, para una copia y para las copias deseadas. Consulte LightBurn. |
| Lista de pedido de moldura | Para cada marco (el de la herramienta Marco a inglete, o la lista de corte de moldura para marco de la biblioteca): la anchura y el galce de la moldura, las medidas exteriores, de galce (de corte) y visibles; la punta larga de cada pieza y su longitud por el galce; la moldura que hay que pedir, cada lado por el galce más una anchura de moldura por cada inglete (la regla del oficio), con dos cortes de sierra por pieza y un margen para recortes, cortada a medida o en barras enteras (piezas encajadas en las barras de la más larga a la más corta) y a un precio por metro (pie); y el vidrio, el cartón de paspartú y la trasera que encajan, el galce menos una holgura en todo el contorno. Guárdelo como CSV o como página web para imprimir. |
| Presupuesto de cartón y desperdicio | Lo que cuesta una tirada de envases en cada cantidad pedida (1000, 2500, 5000 …): los pliegos de cartón que ocupan los anidados, con los pliegos de arranque y la merma de tirada, su área y desperdicio, el coste del cartón por m² (ft²) o por pliego, la cuchilla del troquel por metro (pie) y su coste fijo, el arranque y la tirada por millar de pliegos, la impresión (planchas y cada color por millar de pliegos) y el pegado por millar de unidades; el total, el precio por unidad y por millar. Sin anidado, el cartón se calcula a partir de la extensión de cada plancha. Al final viene Precio al cliente, con su Margen comercial (%) añadido: las cantidades y sus precios, por unidad y por millar, una hoja para enviar. |
| Huella del envase | Lo que un envase consume y deja, para un envase y una tirada: el cartón que lleva su plancha (su contorno cerrado, si no su rectángulo) y su peso con su gramaje; el espacio vacío alrededor del producto dentro (L × W × D del dibujo y el tamaño del producto) frente a un límite, el 50% por defecto como pide el reglamento de envases de la UE (PPWR) a los envases colectivos, de transporte y de comercio electrónico; el carbono del cartón según la cifra de su fabricante; y los otros materiales que añaden sus accesorios, que separar antes de reciclar el cartón. |
| Doblado de cuchilla | Las cuchillas del troquel tal como las fabrica una dobladora de fleje: cada tramo de cuchilla (unidos extremo con extremo donde se encuentran dos del mismo tipo), su tipo, longitud, dobleces (esquinas y arcos, por el ángulo que giran y sus radios, y dónde están a lo largo de él) y puentes; y los arcos demasiado cerrados, rectas demasiado cortas, esquinas demasiado vivas y puentes en dobleces para su dobladora. |
| Presupuesto de piedra | El precio de un trabajo de piedra: cada pieza (contornos cerrados en la capa Corte) con su tamaño, su área y su área descontando los huecos; los cantos acabados por perfil en metros (pies) —las líneas de las capas Edge … que marca la herramienta Perfil de canto— a un precio por metro para cada perfil; los huecos contados por tipo (según una etiqueta dentro de cada uno: Sink, Hob, Tap hole, Socket; si no, un círculo pequeño es un agujero de grifo) a un precio por unidad; las tablas distribuidas (las de la herramienta Foto de tabla) con las piezas de cada una y su aprovechamiento; la piedra y la elaboración por área (la de cada pieza, descontando los huecos, o tablas enteras) con desperdicio, y los costes fijos. Los precios se escriben como Nombre=precio; Nombre=precio. Consulte Piedra y baldosas. |
| Lista de corte de acero | Cada pieza de acero (tal como las encuentra la exportación DSTV NC: su marca, perfil, calidad y cantidad según la clasificación) con su longitud, anchura y espesor, peso por metro, peso unitario y total, el área de una chapa (descontando sus agujeros) y la superficie que hay que pintar; y la lista de materiales por perfil (chapas por espesor) y calidad: piezas, longitud, área de chapa y peso, y un coste a un precio por kg. Consulte Estructura metálica. |
| Tabla de plegado | Cada doblez de un desarrollo de chapa en un orden de plegado sugerido: su sentido (arriba o abajo), ángulo, radio interior, compensación y deducción de doblez, el ala a cada lado (hasta la arista virtual) y el tramo plano del que sale, su longitud y dónde empieza. Consulte Chapa. |
| Programa de piezas de conducto | Cada pieza de conducto de climatización (una por página) con su tamaño, el calibre de acero galvanizado que exigen su tamaño y su clase de presión (½, 1 o 2 in. w.g.), su área desarrollada y su peso con ese calibre, el peso con el espesor propio del dibujo y una comprobación de que no es más delgado, y un coste a un precio por kg. Consulte Climatización (HVAC). |
| Mapa de soldaduras | Las soldaduras numeradas con la herramienta Número de soldadura, en orden: el número de cada una, la unión, el tipo, el tamaño, la WPS (o una indicada para todas) y si es de taller o de obra, con columnas para rellenar el soldador, la fecha y la inspección (END); guardado como página web, una imagen del dibujo con los números de soldadura. Guárdelo como CSV para un registro de soldaduras. |
| Lista de pedido de vidrio | Cada vidrio (un contorno cerrado en una capa de corte) tal como lo pide un transformador de vidrio: ancho × alto (el rectángulo que rodea un vidrio girado o con forma), espesor (la T del dibujo, o el indicado), vidrio, forma (rectángulo, con entallas o con forma: envíe una plantilla), canteado, agujeros por diámetro, entallas y huecos por tamaño, templado o laminado (EN 12150, EN 14179, EN 14449, EN 1863), cantidad (la etiqueta Door (2) de un vidrio hace dos), área y longitud de canto; se señalan los agujeros y huecos más cerca del canto que el doble del espesor. Marque CSV: the order list only para guardar solo la tabla de los vidrios como CSV para importar un pedido. |
| Lista de corte de tableros | Cada pieza (un contorno cerrado en una capa de corte, con el nombre del texto que contiene: Rails (2) hace dos) para un optimizador de seccionadora: pieza, material, espesor (el espesor 3D propio de cada pieza, RULE THICK, si no el LAYER3D THICK de su capa, si no el del tablero: así un fondo de 6 mm figura con 6 mm; con piezas de varios espesores, el material de los optimizadores indica el espesor), largo × ancho con el largo en el sentido de la veta (una línea en una capa Grain que cruza una pieza la gira), veta, cantidad y canteado de cada canto (líneas en una capa cuyo nombre contiene band o edging, a lo largo de los lados de la pieza: L1, L2 los cantos largos, W1, W2 los cortos). El contorno de una pieza es su tamaño acabado: Sizes da las medidas de corte (Cut, por defecto: el contorno menos el espesor del canto en cada canto canteado, el THICK de la capa del canto, o 1 mm, como en 3D) o las del contorno (Finished, para un optimizador que descuenta el canto por sí mismo). Columns for: General; MaxCut (Type, Name, Material, Length, Width, Quantity, Can Rotate, Edging Length 1 y 2, Edging Width 1 y 2, Notes; asígnelas en Import CSV de MaxCut); OptiCut (sus columnas de hoja de cálculo Material, Quantity, Reference, Height, Width, Grain 0/1, y luego Top, Bottom, Right y Left Edge 0/1); CutRite (Code, Description, Material, Length, Width, Quantity, Grain, Edge 1–4, para un mapa de importación de lista de piezas ASCII de Cut Rite). Guardado como CSV, solo la tabla de piezas. |
| Lista de corte de rollo de moqueta | A partir de cada distribución en rollo (o del ROLLPLAN de un diseño): la longitud de cada paño en el suelo y cortado del rollo (con el recorte en ambos extremos, redondeada al desarrollo del dibujo si lo hay), la longitud de rollo que hay que pedir, las áreas del suelo y del rollo, el desperdicio, las juntas y su longitud, y un precio por m² (ft²) y por metro de junta; guardado como página web, el diagrama de juntas (el suelo, los paños numerados, las juntas, la dirección del pelo) y el plan de corte (los paños a lo largo del rollo) para imprimir o guardar como PDF desde el navegador. |
| Presupuesto de material de espuma y juntas | Lo que cuestan las piezas en cada cantidad: las planchas que ocupan (según los anidados, o el rectángulo de cada pieza más un margen, en un tamaño de plancha indicado), el desperdicio, el material con precio por plancha, por m² (ft²) o por m³ de bloque (con el espesor de la plancha), las capas de las que se compone una pieza gruesa, el tiempo de corte (la longitud de corte a la velocidad de corte y una pausa en cada perforación inicial) a la tarifa de la máquina, y un coste de preparación; el total y el precio por unidad. |
| Anidados y desperdicio | El pliego de cada anidado, las copias por pliego, los pliegos que requieren las copias necesarias, las copias producidas y sobrantes, y el desperdicio: el de un pliego y el de la tirada, contando las copias sobrantes como desperdicio; las áreas en m² (ft² para dibujos en pulgadas). Se calcula para el número de copias propio de cada anidado o para un número indicado; para esta página o para todas; y el coste de los pliegos, a un precio por pliego. |
| Accesorios y complementos | Los accesorios colocados en el diseño (asas, colgadores, película de ventana, cordones, colgadores de cuadro, separadores, broches …) sumados por artículo, para una copia y para una tirada: por unidad, por metro o por m², a los precios de la lista compartida (Archivo › Extensiones › Precios de accesorios) o al propio de cada pieza; y dónde está cada uno. Los presupuestos de cartón, espuma y juntas, el trabajo láser y la lista de pedido de moldura también suman los accesorios a sus costes. |
Están en reports.js, en la carpeta Extensions de la aplicación, con las funciones auxiliares que comparten (sum, groupBy); el mapa de
soldaduras, la lista de pedido de vidrio, la lista de corte de tableros, la lista de corte de rollos de moqueta y el presupuesto de espuma y juntas están en tradereports.js. Copie el archivo
a su propia carpeta (Archivo › Extensiones › Abrir carpeta de extensiones) para modificarlos: un precio en su moneda, las
capas que usan sus troqueles, las columnas que quiere su estimador.
En su idioma
Los informes que trae la aplicación se muestran en el idioma de la aplicación (inglés, español o chino simplificado): sus nombres, categorías, descripciones y opciones en el cuadro de diálogo Informes y en Fabricar, y lo que escriben (títulos, encabezados, columnas, resúmenes y notas), con los números escritos a su manera (coma decimal en español). Lo que importan otros programas se queda en inglés: las columnas de MaxCut, OptiCut y CutRite de la lista de corte de tableros, y la lista de pedido de vidrio cuando está marcada CSV: solo la lista de pedido (para importar). Lo que viene de su dibujo (nombres de capa, nombres de pieza, artículos de accesorios) se muestra tal cual.
Un informe propio puede hacer lo mismo:
tr("English text", …)da un texto en el idioma del usuario, con sus{0},{1}… rellenados con los valores que lo siguen; el marcador de un número puede decir cómo escribirlo:{0:F2}para dos decimales.fmt(number, decimals)escribe un número a la manera del usuario.- Las traducciones están en una carpeta
stringsjunto al script:es.jsonyzh-Hans.json, cada una con los textos en inglés y sus traducciones. Lo que declara el informe (su nombre, categoría, descripción, opciones y sus opciones de elección) también se traduce con ellas; los valores de las opciones que reciberunse quedan como se declararon. Un texto sin traducción se muestra en inglés, y las traducciones de su carpeta prevalecen sobre las de la aplicación. - Una palabra que se traduce distinto en dos sitios lleva su contexto delante de una barra:
tr("weld|Socket")muestra Socket en inglés.
const count = (n, one, many) => tr(n === 1 ? one : many, n);
summary: tr("{0}, {1:F2} m in all.", count(rules.length, "{0} rule", "{0} rules"), total)
Notas
- Un informe que falla lo indica, con el archivo y la línea.
print(…)yconsole.log(…)muestran valores en la ventana Interactiva mientras escribe uno.
Para enviar un informe por correo electrónico en lugar de guardarlo, use Archivo › Enviar por correo electrónico › Informe… y elija Guardar… en el informe: consulte Enviar exportaciones por correo electrónico. Véase también: Extensiones, Reglas de diseño, API de dibujo.