Index: mesh.c =================================================================== --- mesh.c (revision 32011) +++ mesh.c (revision 32012) @@ -1029,13 +1029,11 @@ ia_load_file(fname); } -static void ia_gen_cb(void *hid_ctx, void *caller_data, rnd_hid_attribute_t *attr) +static void ia_gen(void) { mesh_layer_reset(); mesh.layer = PCB_CURRLAYER(PCB); - dlg2mesh(); - if (ia.dlg[ia.hor].val.lng) mesh_auto(&mesh, PCB_MESH_HORIZONTAL); if (ia.dlg[ia.ver].val.lng) @@ -1054,6 +1052,13 @@ rnd_gui->invalidate_all(rnd_gui); } +static void ia_gen_cb(void *hid_ctx, void *caller_data, rnd_hid_attribute_t *attr) +{ + + dlg2mesh(); + ia_gen(); +} + pcb_mesh_t *pcb_mesh_get(const char *name) { return &mesh; Index: openems_xml.c =================================================================== --- openems_xml.c (revision 32011) +++ openems_xml.c (revision 32012) @@ -215,7 +215,7 @@ fprintf(ctx->f, " \n"); openems_wr_xml_mesh_lines(ctx, mesh, 'Y', &mesh->line[PCB_MESH_HORIZONTAL], -1); openems_wr_xml_mesh_lines(ctx, mesh, 'X', &mesh->line[PCB_MESH_VERTICAL], 1); - openems_wr_xml_mesh_lines(ctx, mesh, 'Z', &mesh->line[PCB_MESH_Z], 1); + openems_wr_xml_mesh_lines(ctx, mesh, 'Z', &mesh->line[PCB_MESH_Z], -1); fprintf(ctx->f, " \n"); }