Saltar al contenido principal

Importación de piezas por archivo JSON

Cortecloud importa listas de piezas, con perforaciones y mecanizados, a partir de un archivo JSON en el formato descrito en esta página. Es el camino para que un software de diseño de muebles lleve el proyecto del carpintero a Cortecloud: su sistema genera el archivo y el carpintero lo carga en un servicio.

Esta integración no pasa por la API Pública: no hay credenciales ni rutas involucradas. El contrato es el formato del archivo.

Cómo importa el archivo el carpintero​

La importación se hace en el Cortecloud del carpintero, desde el navegador de la computadora. La app móvil no tiene esa opción.

Las opciones de la interfaz se indican a continuación con el nombre que aparece en pantalla, en portugués, seguido de su traducción.

  1. El carpintero crea un nuevo servicio del tipo Serviço completo (servicio completo). Los servicios con módulos no aceptan la importación de piezas.

    Pantalla de nuevo servicio de Cortecloud con las opciones Serviço com módulos, Serviço completo y Tiras

  2. Con la línea de producción del servicio elegida (sin ella el botón queda deshabilitado), abre Importar peças (importar piezas) y elige Carregar arquivo Cortecloud (cargar archivo Cortecloud), que acepta archivos .json.

    Menú Importar peças con la opción Carregar arquivo Cortecloud resaltada

  3. Cortecloud lista las piezas del archivo y le pide que vincule cada material del archivo a un tablero y a un tapacanto registrados en la central (ver vínculo de materiales).

    Pantalla de importación con la lista de piezas leídas del archivo y los campos de cliente, tablero y tapacanto

  4. Después de crear las piezas, el carpintero revisa el resultado en la lista de piezas. En las piezas con mecanizado, la miniatura de la pieza muestra las perforaciones, con las cotas de cada agujero.

    Lista de piezas importadas con la miniatura de una pieza que muestra las cotas de un agujero

Use este flujo para probar el archivo que genera su sistema: con una cuenta de carpintero en Cortecloud, cargue el archivo en un servicio y revise en la miniatura de cada pieza si los mecanizados quedaron donde debían.

Estructura del archivo​

El archivo es un objeto con la lista parts, una entrada por pieza:

{
"parts": [
{
"quantity": 1,
"c": 500,
"l": 500,
"function": "Lateral",
"complement": "Balcao A",
"c1": "Branco 0.4",
"c2": null,
"l1": null,
"l2": null,
"material": "Branco 18",
"machining": {
"x": 500,
"y": 500,
"z": 18,
"startSide": 0,
"horizontalDrills": [
{ "corner": 2, "direction": "XP", "x": 0, "y": 69, "z": 10.5, "depth": 24, "diameter": 8, "face": "i" },
{ "corner": 1, "direction": "XP", "x": 0, "y": 37, "z": 10.5, "depth": 24, "diameter": 8, "face": "i" },
{ "corner": 1, "direction": "XP", "x": 0, "y": 57, "z": 9, "depth": 22, "diameter": 8, "face": "i" },
{ "corner": 2, "direction": "XP", "x": 0, "y": 89, "z": 9, "depth": 22, "diameter": 8, "face": "i" },
{ "corner": 3, "direction": "XP", "x": 0, "y": 69, "z": 10.5, "depth": 24, "diameter": 8, "face": "i" },
{ "corner": 0, "direction": "XP", "x": 0, "y": 37, "z": 10.5, "depth": 24, "diameter": 8, "face": "i" },
{ "corner": 0, "direction": "XP", "x": 0, "y": 57, "z": 9, "depth": 22, "diameter": 8, "face": "i" },
{ "corner": 3, "direction": "XP", "x": 0, "y": 89, "z": 9, "depth": 22, "diameter": 8, "face": "i" }
],
"verticalDrills": [
{ "corner": 2, "bolthole": false, "x": 25, "y": 69, "depth": 12, "diameter": 15, "face": "i" },
{ "corner": 1, "bolthole": false, "x": 25, "y": 37, "depth": 12, "diameter": 15, "face": "i" },
{ "corner": 3, "bolthole": false, "x": 25, "y": 69, "depth": 12, "diameter": 15, "face": "i" },
{ "corner": 0, "bolthole": false, "x": 25, "y": 37, "depth": 12, "diameter": 15, "face": "i" }
],
"furrowMachining": {
"face": "i",
"depth": 8,
"width": 6.7,
"distance": 15
},
"furrowMachiningPair": null
}
}
]
}

Hay archivos de ejemplo, con los casos de prueba y el resultado esperado de cada uno, en la carpeta de Serrabits en Google Drive.

Todas las medidas están en milímetros.

Campos de la pieza​

CampoTipoDescripción
quantityenteroCantidad de piezas iguales. Debe ser mayor que cero.
cnúmeroLargo de la pieza. Debe ser mayor que cero.
lnúmeroAncho de la pieza. Debe ser mayor que cero.
functiontextoFunción de la pieza en el mueble (por ejemplo, "Lateral", "Puerta", "Base").
complementtextoTexto libre que acompaña a la pieza, como el nombre del módulo o del ambiente.
c1, c2, l1, l2texto o nullNombre del tapacanto aplicado en cada lado de la pieza (ver sistema de coordenadas), o null para el lado sin tapacanto.
materialtextoNombre del tablero del que se corta la pieza.
machiningobjeto o nullPerforaciones y mecanizados de la pieza (ver mecanizado), o null para una pieza sin mecanizado.

