예제 #1
0
 private static void write_via_scope(WriteScopeParameter p_par, Via p_via)
     throws java.io.IOException {
   library.Padstack via_padstack = p_via.get_padstack();
   FloatPoint via_location = p_via.get_center().to_float();
   double[] via_coor = p_par.coordinate_transform.board_to_dsn(via_location);
   int net_no;
   rules.Net via_net;
   if (p_via.net_count() > 0) {
     net_no = p_via.get_net_no(0);
     via_net = p_par.board.rules.nets.get(net_no);
   } else {
     net_no = 0;
     via_net = null;
   }
   p_par.file.start_scope();
   p_par.file.write("via ");
   p_par.identifier_type.write(via_padstack.name, p_par.file);
   for (int i = 0; i < via_coor.length; ++i) {
     p_par.file.write(" ");
     p_par.file.write((new Double(via_coor[i])).toString());
   }
   if (via_net != null) {
     write_net(via_net, p_par.file, p_par.identifier_type);
   }
   Rule.write_item_clearance_class(
       p_par.board.rules.clearance_matrix.get_name(p_via.clearance_class_no()),
       p_par.file,
       p_par.identifier_type);
   write_fixed_state(p_par.file, p_via.get_fixed_state());
   p_par.file.end_scope();
 }