Index: read.c =================================================================== --- read.c (revision 36979) +++ read.c (revision 36980) @@ -454,8 +454,8 @@ grp = lht_dom_hash_get(nd, "size"); if ((grp != NULL) && (grp->type == LHT_HASH)) { - err |= parse_coord(&pcb->hidlib.size_x, hash_get(grp, "x", 0)); - err |= parse_coord(&pcb->hidlib.size_y, hash_get(grp, "y", 0)); + err |= parse_coord(&pcb->hidlib.dwg.X2, hash_get(grp, "x", 0)); + err |= parse_coord(&pcb->hidlib.dwg.Y2, hash_get(grp, "y", 0)); err |= parse_coord_conf(rctx, "design/poly_isle_area", hash_get(grp, "isle_area_nm2", 1)); err |= parse_double(&pcb->ThermScale, hash_get(grp, "thermal_scale", 1)); if (pcb->ThermScale < 0.01) { Index: write.c =================================================================== --- write.c (revision 36979) +++ write.c (revision 36980) @@ -174,8 +174,11 @@ grp = lht_dom_node_alloc(LHT_HASH, "size"); lht_dom_hash_put(meta, grp); - lht_dom_hash_put(grp, build_textf("x", CFMT, pcb->hidlib.size_x)); - lht_dom_hash_put(grp, build_textf("y", CFMT, pcb->hidlib.size_y)); + lht_dom_hash_put(grp, build_textf("x", CFMT, pcb->hidlib.dwg.X2)); + lht_dom_hash_put(grp, build_textf("y", CFMT, pcb->hidlib.dwg.Y2)); + if ((pcb->hidlib.dwg.X1 != 0) || (pcb->hidlib.dwg.Y1 != 0)) + pcb_io_incompat_save(NULL, NULL, "board", "drawing are bbox with non-zero origin (X1 or Y1)\n", "Run autocrop()"); + if (wrver < 5) { lht_dom_hash_put(grp, build_textf("isle_area_nm2", "%f", conf_core.design.poly_isle_area)); }