ha:pcb-rnd-board-v6 {

 ha:meta {
   ha:size {
    thermal_scale = 0.500000
    x = 300.0mil
    y = 400.0mil
   }
   ha:grid {
    spacing = 25.0mil
    offs_x = 0.0
    offs_y = 0.0
   }
 }

 ha:data {
  li:padstack_prototypes {

   ha:ps_proto_v6.0 {
     hdia=31.5mil; hplated=1; htop=0; hbottom=0;
     li:shape {

       ha:ps_shape_v4 {
        ha:ps_circ { x=0.0; y=0.0; dia=2.0mm;        }
        ha:combining {        }
        ha:layer_mask {
         copper = 1
         top = 1
        }
        clearance=0.0
       }

       ha:ps_shape_v4 {
        ha:ps_circ { x=0.0; y=0.0; dia=2.0mm;        }
        ha:combining {        }
        ha:layer_mask {
         bottom = 1
         copper = 1
        }
        clearance=0.0
       }

       ha:ps_shape_v4 {
        ha:ps_circ { x=0.0; y=0.0; dia=2.0mm;        }
        ha:combining {        }
        ha:layer_mask {
         copper = 1
         intern = 1
        }
        clearance=0.0
       }
     }
   }
  }

   li:objects {
    ha:padstack_ref.5 {
     proto=0; x=100.0mil; y=100.0mil; rot=0.000000; xmirror=0; smirror=0; clearance=20.0mil;
     ha:flags {
      clearline=1
     }

     li:thermal {
     }
    }
    ha:padstack_ref.6 {
     proto=0; x=100.0mil; y=200.0mil; rot=0.000000; xmirror=0; smirror=0; clearance=20.0mil;
     ha:flags {
      clearline=1
     }

     li:thermal {
     }

     ha:attributes {
       process=filled
     }
    }
    ha:padstack_ref.7 {
     proto=0; x=100.0mil; y=300.0mil; rot=0.000000; xmirror=0; smirror=0; clearance=20.0mil;
     ha:flags {
      clearline=1
     }

     li:thermal {
     }

     ha:attributes {
       process=plugged
     }
    }
    ha:padstack_ref.8 {
     proto=0; x=200.0mil; y=100.0mil; rot=0.000000; xmirror=0; smirror=0; clearance=20.0mil;
     ha:flags {
      clearline=1
     }

     li:thermal {
     }
    }
    ha:padstack_ref.9 {
     proto=0; x=200.0mil; y=200.0mil; rot=0.000000; xmirror=0; smirror=0; clearance=20.0mil;
     ha:flags {
      clearline=1
     }

     li:thermal {
     }

     ha:attributes {
       process=filled
     }
    }
    ha:padstack_ref.10 {
     proto=0; x=200.0mil; y=300.0mil; rot=0.000000; xmirror=0; smirror=0; clearance=20.0mil;
     ha:flags {
      clearline=1
     }

     li:thermal {
     }

     ha:attributes {
       process=plugged
     }
    }
   }
   li:layers {

    ha:top-sig {
     lid=0
     group=3
     ha:combining {     }

      li:objects {
      }
      color = {#8b2323}
    }

    ha:bottom-sig {
     lid=1
     group=10
     ha:combining {     }

      li:objects {
      }
      color = {#3a5fcd}
    }

    ha:top-gnd {
     lid=2
     group=3
     ha:combining {     }

      li:objects {
      }
      color = {#104e8b}
    }

    ha:bottom-gnd {
     lid=3
     group=10
     ha:combining {     }

      li:objects {
      }
      color = {#cd3700}
    }

    ha:int-sig2 {
     lid=4
     group=7
     ha:combining {     }

      li:objects {
      }
      color = {#548b54}
    }

    ha:int-sig1 {
     lid=5
     group=5
     ha:combining {     }

      li:objects {
      }
      color = {#8b7355}
    }

    ha:outline {
     lid=6
     group=9
     ha:combining {     }

      li:objects {
      }
      color = {#00868b}
    }

    ha:bottom-silk {
     lid=7
     group=12
     ha:combining { auto=1;     }

      li:objects {
      }
      color = {#000000}
    }

    ha:top-silk {
     lid=8
     group=1
     ha:combining { auto=1;     }

      li:objects {
      }
      color = {#000000}
    }

    ha:top-paste {
     lid=9
     group=0
     ha:combining { auto=1;     }

      li:objects {
      }
      color = {#cd00cd}
    }

    ha:top-mask {
     lid=10
     group=2
     ha:combining { sub=1; auto=1;     }

      li:objects {
      }
      color = {#ff0000}
    }

    ha:bottom-mask {
     lid=11
     group=11
     ha:combining { sub=1; auto=1;     }

      li:objects {
      }
      color = {#ff0000}
    }

    ha:bottom-paste {
     lid=12
     group=13
     ha:combining { auto=1;     }

      li:objects {
      }
      color = {#cd00cd}
    }

    ha:slot-plated {
     lid=13
     group=14
     ha:combining { auto=1;     }

      li:objects {
      }
      color = {#8b7355}
    }

    ha:slot-unplated {
     lid=14
     group=15
     ha:combining { auto=1;     }

      li:objects {
      }
      color = {#00868b}
    }

    ha:top-assy {
     lid=15
     group=16
     ha:combining {     }

      li:objects {
      }
      color = {#444444}
    }

    ha:bot-assy {
     lid=16
     group=17
     ha:combining {     }

      li:objects {
      }
      color = {#444444}
    }

    ha:fab {
     lid=17
     group=18
     ha:combining { auto=1;     }

      li:objects {
      }
      color = {#222222}
    }
   }
 }

 ha:layer_stack {
  li:groups {
   ha:0 {
    name = top_paste
    ha:type { top=1; paste=1;    }
    li:layers { 9;    }
   }
   ha:1 {
    name = top_silk
    ha:type { silk=1; top=1;    }
    li:layers { 8;    }
   }
   ha:2 {
    name = top_mask
    ha:type { top=1; mask=1;    }
    li:layers { 10;    }
   }
   ha:3 {
    name = top_copper
    ha:type { copper=1; top=1;    }
    li:layers { 0; 2;    }
   }
   ha:4 {
    name = grp_4
    ha:type { substrate=1; intern=1;    }
    li:layers {    }
   }
   ha:5 {
    name = Intern
    ha:type { copper=1; intern=1;    }
    li:layers { 5;    }
   }
   ha:6 {
    name = grp_6
    ha:type { substrate=1; intern=1;    }
    li:layers {    }
   }
   ha:7 {
    name = Intern
    ha:type { copper=1; intern=1;    }
    li:layers { 4;    }
   }
   ha:8 {
    name = grp_8
    ha:type { substrate=1; intern=1;    }
    li:layers {    }
   }
   ha:9 {
    name = global_outline
    ha:type { boundary=1;    }
    li:layers { 6;    }
    purpose = uroute
   }
   ha:10 {
    name = bottom_copper
    ha:type { bottom=1; copper=1;    }
    li:layers { 1; 3;    }
   }
   ha:11 {
    name = bottom_mask
    ha:type { bottom=1; mask=1;    }
    li:layers { 11;    }
   }
   ha:12 {
    name = bottom_silk
    ha:type { silk=1; bottom=1;    }
    li:layers { 7;    }
   }
   ha:13 {
    name = bottom_paste
    ha:type { bottom=1; paste=1;    }
    li:layers { 12;    }
   }
   ha:14 {
    name = pmech
    ha:type { mech=1;    }
    li:layers { 13;    }
    purpose = proute
   }
   ha:15 {
    name = umech
    ha:type { mech=1;    }
    li:layers { 14;    }
    purpose = uroute
   }
   ha:16 {
    name = top-assy
    ha:type { top=1; doc=1;    }
    li:layers { 15;    }
    ha:attributes {
     init-invis=1
    }
    purpose = assy
   }
   ha:17 {
    name = bot-assy
    ha:type { bottom=1; doc=1;    }
    li:layers { 16;    }
    ha:attributes {
     init-invis=1
    }
    purpose = assy
   }
   ha:18 {
    name = fab
    ha:type { top=1; doc=1;    }
    li:layers { 17;    }
    ha:attributes {
     init-invis=1
    }
    purpose = fab
   }
  }
 }
 li:pcb-rnd-conf-v1 {
  ha:overwrite {
   ha:design {
    text_font_id = 0
    poly_isle_area = 200000000.0
   }
   ha:editor {
   }
  }
  ha:prepend {
   ha:plugins {
    ha:cam {
     li:jobs {
      holes {
       desc export all holes in excellon files, sorted by whether they are filled or plugged
       plugin excellon
       partial @.a.process == "filled"
       write filled.exc=virtual(purpose=pdrill,partial)
       full
       partial @.a.process == "plugged"
       write plugged.exc=virtual(purpose=pdrill,partial)
       full
       partial (@.a.process != "filled") && (@.a.process != "plugged")
       write normal.exc=virtual(purpose=pdrill,partial)
       full
       write all.exc=virtual(purpose=pdrill),virtual(purpose=udrill)
      }
     }
    }
   }
  }
 }
}
