set_name_value.ulp

来自「老外的PCB设计软件,是免费的.可以上网更新.」· ULP 代码 · 共 41 行

ULP
41
字号
#usage "place >NAME and >VALUE in Package or Symbol if not placed"

string cmd;

if (symbol) {
  int no_Sname = 1;
  int no_Svalue = 1;
  symbol(S) {
    S.texts(T) {
      if (T.value == ">NAME" && T.layer == 95) no_Sname = 0;
      if (T.value == ">VALUE" && T.layer == 96) no_Svalue = 0;
      if (T.value == ">GATE" && T.layer == 95 || T.value == ">PART" && T.layer == 95) {
        no_Sname = 0;
        no_Svalue = 0;
      }
    }
  }
  if (no_Sname && no_Svalue) {
    cmd = "GRID MIL;\nCHANGE SIZE 70;\nCHANGE LAYER 95;\nTEXT >NAME (0 100);\n GRID LAST;";
    cmd += "GRID MIL;\nCHANGE SIZE 70;\nCHANGE LAYER 96;\nTEXT >VALUE (0 0);\n GRID LAST;";
  }
}

if (package) {
  int no_Pname = 1;
  int no_Pvalue = 1;
  package(P) {
    P.texts(T) {
      if (T.value == ">NAME" && T.layer == 25) no_Pname = 0;
      if (T.value == ">VALUE" && T.layer == 27) no_Pvalue = 0;
    }
  }
  if (no_Pname) {
    cmd = "GRID MIL;\nCHANGE SIZE 50;\nCHANGE LAYER 25;\nTEXT >NAME (0 100);\n GRID LAST;";
  }
  if (no_Pvalue) {
    cmd += "GRID MIL;\nCHANGE SIZE 50;\nCHANGE LAYER 27;\nTEXT >VALUE (0 0);\n GRID LAST;";
  }
}

exit (cmd);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?