亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cmd-change-brd-width.ulp

?? 老外的PCB設計軟件,是免費的.可以上網更新.
?? ULP
字號:
#usage "<qt>This ULP changes the wire width of certain signals and do have "
       "a wire width in between the minimum (minwidth) and maximum (maxwidth) values.<p>"
       "NameOff = 1 switches off the checking of net names.<p>"

string hilfe =
       "Dieses ULP 鋘dert die Leiterbahnbreite abhaengig vom Signalnamen und "
       "der vorgegebenen min. max. Breite.<p>" +
       "! Mit NameOff kann die Netz-Namen-Ueberpruefung abgeschaltet werden.<p>";

//     "THIS PROGRAM IS PROVIDED AS IS AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED.</qt>"

// *  02.03.2005 alf@cadsoft.de

string help = usage;
if (language() == "de") help = hilfe;


int Gridval = 1;              // 1=mm 2=mil 3=inch    ***
                              // choose the value for the units you're working with
string grid_unit;

real changewidth =  0.3;     // gewuenschte Breite in ***
                             // enter desired width here

real minwidth    =  0.0;     // Auswahl-Min-Breite in ***
                             // minimum width and
real maxwidth    = 13.1;     // Auswahl-Max-Breite in ***
                             // maximum width of tracks that will be taken into consideration.

int NameOff = 0;       // 0 = Breite abhaengig vom Netznamen aendern
                       // 0 = change width by name
                       // 1 = Breite unabhaengig vom Netznamen aendern
                       // 1 = change width without name

string signals[]   = { "" };
string chsignals[] = { "" };
int    chngsig     = 0;
int    lastSigCh   = 0;
int decs;

string list;

string grid[]         = { "MIC",  "MM", "MIL", "INCH" };
real   maxwidthUnit[] = { 13100.0, 13.1, 516.0, 0.516 };

string Version = " Version 1.5";

int index[];
int x1[], y1[], x2[], y2[], layer[];
int usedlayer[];
int n = 1;


int found(string fnam) {
  int fnd = 0;
  do {
    if (chsignals[fnd] == fnam) {
      return 1;
      break;
    }
    ++fnd;
  } while (chsignals[fnd]);
  return 0;
}


real fwidth(real ww) {
  if (ww <= maxwidth && ww >= minwidth) return 1;
  return 0;
}


void disp(int l) {
  printf("DISPLAY NONE %d ;\n", l);
  return;
}

void clearlay() {
  for (int ly = 0; ly <= 255; ly++) usedlayer[ly] = 0;
  return;
}


void clearsig (int selct) {
  for (int r = selct; r < lastSigCh; r++) {
    chsignals[r] = chsignals[r + 1];
  }
  chsignals[r + 1] = "";
  if (lastSigCh) lastSigCh--;
  return;
}


void  AddList (string SigName) {
  int found = 0;
  for (int r = 0; r < lastSigCh; r++) {
    if (chsignals[r] == SigName) {
      found = 1;
      break;
    }
  }
  if (!found) {
    chsignals[r] = SigName;
    lastSigCh++;
  }
  return;
}


void menue() {
  int cs;
  int l;
  int Result = dlgDialog("Change wire with") {
    string slist[];
    dlgLabel(help);
    dlgSpacing(40);
    dlgGridLayout {
      dlgCell (0, 1) dlgSpacing(200);
      dlgCell (0, 5) dlgSpacing(200);
      dlgCell (1, 1) dlgLabel("&Signal list");
      dlgCell (2, 1) dlgComboBox(signals, chngsig);
      dlgCell (2, 3) dlgPushButton("&Add -->>") {
                       AddList(signals[chngsig]);
                     }
      dlgCell (1, 5) dlgLabel("Signals &to change");
      dlgCell (2, 5) dlgComboBox(chsignals, decs);
      dlgCell (2, 6) dlgPushButton("&Delete") {
                       clearsig(decs);
                     }
    }

    dlgStretch(1);
    dlgCheckBox("&Change without Signal name", NameOff);

    dlgHBoxLayout {
      dlgGroup("between wire width : " + grid_unit) {
        dlgHBoxLayout {
          dlgLabel("Mi&n. "); dlgRealEdit(minwidth, 0.0, maxwidthUnit[Gridval]);
          dlgLabel(" Ma&x. "); dlgRealEdit(maxwidth, minwidth, maxwidthUnit[Gridval]);
        }
      }
      dlgLabel(" new wire &width ");
      dlgRealEdit(changewidth);
      dlgStretch(1);
    }

    dlgHBoxLayout {
      dlgStretch(0);
      dlgPushButton("&OK") dlgAccept();
      dlgStretch(1);
      dlgPushButton("-Cancel") dlgReject();
      dlgStretch(0);
    }
    dlgStretch(0);
  };
  if (Result == 0) exit (0);
  return;
}


