- Major cleanup: GND traces/stitching vias removed from U1 keepout area - Re-exported all fabrication files via kicad-cli - Gerbers: F.Cu, B.Cu, F/B.Mask, F/B.SilkS, F/B.Paste, Edge.Cuts - Drill file: Excellon format - BOM: 20 components, CSV formatted - Pick-and-place: CSV, mm units, both sides - DRC: 82 violations (zone-fill artifacts + edge clearance) - 21 unconnected (GND vias needing zone fill - restore via SES import) - All files in gerbers-v2/ - Netlist verified: 20 components, 17 nets connected
1617 lines
37 KiB
JSON
1617 lines
37 KiB
JSON
{
|
|
"board": "/Users/nearxos/Documents/KiCad/10.0/esp32-s3-sensor-node/esp32-s3-sensor-node.kicad_pcb",
|
|
"timestamp": "2026-06-22T21:23:23",
|
|
"total_violations": 159,
|
|
"violation_counts": {
|
|
"items_not_allowed": 46,
|
|
"shorting_items": 7,
|
|
"clearance": 3,
|
|
"courtyards_overlap": 12,
|
|
"pth_inside_courtyard": 4,
|
|
"copper_edge_clearance": 20,
|
|
"drill_out_of_range": 12,
|
|
"solder_mask_bridge": 7,
|
|
"via_dangling": 28,
|
|
"track_dangling": 1,
|
|
"silk_edge_clearance": 1,
|
|
"silk_overlap": 3,
|
|
"silk_over_copper": 15
|
|
},
|
|
"severity_counts": {
|
|
"error": 111,
|
|
"warning": 48,
|
|
"info": 0
|
|
},
|
|
"violations": [
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 60.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 50.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 25.5,
|
|
"y": 15.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 45.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 45.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 55.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 35.5,
|
|
"y": 15.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 20.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 60.5,
|
|
"y": 15.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 35.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 30.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 45.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 20.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 15.5,
|
|
"y": 15.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 30.5,
|
|
"y": 15.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 15.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 30.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 55.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 60.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 40.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 15.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 40.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 55.5,
|
|
"y": 15.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 20.5,
|
|
"y": 15.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 30.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 40.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 60.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 35.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 55.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 50.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 50.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 15.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 25.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 35.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 20.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 3.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 5.54,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 8.08,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 10.62,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 3.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 15.175,
|
|
"y": 7.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 16.825,
|
|
"y": 7.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 16.0,
|
|
"y": 7.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 15.175,
|
|
"y": 12.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 16.825,
|
|
"y": 12.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "items_not_allowed",
|
|
"severity": "error",
|
|
"message": "Items not allowed (keepout area of U1)",
|
|
"location": {
|
|
"x": 16.0,
|
|
"y": 12.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "shorting_items",
|
|
"severity": "error",
|
|
"message": "Items shorting two nets (nets 3V3 and NC)",
|
|
"location": {
|
|
"x": 29.225,
|
|
"y": 25.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "shorting_items",
|
|
"severity": "error",
|
|
"message": "Items shorting two nets (nets 3V3 and RXD0)",
|
|
"location": {
|
|
"x": 47.175,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "shorting_items",
|
|
"severity": "error",
|
|
"message": "Items shorting two nets (nets 3V3 and NC)",
|
|
"location": {
|
|
"x": 47.175,
|
|
"y": 24.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "shorting_items",
|
|
"severity": "error",
|
|
"message": "Items shorting two nets (nets 3V3 and NC)",
|
|
"location": {
|
|
"x": 29.225,
|
|
"y": 25.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "shorting_items",
|
|
"severity": "error",
|
|
"message": "Items shorting two nets (nets 3V3 and NC)",
|
|
"location": {
|
|
"x": 47.175,
|
|
"y": 24.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "shorting_items",
|
|
"severity": "error",
|
|
"message": "Items shorting two nets (nets 3V3 and NC)",
|
|
"location": {
|
|
"x": 29.225,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "clearance",
|
|
"severity": "error",
|
|
"message": "Clearance violation ( clearance 0.2000 mm; actual 0.1650 mm)",
|
|
"location": {
|
|
"x": 47.175,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "clearance",
|
|
"severity": "error",
|
|
"message": "Clearance violation ( clearance 0.2000 mm; actual 0.1650 mm)",
|
|
"location": {
|
|
"x": 29.225,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "clearance",
|
|
"severity": "error",
|
|
"message": "Clearance violation ( clearance 0.2000 mm; actual 0.1750 mm)",
|
|
"location": {
|
|
"x": 29.225,
|
|
"y": 28.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "shorting_items",
|
|
"severity": "error",
|
|
"message": "Items shorting two nets (nets 3V3 and NC)",
|
|
"location": {
|
|
"x": 29.225,
|
|
"y": 28.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 30.0,
|
|
"y": 25.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 30.0,
|
|
"y": 28.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 24.0,
|
|
"y": 23.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 55.0,
|
|
"y": 30.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 3.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "pth_inside_courtyard",
|
|
"severity": "error",
|
|
"message": "PTH inside courtyard",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 3.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "pth_inside_courtyard",
|
|
"severity": "error",
|
|
"message": "PTH inside courtyard",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 5.54,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "pth_inside_courtyard",
|
|
"severity": "error",
|
|
"message": "PTH inside courtyard",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 8.08,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "pth_inside_courtyard",
|
|
"severity": "error",
|
|
"message": "PTH inside courtyard",
|
|
"location": {
|
|
"x": 25.0,
|
|
"y": 10.62,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 24.0,
|
|
"y": 17.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 27.0,
|
|
"y": 32.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 38.0,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 38.0,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 38.0,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 38.0,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "courtyards_overlap",
|
|
"severity": "error",
|
|
"message": "Courtyards overlap",
|
|
"location": {
|
|
"x": 38.0,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 40.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 40.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 40.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 40.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 40.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 40.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 40.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "copper_edge_clearance",
|
|
"severity": "error",
|
|
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 35.1,
|
|
"y": 23.76,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 35.1,
|
|
"y": 25.16,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 35.8,
|
|
"y": 23.06,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 35.8,
|
|
"y": 24.46,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 35.8,
|
|
"y": 25.86,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 36.5,
|
|
"y": 23.76,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 36.5,
|
|
"y": 25.16,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 37.2,
|
|
"y": 23.06,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 37.2,
|
|
"y": 24.46,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 37.2,
|
|
"y": 25.86,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 37.9,
|
|
"y": 23.76,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "drill_out_of_range",
|
|
"severity": "error",
|
|
"message": "Hole size out of range (board setup constraints min hole 0.3000 mm; actual 0.2000 mm)",
|
|
"location": {
|
|
"x": 37.9,
|
|
"y": 25.16,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "solder_mask_bridge",
|
|
"severity": "error",
|
|
"message": "Front solder mask aperture bridges items with different nets",
|
|
"location": {
|
|
"x": 46.75,
|
|
"y": 24.36,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "solder_mask_bridge",
|
|
"severity": "error",
|
|
"message": "Front solder mask aperture bridges items with different nets",
|
|
"location": {
|
|
"x": 46.75,
|
|
"y": 23.09,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "solder_mask_bridge",
|
|
"severity": "error",
|
|
"message": "Front solder mask aperture bridges items with different nets",
|
|
"location": {
|
|
"x": 46.75,
|
|
"y": 21.82,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "solder_mask_bridge",
|
|
"severity": "error",
|
|
"message": "Front solder mask aperture bridges items with different nets",
|
|
"location": {
|
|
"x": 29.25,
|
|
"y": 21.82,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "solder_mask_bridge",
|
|
"severity": "error",
|
|
"message": "Front solder mask aperture bridges items with different nets",
|
|
"location": {
|
|
"x": 29.25,
|
|
"y": 24.36,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "solder_mask_bridge",
|
|
"severity": "error",
|
|
"message": "Front solder mask aperture bridges items with different nets",
|
|
"location": {
|
|
"x": 29.25,
|
|
"y": 28.17,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "solder_mask_bridge",
|
|
"severity": "error",
|
|
"message": "Front solder mask aperture bridges items with different nets",
|
|
"location": {
|
|
"x": 29.225,
|
|
"y": 25.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 60.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 50.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 45.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 45.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 55.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 20.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 35.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 30.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 45.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 20.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 15.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 30.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 55.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 60.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 40.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 15.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 40.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 30.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 40.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 60.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 35.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 55.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 50.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 50.5,
|
|
"y": 10.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 15.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 25.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 35.5,
|
|
"y": 0.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "via_dangling",
|
|
"severity": "warning",
|
|
"message": "Via is not connected or connected on only one layer",
|
|
"location": {
|
|
"x": 20.5,
|
|
"y": 5.5,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "track_dangling",
|
|
"severity": "warning",
|
|
"message": "Track has unconnected end",
|
|
"location": {
|
|
"x": 29.25,
|
|
"y": 31.98,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_edge_clearance",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by board edge",
|
|
"location": {
|
|
"x": 0.0,
|
|
"y": 0.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_overlap",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clearance",
|
|
"location": {
|
|
"x": 48.0,
|
|
"y": 22.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_overlap",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clearance",
|
|
"location": {
|
|
"x": 11.7,
|
|
"y": 22.0,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_overlap",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clearance",
|
|
"location": {
|
|
"x": 2.3,
|
|
"y": 23.9,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 30.0,
|
|
"y": 23.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 30.0,
|
|
"y": 23.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 24.0,
|
|
"y": 21.32,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 30.0,
|
|
"y": 20.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 29.85942,
|
|
"y": 21.49,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 30.0,
|
|
"y": 26.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 30.0,
|
|
"y": 26.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 29.85942,
|
|
"y": 28.51,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 29.85942,
|
|
"y": 24.49,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 29.85942,
|
|
"y": 25.51,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 48.0,
|
|
"y": 20.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 48.0,
|
|
"y": 22.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 48.0,
|
|
"y": 22.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 48.0,
|
|
"y": 22.57,
|
|
"unit": "mm"
|
|
}
|
|
},
|
|
{
|
|
"type": "silk_over_copper",
|
|
"severity": "warning",
|
|
"message": "Silkscreen clipped by solder mask",
|
|
"location": {
|
|
"x": 48.0,
|
|
"y": 22.57,
|
|
"unit": "mm"
|
|
}
|
|
}
|
|
]
|
|
} |