Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 62|回复: 3

[讨论] 生成录制文件SCR,运行并删除录制文件SCR

[复制链接]
发表于 2025-2-18 14:48:45 | 显示全部楼层 |阅读模式
本帖最后由 xieeyawen 于 2025-2-18 14:50 编辑
  1. (setq out (outfile "./update_nclegend.scr")) ;打开端口,创建一个更新钻孔表的scr文件在当前的工作目录,令这个文件赋给out
  2.                   ;配置钻孔表

  3.                 (fprintf out strcat("version " substring((axlGetVariable "cdsversion") 1 4) "\n")) ;得到结果"version 16.6\n"字符串赋给scr。
  4.                 ;axlGetVariable "cdsversion" => 16.6-2015
  5.                 ;substring((axlGetVariable "cdsversion") 1 4) => 16.6
  6.                 ;strcat("version " substring((axlGetVariable "cdsversion") 1 4) "\n") =>"version 16.6\n"
  7.                 (fprintf out "ncdrill customization\n") ;打开软件上的Manufacture里的NC里的Drill Customization...
  8.                 (fprintf out "setwindow form.nc_drillcustomization\n") ;打开了Drill Customization的界面
  9.                 (fprintf out "FORM nc_drillcustomization auto_symbols\n") ;点开了Auto generate symbols按钮
  10.                 (fprintf out "fillin yes\n") ;选择了yes(您真的想自动生成钻孔/槽孔符号吗)
  11.                 (fprintf out "FORM nc_drillcustomization done\n") ;Drill Customization的界面配置确认
  12.                 (fprintf out "fillin yes\n") ;选择yes完成配置
  13.                 (fprintf out "setwindow pcb\n") ;自动进入PCB界面
  14.                 (fprintf out "ncdrill legend \n") ;打开软件上的Manufacture里的NC里的Drill Legend...
  15.                 (fprintf out "setwindow form.nc_drilllegend\n")  ;打开了Drill Customization的界面
  16.                 (fprintf out "FORM nc_drilllegend backdrill_legends YES \n") ;在Drill Legend界面里选择勾选Include backdrill
  17.                 ;FORM nc_drilllegend library 是打开library
  18.                 ;fillin "default-mm" 选择输出按照mm单位,可以和后面的单位判断进行升级修改
  19.                 (fprintf out "FORM nc_drilllegend done\n") ;点击ok配置完成
  20.                         (case (car (axlDBGetDesignUnits))
  21.                         ("mils" (fprintf out (sprintf nil "pick %L %L\n" (plus x_coordinates 600) y_coordinates)))
  22.                         ("millimeters" (fprintf out (sprintf nil "pick %L %L\n" (plus x_coordinates 15) y_coordinates)))
  23.                         );根据设计单位,输出

  24.                         ;配置xsectionChart
  25.                 (fprintf out "xsection_chart\n");
  26.                 (fprintf out "setwindow form.xsectionChart\n");
  27.                 (fprintf out "FORM xsectionChart layer_name YES\n");
  28.                 (fprintf out "FORM xsectionChart layer_name YES\n");
  29.                 (fprintf out "FORM xsectionChart drill_label YES\n");
  30.                 (fprintf out "FORM xsectionChart layer_thickness YES\n");
  31.                 (fprintf out "FORM xsectionChart xsectionchart_ok\n");
  32.                   (case (car (axlDBGetDesignUnits))
  33.                         ("mils" (fprintf out (sprintf nil "pick %L %L\n" (plus x_coordinates 1200) y_coordinates)))
  34.                         ("millimeters" (fprintf out (sprintf nil "pick %L %L\n" (plus x_coordinates 30) y_coordinates)))
  35.                         );根据设计单位,输出

  36.                  (close out)  ;关闭端口
  37.                  (axlShell "scriptmode +invisible +noinfo;replay update_nclegend.scr")
  38.                  ;脚本文件的运行模式(scriptmode)不提示错误信息(+noerrors),不弹出确认对画框(+invisible),不提示信息(+noinfo)
  39.                  ;运行update_nclegend.scr
  40.                  (deleteFile "update_nclegend.scr") ;删除生成的scr文件
  41.                  (axlUIConfirm "NC-Legend\322\321\270\374\320\302\243\241")  ;弹窗出:NC-Legend已生成!
复制代码

 楼主| 发表于 2025-2-18 14:51:43 | 显示全部楼层
请教一下高手,如何每次生成scr放置钻孔表和xsectionChart不要改变位置呢
 楼主| 发表于 2025-2-18 14:53:43 | 显示全部楼层
另外SCR代码有个简单的方法获取,就是自己录制需要的SCR文件,并用记事本打开这个SCR文件,这些就是代码,按照上面模式就能得到任意的SCR文件
 楼主| 发表于 2025-2-18 14:55:15 | 显示全部楼层
环境变量的获取:axlGetVariable(nil)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2025-2-28 07:30 , Processed in 0.132278 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表