if (board) board(B) {
  int s = 0;
  B.signals(S) {
    signals[s] = S.name;
    s++;
  }
  Gridval = B.grid.unit;
  grid_unit = "Unit " + grid[Gridval];
  maxwidth = maxwidthUnit[Gridval];
  menue();

  clearlay();
  string file = filesetext(B.name, "chnwidth.scr");
  output (file, "wtD") {
    printf("# %s\n", Version);
    printf("# %s\n\n", EAGLE_SIGNATURE);
    printf("# exported from %s\n# at %s\n\n", B.name, t2string(time()) );
    printf("# This Script changed Wire Width between %.3f %s and %.3f %s to %.3f %s\n",
                   minwidth, grid[Gridval], maxwidth, grid[Gridval], changewidth, grid[Gridval]);

    printf("GRID %s FINEST;\n", grid[Gridval]);

    B.signals(S) {
      if (found(S.name) || NameOff) {
        real Wwidth;

        S.wires(W) {
          switch (Gridval) {
            case 0: Wwidth = u2mic(W.width);
                    break;

            case 1: Wwidth = u2mm(W.width);
                    break;

            case 2: Wwidth = u2mil(W.width);
                    break;

            case 3: Wwidth = u2inch(W.width);
                    break;
          }

          if(fwidth(Wwidth)) {
            x1[n] = W.x1;
            y1[n] = W.y1;
            x2[n] = W.x2;
            y2[n] = W.y2;
            layer[n] = W.layer;
            ++n;
          }
        }
      }
    }

    sort(n, index, layer);
    int dl = 0;
    for (int i = 1; i < n; ++i) {
      if(dl != layer[index[i]]) {
        dl = layer[index[i]];
        disp(dl);
        usedlayer[dl] = 1;
      }
      switch (Gridval) {
        case 0: printf("CHANGE WIDTH %.3f (%.3f %.3f);\n",
                changewidth, (u2mic(x1[index[i]]) + u2mic(x2[index[i]])) / 2,
                             (u2mic(y1[index[i]]) + u2mic(y2[index[i]])) / 2 );
                break;

        case 1: printf("CHANGE WIDTH %.3f (%.3f %.3f);\n",
                changewidth, (u2mm(x1[index[i]]) + u2mm(x2[index[i]])) / 2,
                             (u2mm(y1[index[i]]) + u2mm(y2[index[i]])) / 2 );
                break;

        case 2: printf("CHANGE WIDTH %.3f (%.3f %.3f);\n",
                changewidth, (u2mil(x1[index[i]]) + u2mil(x2[index[i]])) / 2,
                             (u2mil(y1[index[i]]) + u2mil(y2[index[i]])) / 2 );
                break;

        case 3: printf("CHANGE WIDTH %.3f (%.3f %.3f);\n",
                changewidth, (u2inch(x1[index[i]]) + u2inch(x2[index[i]])) / 2,
                             (u2inch(y1[index[i]]) + u2inch(y2[index[i]])) / 2 );
                break;
      }
    }
    printf("DISPLAY  ");
    for (int ly = 0; ly <= 255; ly++) {
      if( usedlayer[ly]) printf("%d ",ly);
    }
    printf(";\n");
  }
  exit ("SCRIPT '" + file + "';");
}
else dlgMessageBox("start this ULP in Board", "OK");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区免费av| 95精品视频在线| 国产91精品一区二区麻豆网站 | 欧美图区在线视频| 色噜噜狠狠成人网p站| 亚洲三级久久久| 亚洲综合图片区| 蜜乳av一区二区| 国产成人免费在线观看| 欧美视频在线观看一区| 欧美变态口味重另类| 国产精品国产馆在线真实露脸| 亚洲国产精品久久艾草纯爱| 久久99精品国产.久久久久久| 成人av免费在线播放| 69堂国产成人免费视频| 中文字幕精品—区二区四季| 亚洲成年人影院| 91丨九色丨国产丨porny| 欧美一区二区三区免费大片| 国产精品成人免费| 精品午夜久久福利影院| 在线观看亚洲一区| 国产精品欧美一区二区三区| 日本成人超碰在线观看| 91黄色免费网站| 亚洲欧美中日韩| 成人av在线资源网站| 国产亚洲欧美日韩在线一区| 奇米综合一区二区三区精品视频| 色欧美日韩亚洲| 亚洲视频资源在线| av高清久久久| 亚洲色图制服诱惑| 99v久久综合狠狠综合久久| 久久久国产一区二区三区四区小说| 亚洲一区欧美一区| 欧美在线高清视频| 亚洲成av人片一区二区梦乃| 色老汉av一区二区三区| 亚洲一区在线观看视频| 在线亚洲一区二区| 综合精品久久久| 成人av网站免费| 亚洲一区在线视频| 91精品麻豆日日躁夜夜躁| 午夜欧美在线一二页| 欧美男生操女生| 国产一区欧美日韩| 欧美激情综合在线| 91久久国产最好的精华液| 亚洲成人在线网站| 欧美欧美欧美欧美首页| 天堂影院一区二区| 久久精品人人做人人爽97| 不卡在线视频中文字幕| 成人欧美一区二区三区白人| 色婷婷久久99综合精品jk白丝| 亚洲一区二区视频在线观看| 欧美日韩免费电影| 丝袜亚洲精品中文字幕一区| 久久精品免视看| 欧美日韩一级二级三级| 日韩vs国产vs欧美| 韩国在线一区二区| 亚洲女人****多毛耸耸8| 欧美在线一区二区| 国产一区二区三区在线看麻豆| 亚洲三级电影全部在线观看高清| 3d动漫精品啪啪1区2区免费| 国产v综合v亚洲欧| 亚洲风情在线资源站| 国产欧美综合在线观看第十页| 日本黄色一区二区| 国产成人免费视频| 免费黄网站欧美| 亚洲综合在线第一页| 久久久.com| ww亚洲ww在线观看国产| 欧美这里有精品| 麻豆国产一区二区| 无码av免费一区二区三区试看| 欧美高清在线一区二区| 精品嫩草影院久久| 精品视频色一区| 欧美日韩高清影院| 色综合久久综合网欧美综合网| 国产精品中文欧美| 国产精品一卡二卡在线观看| 九一久久久久久| 蜜臀av一区二区在线观看| 婷婷综合久久一区二区三区| 一区二区三区毛片| 亚洲一二三四在线观看| 亚洲午夜视频在线| 一区二区三区欧美激情| 亚洲午夜激情网站| 亚洲一区二区av在线| 亚洲图片有声小说| 亚洲在线一区二区三区| 五月天精品一区二区三区| 日韩avvvv在线播放| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产资源在线一区| 亚洲精品你懂的| 亚洲婷婷综合色高清在线| 午夜电影一区二区三区| 91在线丨porny丨国产| 在线观看亚洲成人| 欧美精品免费视频| 欧美成人精品高清在线播放| 中文字幕欧美日韩一区| 亚洲精品一二三四区| 亚洲h在线观看| 九色综合国产一区二区三区| 成人美女视频在线观看18| 成人听书哪个软件好| 欧美日韩精品免费| 一色屋精品亚洲香蕉网站| 日韩av成人高清| 91网站在线观看视频| 欧美成人福利视频| 亚洲国产一二三| 成人天堂资源www在线| 日韩视频国产视频| 亚洲欧美综合另类在线卡通| 毛片av一区二区| 91精品国产入口| 一区二区成人在线| 成人精品一区二区三区四区| 日韩影院在线观看| 国产传媒日韩欧美成人| 久久久亚洲国产美女国产盗摄 | 国产视频不卡一区| 久久机这里只有精品| 91精品国产品国语在线不卡| 一区二区三区在线视频观看 | 91超碰这里只有精品国产| 亚洲视频免费在线观看| 99久久久免费精品国产一区二区| 国产精品护士白丝一区av| 蜜桃一区二区三区在线| 欧美tickle裸体挠脚心vk| 国产精选一区二区三区| 欧美精品一区二区久久久| 日韩av一区二| 日韩三级高清在线| 久久er精品视频| 久久综合五月天婷婷伊人| 午夜激情综合网| 欧美一区二区网站| 免费观看一级欧美片| 精品国产3级a| 九一九一国产精品| 久久综合狠狠综合久久综合88 | 精品国产一区a| 99视频精品在线| 午夜精品福利在线| 欧美精品在线一区二区| 午夜精品一区二区三区免费视频 | 天天av天天翘天天综合网| 欧美理论电影在线| 欧美aaa在线| 国产精品剧情在线亚洲| 91丝袜美腿高跟国产极品老师| 亚洲一区二区欧美| 日韩视频在线观看一区二区| 久久国产精品第一页| 欧美国产97人人爽人人喊| 欧美亚洲动漫制服丝袜| 国内一区二区视频| 亚洲人亚洲人成电影网站色| 欧美日韩在线播放一区| 黄页视频在线91| 国产精品成人免费精品自在线观看| 欧美日韩国产一二三| 国内成人自拍视频| 亚洲一区二区3| 国产精品久久久久婷婷二区次| 成人在线一区二区三区| 久久亚洲综合色| 日本韩国欧美一区二区三区| 久久精品国产在热久久| 一区二区三区免费在线观看| 精品国产乱码久久久久久老虎| a4yy欧美一区二区三区| 韩国av一区二区三区在线观看| 亚洲一区在线观看免费 | 欧美大尺度电影在线| 在线看日本不卡| 不卡的av电影在线观看| 久久99久国产精品黄毛片色诱| 亚洲夂夂婷婷色拍ww47| 亚洲欧洲精品成人久久奇米网| 精品国产一区二区三区久久久蜜月| 欧美影视一区二区三区| av中文字幕亚洲| 成人一区二区视频| 国产美女一区二区| 国产一区二区91|