Index: src_plugins/export_xy/export_xy.conf =================================================================== --- src_plugins/export_xy/export_xy.conf (revision 26594) +++ src_plugins/export_xy/export_xy.conf (revision 26595) @@ -42,7 +42,7 @@ #Designator X-Loc Y-Loc Rotation Side Type X-Size Y-Size Value Footprint # -------------------------------------------- } -macrofab.subc = {%subc.refdes_% %subc.padcx% %subc.padcy% %subc.rot% %subc.num-side% %subc.smdvsthrunum% %subc.pad_width_prerot% %subc.pad_height_prerot% %subc.value_% %subc.footprint_% %subc.a.macrofab::DNP?0:1% %subc.a.macrofab::MPN|% +macrofab.subc = {%subc.refdes_% %subc.padcx% %subc.padcy% %subc.negrot% %subc.num-side% %subc.smdvsthrunum% %subc.pad_width_prerot% %subc.pad_height_prerot% %subc.value_% %subc.footprint_% %subc.a.macrofab::DNP?0:1% %subc.a.macrofab::MPN|% } # TM220/TM240 ################################################################# Index: src_plugins/export_xy/xy.c =================================================================== --- src_plugins/export_xy/xy.c (revision 26594) +++ src_plugins/export_xy/xy.c (revision 26595) @@ -502,6 +502,11 @@ pcb_append_printf(s, "%g", ctx->theta); return 0; } + if (strncmp(*input, "negrot%", 7) == 0) { + *input += 7; + pcb_append_printf(s, "%g", -ctx->theta); + return 0; + } if (strncmp(*input, "siderot%", 8) == 0) { *input += 8; pcb_append_printf(s, "%g", ctx->xray_theta);