Index: io_lihata.h =================================================================== --- io_lihata.h (revision 31087) +++ io_lihata.h (revision 31088) @@ -29,7 +29,8 @@ extern conf_io_lihata_t conf_io_lihata; extern pcb_plug_io_t plug_io_lihata_v1, plug_io_lihata_v2, plug_io_lihata_v3, - plug_io_lihata_v4, plug_io_lihata_v5, plug_io_lihata_v6; + plug_io_lihata_v4, plug_io_lihata_v5, plug_io_lihata_v6, + plug_io_lihata_v7; /* The one extedit and othe code should cross-call */ extern pcb_plug_io_t *plug_io_lihata_default; Index: read.c =================================================================== --- read.c (revision 31087) +++ read.c (revision 31088) @@ -728,6 +728,9 @@ if (rdver >= 3) err |= parse_coord(&poly->Clearance, hash_get(obj, "clearance", 1)); + if (rdver >= 7) + err |= parse_coord(&poly->enforce_clearance, hash_get(obj, "enforce_clearance", 1)); + if (rdver >= 4) parse_thermal_heavy((pcb_any_obj_t *)poly, lht_dom_hash_get(obj, "thermal")); @@ -2239,9 +2242,10 @@ case 4: loader = &plug_io_lihata_v4; break; case 5: loader = &plug_io_lihata_v5; break; case 6: loader = &plug_io_lihata_v6; break; + case 7: loader = &plug_io_lihata_v7; break; default: return iolht_error(nd, "Lihata board version %d not supported;\n" - "must be 1, 2, 3, 4, 5 or 6.\n", rdver); + "must be 1, 2, 3, 4, 5, 6 or 7.\n", rdver); } vtp0_init(&post_ids); Index: write.c =================================================================== --- write.c (revision 31087) +++ write.c (revision 31088) @@ -510,6 +510,11 @@ else lht_dom_hash_put(obj, dummy_node("clearance")); + if ((wrver >= 7) && (poly->enforce_clearance > 0)) + lht_dom_hash_put(obj, build_textf("enforce_clearance", CFMT, poly->enforce_clearance)); + else + lht_dom_hash_put(obj, dummy_node("enforce_clearance")); + geo = lht_dom_node_alloc(LHT_LIST, "geometry"); lht_dom_hash_put(obj, geo);