Index: src_plugins/export_openems/mesh.c =================================================================== --- src_plugins/export_openems/mesh.c (revision 17080) +++ src_plugins/export_openems/mesh.c (revision 17081) @@ -91,12 +91,22 @@ /* generate edges and ranges looking at objects on the given layer */ static int mesh_gen_obj(pcb_mesh_t *mesh, pcb_mesh_dir_t dir) { + pcb_data_t *data = mesh->layer->parent.data; pcb_line_t *line; pcb_line_t *arc; pcb_poly_t *poly; + pcb_pstk_t *ps; gdl_iterator_t it; - + padstacklist_foreach(&data->padstack, &it, ps) { + if (pcb_attribute_get(&ps->Attributes, "openems::vport") != 0) { + switch(dir) { + case PCB_MESH_HORIZONTAL: mesh_add_edge(mesh, dir, ps->y); break; + case PCB_MESH_VERTICAL: mesh_add_edge(mesh, dir, ps->x); break; + } + } + } + linelist_foreach(&mesh->layer->Line, &it, line) { pcb_coord_t x1 = line->Point1.X, y1 = line->Point1.Y, x2 = line->Point2.X, y2 = line->Point2.Y; int aligned = (x1 == x2) || (y1 == y2);