Index: scad_draw.c =================================================================== --- scad_draw.c (revision 14410) +++ scad_draw.c (revision 14411) @@ -118,6 +118,11 @@ { pcb_pstk_proto_t *proto = pcb_pstk_get_proto(ps); + if (proto == NULL) { + pcb_io_incompat_save(ps->parent.data, (pcb_any_obj_t *)ps, "failed to retrieve padstack prototype", "internal pcb-rnd error, please file a bugreport"); + return; + } + #warning padstack TODO: this ignores bbvias if (proto->hdia > 0) { pcb_fprintf(f, " translate([%mm,%mm,0])\n", TRX_(ps->x), TRY_(ps->y)); Index: scad_models.c =================================================================== --- scad_models.c (revision 14410) +++ scad_models.c (revision 14411) @@ -124,8 +124,10 @@ double rot = 0; int on_bottom = 0; - if (pcb_subc_get_origin(subc, &ox, &oy) != 0) + if (pcb_subc_get_origin(subc, &ox, &oy) != 0) { + pcb_io_incompat_save(PCB->Data, (pcb_any_obj_t *)subc, "Failed to get origin of subcircuit", "fix the missing subc-aux layer"); continue; + } pcb_subc_get_rotation(subc, &rot); pcb_subc_get_side(subc, &on_bottom);