Índice de dibujos
El índice de dibujos es una carpeta que contiene un archivo JSON por cada dibujo que guarda, que dice qué es el dibujo: dónde está, sus unidades y cuándo se guardó, qué es (su clasificación) y sus notas, sus variables con etiqueta y sus valores, su tamaño, sus elementos contados y medidos por capa, y lo que devolvieron las extensiones de guardado. Con él, sus dibujos se pueden buscar, listar o cargar en una base de datos sin abrirlos.
Actívelo en Preferencias (Mantener un índice de los dibujos guardados) y elija la carpeta: sirve una carpeta compartida, de modo que un equipo puede mantener un solo índice. Está desactivado salvo que lo active.
Cuándo se escribe
Cada vez que se guarda un dibujo (Archivo › Guardar, Guardar como), después de escribir el archivo y de ejecutarse las extensiones de guardado, se describe el dibujo y su entrada se escribe en la carpeta del índice, en segundo plano, para que el guardado no se retrase. Volver a guardarlo sustituye su entrada. Si una entrada no se puede escribir (porque la carpeta ya no existe, por ejemplo), se indica en la ventana Interactiva; el dibujo se guarda de todos modos.
El archivo de cada dibujo lleva su nombre, seguido de un id calculado a partir de su ruta completa:
Shipper-3f2a9c0d1e4b5a67.json. El mismo dibujo recibe siempre el mismo archivo; dos dibujos con el mismo nombre en
carpetas distintas reciben archivos distintos. Un dibujo que se mueve o cambia de nombre recibe una entrada nueva; la
antigua se queda hasta que la elimine.
Qué contiene un archivo
Un objeto JSON, con los mismos campos para todos los dibujos (un campo sin nada que decir es null, o una lista o un
objeto vacíos), de modo que los archivos pueden cargarse en una sola tabla:
| Campo | Tipo | Significado |
|---|---|---|
schema |
número | Qué conjunto de campos es: 1. Aumenta si cambian de una forma que un lector notaría. |
id |
texto | El id del dibujo: 16 dígitos hexadecimales calculados a partir de su ruta completa (el final del nombre del archivo). Siempre el mismo para la misma ruta: una clave para una base de datos. |
path |
texto | La ruta completa del archivo del dibujo. |
folder |
texto | La carpeta en la que está. |
fileName |
texto | Su nombre con la extensión: "Shipper.piq". |
name |
texto | Su nombre sin ella: "Shipper". |
fileSize |
número | El tamaño del archivo en bytes. |
saved |
texto | Cuándo se guardó, en UTC: "2026-11-03T14:05:00Z". |
user |
texto | Quién lo guardó (el nombre de usuario del equipo). |
machine |
texto | El equipo en el que se guardó. |
product |
texto | La aplicación que lo guardó: "ParametrIQ CAD". |
productVersion |
texto | Su versión. |
format |
número | La versión del formato de archivo de dibujo en la que se guardó. |
units |
texto | "mm" o "in": las unidades de todos los tamaños y longitudes que siguen. |
classification |
objeto | Qué es, tal como lo establece Propiedades del dibujo: category, style, product, tags (una lista), description y cualquier otro campo, cada uno de texto ("" si no se indica). |
notes |
objeto | Las notas del dibujo, por nombre: {"Customer": "Acme"}. |
variables |
lista | Sus variables con etiqueta (las que pide al ejecutarse), por orden, cada una {name, label, value}: value es un número, un texto, verdadero o falso, una posición {x, y}, o null si no se puede calcular. |
size |
objeto | La extensión del dibujo: width, height, y sus esquinas minX, minY, maxX, maxY; null si no hay nada dibujado. |
pages |
lista | Sus páginas, cada una {name, elements} (cuántos elementos hay en ella). |
elements |
número | Cuántos elementos tiene la página en la que se trabaja (los que se exportan). |
length |
número | Su longitud total. |
layers |
lista | Las capas que tienen elementos, cada una {layer, name, cutting, count, length, area}: su número y su nombre, si se corta (Corte, Medio corte, Perforado …), cuántos elementos tiene, su longitud total y el área que encierran los cerrados. |
kinds |
objeto | Cuántos elementos hay de cada tipo: {"LINE": 4, "ARC": 2}. |
saveExtensions |
lista | Lo que hizo cada extensión de guardado al guardarse, cada una {name, file, record, error}: su nombre, su archivo, lo que devolvió (como JSON, o null) y por qué falló (null si no falló). |
Por ejemplo:
{
"schema": 1,
"id": "3f2a9c0d1e4b5a67",
"path": "D:\\Drawings\\Shipper.piq",
"folder": "D:\\Drawings",
"fileName": "Shipper.piq",
"name": "Shipper",
"fileSize": 4210,
"saved": "2026-11-03T14:05:00Z",
"user": "ana",
"machine": "STUDIO-2",
"product": "ParametrIQ CAD",
"productVersion": "3.2",
"format": 1,
"units": "mm",
"classification": { "category": "Box", "style": "FEFCO 0201", "product": "", "tags": ["shipper"], "description": "" },
"notes": { "Customer": "Acme" },
"variables": [
{ "name": "L", "label": "Length", "value": 300 },
{ "name": "W", "label": "Width", "value": 200 }
],
"size": { "width": 1030, "height": 560, "minX": 0, "minY": 0, "maxX": 1030, "maxY": 560 },
"pages": [ { "name": "Page 1", "elements": 38 } ],
"elements": 38,
"length": 9120.5,
"layers": [
{ "layer": 0, "name": "Cut", "cutting": true, "count": 22, "length": 6410.2, "area": 0 },
{ "layer": 1, "name": "Crease", "cutting": false, "count": 16, "length": 2710.3, "area": 0 }
],
"kinds": { "LINE": 36, "ARC": 2 },
"saveExtensions": [
{ "name": "Order", "file": "orders.js", "record": { "order": 4711 }, "error": null }
]
}
Cargarlo en una base de datos
Cada archivo es una fila: id es su clave, y los demás campos simples (path, name, saved, units, format,
fileSize …) son columnas. Las listas (variables, layers, pages, saveExtensions) encajan en tablas propias,
con la clave del id del dibujo y el name de la variable, la layer de la capa, etc. La mayoría de las bases de
datos leen archivos JSON directamente; un script que cargue cada cierto tiempo los archivos más recientes de la carpeta
mantiene la base de datos al día.
Para escribir usted mismo en una base de datos a medida que se guarda cada dibujo, use una
extensión de guardado: lo que devuelva también se conserva aquí, en saveExtensions.
Véase también: Preferencias, Guardado, Propiedades del dibujo.