Las piezas con quantity, c o l ausentes, en cero o negativos no se crean.

Vínculo de materiales​

material y los tapacantos (c1, c2, l1, l2) son los nombres que usa su sistema, no códigos de Cortecloud. En la importación, Cortecloud agrupa las piezas por material y el carpintero elige, para cada material, el tablero y el tapacanto de la central que le corresponden. El carpintero también puede marcar un material para que se ignore; sus piezas no se crean.

Si ninguna pieza del archivo tiene material, el carpintero elige un único tablero y un único tapacanto para todas las piezas.

Cada pieza puede usar como máximo dos tapacantos distintos, y el segundo solo se vincula si la central acepta dos tapacantos por pieza. Cuando la central no lo acepta, los lados con el segundo tapacanto quedan sin tapacanto.

Sistema de coordenadas​

Las posiciones de los mecanizados se miden a partir de una de las esquinas de la pieza, con la pieza vista por la cara interna:

Pieza vista de frente con las esquinas 0 a 3, los ejes X e Y que parten de cada esquina y los lados C1, C2, L1 y L2

  • Esquinas (corner): 0 (superior izquierda), 1 (inferior izquierda), 2 (inferior derecha) y 3 (superior derecha).
  • Ejes: a partir de cada esquina, X corre a lo largo del largo (lados C) e Y a lo largo del ancho (lados L), siempre hacia el interior de la pieza.
  • Lados: C1 y C2 son los lados del largo; L1 y L2, los del ancho.
  • Segmentos: cada lado también se identifica por las esquinas que lo delimitan. C1 es el segmento 0-1, L1 es el 1-2, C2 es el 2-3 y L2 es el 3-0.

La cara interna ("i") es la cara frontal de la pieza, la que aparece en la imagen; la cara externa ("e") es la de atrás.

Mecanizado​

El objeto machining describe las perforaciones y las ranuras de una pieza.

CampoDescripción
x, y, zDimensiones de la pieza en el sistema de coordenadas del mecanizado. Con startSide igual a 0, x es el largo (c), y es el ancho (l) y z es el espesor del tablero.
startSide0 mantiene el mecanizado tal como se describe; 1 gira 90° todo el mecanizado de la pieza.
horizontalDrillsLista de perforaciones horizontales: agujeros hechos en el canto de la pieza, paralelos a las caras.
verticalDrillsLista de perforaciones verticales: agujeros hechos en una de las caras, perpendiculares a ella.
furrowMachiningRanura o rebaje en la cara interna, o null si no hay.
furrowMachiningPairRanura o rebaje en la cara externa, o null si no hay.

Perforaciones horizontales​

CampoDescripción
cornerEsquina de referencia para x e y (0 a 3).
directionXP para agujeros en los cantos L1 o L2 (segmentos 1-2 y 3-0), que entran en la pieza en la dirección del eje X; YP para agujeros en los cantos C1 o C2 (segmentos 0-1 y 2-3), que entran en la dirección del eje Y.
xPosición en el eje X. Debe ser 0 cuando direction es XP, porque el agujero empieza en el canto.
yPosición en el eje Y. Debe ser 0 cuando direction es YP.
zPosición del agujero en el espesor de la pieza, entre 0 y el espesor. Es el espesor menos la distancia del centro del agujero a la cara interna.
depthProfundidad del agujero.
diameterDiámetro del agujero.
faceSiempre "i".

Ejemplos de z:

  • agujero en el centro del espesor de una pieza de 15 mm: z = 7.5;
  • agujero a 7.5 mm de la cara interna de una pieza de 25 mm: z = 25 − 7.5 = 17.5.

Perforaciones verticales​

CampoDescripción
cornerEsquina de referencia para x e y (0 a 3).
xPosición del centro del agujero en el eje X.
yPosición del centro del agujero en el eje Y.
depthProfundidad del agujero. En un agujero pasante, el espesor del tablero.
diameterDiámetro del agujero.
boltholetrue si el agujero es pasante (atraviesa la pieza), como los agujeros de montaje con tornillo; false en caso contrario.
faceCara en la que se hace el agujero: "i" (interna) o "e" (externa).

Ranuras y rebajes​

Una ranura es un canal fresado en la cara de la pieza, a cierta distancia del canto; un rebaje es el mismo corte pegado al canto. Los dos sirven, por ejemplo, para encajar el fondo de un mueble. Siempre se hacen a lo largo del lado C2 (segmento 2-3), en todo el largo de la pieza.

furrowMachining y furrowMachiningPair tienen la misma estructura:

CampoDescripción
face"i" en furrowMachining y "e" en furrowMachiningPair.
depthProfundidad del corte.
widthAncho del corte.
distanceDistancia del corte al canto C2. Con 0, el corte es un rebaje; con un valor mayor que cero, una ranura.

furrowMachiningPair es para piezas con ranura o rebaje en las dos caras, como divisiones y estantes que reciben fondo por ambos lados. La miniatura de la pieza en Cortecloud muestra solo el furrowMachining; el de la cara externa no aparece en ella.

Cuando la línea de producción no mecaniza​

El mecanizado solo se aplica si la línea de producción del servicio tiene máquina de mecanizado. Si no la tiene, las piezas se crean sin mecanizado: Cortecloud guarda el contenido de machining del archivo, pero no lo aplica a las piezas ni lo cobra en el presupuesto.

Dudas​

Dudas técnicas sobre el formato del archivo: suporte@serrabits.com.br.