FanySkill源文件修改,快捷键以及新增任务栏选项
- 一、文件下载
- 二、快捷键设置
- 三、任务栏
- 四、本人配置
一、文件下载
自行去PCB联盟网下载,因为那边下载要联盟币,我不清楚我免费提供会不会给我带来没必要的损失,敬请谅解。
要下载的东西有:FanySkill和Notepad++
安装教程也可下载,这里不进行阐述
二、快捷键设置
在第一部的方法二中可以知道下面这个文件的摆放路径,用Notepad++打开
注意:这里只有procedure(FanySkill_HotKey())这个模块内的快捷键修改才会影响Allegro内的快捷键,而procedure(FanySkill_HotKey_LOEN())这个模块内的东西可以复制进procedure(FanySkill_HotKey())模块内,对Allegro系统内部的功能进行快捷键设置
三、任务栏
和上面一样,在文件中找到menulist这个东西,修改里面的东西,第一级popup是在任务栏增加一个元素,后面嵌套的就是这个元素中里面的不同级数,然后括号内的第一个双引号内的是名称,第二个双引号的是命令,可以是系统命令,也可以是凡亿命令,见下图修改以及结果显示
四、本人配置
/*
#########################################################################################
# Skill File: FanySkill_ChooseGrid.il #
# How To Load: Command> (load("FanySkill_main.il")) #
# Modify by: longxf 2020-1-1 Download Addr:https://pcbbar.com/ #
# Original author : Wanghh Download Addr:https://github.com/whh5118/GTOpen #
#########################################################################################
*/procedure( FanySkill_menu_load(@optional window timerId_lj elapsedTime)prog((port menuexit menuList tt file line port offset)file = axlTempFile()axlUIMenuDump(file)port = infile(file)menuexit = nilwhile(gets(line port)when(rexMatchp("https://www.fanyedu.com/" line)menuexit = t))close(port)deleteFile(file)if(menuexit thenreturn(t)elsetimerId = axlUIWTimerAdd(nil 5000 t 'FanySkill_menu_load))menuList = '((popup "&mdcSkill")(popup "Package")("Change Origin" "skill FanySkill_Change_Origin")("Create Oblong Thermal" "skill CreateOblongThermal")("Create Keepout" "skill FanySkill_Keepout")("Change Pad" "change pad") ("Export Symbol" "sig_pack")("Rename Pin Number" "rpn")(end)(separator) (popup "Layout")("Align Objects" "FYAL")("Grid Choose" "skill FanySkill_ChooseGrid")("Move Step" "skill Jun_DirKeyTool")("Mirror Objects" "mir")("Place Comp" "skill FanySkill_Place_Inside") (end) (separator)(popup "Router")(popup "Cut/Link Cline")("Cut Clines/Lines/Shapes" "skill FanySkill_CutClines_Lines_Shapes")("Link Cline" "skill FanySkill_Cline_Cross")(end)("Change via net" "ch_via_net")("Check cross plane" "ecp")("Create Match Group" "auto_create_matchgroup")("Create DIFF Keepout" "DVAP")("Change Line Width" "Change_WIDTH")("Change Line TO Shape" "c2s")("Del Dangling" "FYDD") ("Replace via" "Jun_ReplaceVia")("View net Message" "Jun_NetTool") (end)(separator)(popup "TEXT And LOGO") ("Add Chinese" "acn")("Add Net Silk Text" "FYNN")("Check No Refdes" "skill Check_No_Refdes") ("Check Refdes Direction" "FY_CRD") ("Import Logo" "skill FanySkill_Logo") ("Ref to Component" "Jun_RefdesSet")("Set Text" "skill FanySkill_Set_Text") (end)(separator)(popup "Utility Tools") ("Artwork" "Jun_Artwork")("Calculator" "skill gt_calculator_main")("Clean Directory" "skill FanySkill_Clean") ("Export Device" "skill FanySkill_Export_Device")("Set Color" "skill FanySkill_Color_Setting")(end)(separator)(popup "Help")("Tool About" "http https://www.pcbbar.com/thread-19605-1-1.html")("Learn PCB" "http https://www.fanyedu.com/")(end)(separator)("[Uninstall]" "skill FanySkill_Unistall")(end))offset = "-1"axlUIMenuFind(nil readstring(offset))axlUIMenuInsert(nil menuList)
)
)procedure( FanySkill_Unistall()shell(" del /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\align-bottom.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\align-centerH.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\align-centerV.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\align-left.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\align-right.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\align-top.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\cot.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\distributeH.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\distributeV.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\pickH.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\icons\\pickV.bmpdel /f /s /q %CDSROOT%\\share\\local\\pcb\\forms\\align.formdel /f /s /q %CDSROOT%\\share\\local\\pcb\\forms\\Calculator.formdel /f /s /q %CDSROOT%\\share\\local\\pcb\\forms\\Logo.formrd /s /q %CDSROOT%\\share\\local\\pcb\\skill\\FanySkillrd /s /q %CDSROOT%\\share\\local\\pcb\\skill\\FanySkill rd /s /q %CDSROOT%\\share\\local\\pcb\\skill\\FanySkill ")
)procedure( FanySkill_Clean()shell("del /f /s /q *.logdel /f /s /q *.dbkdel /f /s /q *.opjdel /f /s /q *.jrldel /f /s /q *.cnvdel /f /s /q *.savdel /f /s /q *.ldfdel /f /s /q *.csvdel /f /s /q *.scrdel /f /s /q *.xmldel /f /s /q *.dmldel /f /s /q *.dml,1del /f /s /q *.XRFdel /f /s /q *.bdfdel /f /s /q *.tagdel /f /s /q *.formrd /s /q Indesignrd /s /q signoise.run")
)
;------黄勇老师推荐快捷键定义
procedure( FanySkill_HotKey_CESC();------定义黄勇老师推荐快捷键--------StartaxlSetFunckey("+" "subclass -+") ;切换subclass层axlSetFunckey("-" "subclass --") ;切换subclass层axlSetFunckey("1" "assign color") ;高亮元素axlSetFunckey("2" "undo") ;上一步操作axlSetFunckey("3" "copy") ;拷贝axlSetFunckey("4" "change") ;改变元素axlSetFunckey("5" "dehilight") ;低亮元素----与高亮反操作axlSetFunckey("6" "swap components") ;交换器件axlSetFunckey("7" "swap functions") ;交换功能axlSetFunckey("8" "zoom points") ;缩放窗口axlSetFunckey("a" "zoom out") ;缩小设计窗口axlSetFunckey("b" "rotate") ;旋转axlSetFunckey("c" "delete") ;删除axlSetFunckey("d" "add connect") ;添加布线axlSetFunckey("e" "shape edit boundary") ;编辑铜皮axlSetFunckey("f" "slide") ;优化布线axlSetFunckey("g" "move") ;移动axlSetFunckey("h" "add line") ;添加2D线axlSetFunckey("m" "custom smooth") ;自动平直布线路径axlSetFunckey("n" "mirror") ;翻转器件到背面axlSetFunckey("q" "rats net") ;打开元素对应网络飞线axlSetFunckey("o" "unrats net") ;关闭元素对应网络飞线axlSetFunckey("r" "shape select") ;选中铜皮进行编辑axlSetFunckey("s" "zoom in") ;放大设计窗口axlSetFunckey("t" "shape add") ;添加绘制铜皮axlSetFunckey("u" "island_delete") ;删除孤岛铜皮axlSetFunckey("v" "toggle") ;改变布线方向axlSetFunckey("w" "delay tune") ;蛇形布线axlSetFunckey("Esc" "done") ;结束命令axlSetFunckey(" " "iangle 90") ;旋转90度 ;------定义黄勇老师推荐快捷键--------END
);------快捷键定义
procedure( FanySkill_HotKey();作用等同于 funckey z ch_via_net ;axlSetFunckey("k" "next");axlSetFunckey("z" "FYCH") ;设置原点;axlSetFunckey("z" "FYCOT") ;新建异形Flash;axlSetFunckey("z" "FYKP") ;添加KEEPOUT/ALL;axlSetFunckey("z" "change pad") ;添加焊盘元素;axlSetFunckey("z" "rpn") ;重命名焊盘名称;axlSetFunckey("z" "FYAL") ;对齐工具;axlSetFunckey("Z" "FYCW") ;设置格点 也可使用FYG命令;axlSetFunckey("X" "Jun_DirKeyTool") ;调用设置操作的固定距离工具;axlSetFunckey("z" "FYPI") ;指定区域放置器件工具;axlSetFunckey("C" "FYCUT") ;打断工具;axlSetFunckey("X" "FYDD") ;删除Danling line via;axlSetFunckey("ACC" "auto_create_matchgroup") ;自动设置 Match_Group;axlSetFunckey("P" "xasym") ;对齐器件;axlSetFunckey("z" "FYCL") ;自动连接布线;axlSetFunckey("z" "Jun_ReplaceVia") ;替换选择过孔;axlSetFunckey("z" "Jun_RefdesSet") ;将所有器件位号放置到器件中心位置;axlSetFunckey("z" "Jun_Artwork") ;调用光绘工具;axlSetFunckey("z" "FYCA") ;调用单位切换工具;axlSetFunckey("z" "FYST") ;设置系统字符大小,并调整所有器件位号为2号字体;axlSetFunckey("z" "FYCOL") ;设置颜色方案,有三个方案:FYCOL FYCOL1 FYCOL2;axlSetFunckey("z" "FYED") ;导出所在文件夹所有封装的Device文件;axlSetFunckey("z" "Jun_SymbolTool M") ;将器件放到Bottom层相同位置;axlSetFunckey("z" "FYLG") ;导入单色位BMP格式LOGO文件;axlSetFunckey("Z" "DVAP") ;生成差分过孔KEEPOUT;axlSetFunckey("SP" "sig_pack") ;导出单个器件封装axlSetFunckey("p" "Jun_SymbolTool A") ;中心对齐焊盘/孔axlSetFunckey("v" "ch_via_net") ;切换过孔网络axlSetFunckey("a" "Jun_LayerEtch") ;切换到指定层axlSetFunckey("m" "move") ;移动命令axlSetFunckey(" " "iangle 90") ;空格90度旋转 需要先用move命令选中axlSetFunckey("r" "iangle 45") ;45度旋转 需要先用move命令选中axlSetFunckey("w" "add connect") ;电气走线axlSetFunckey("l" "add line") ;非电气属性线axlSetFunckey("e" "shape add") ;铺铜,任意形状axlSetFunckey("E" "shape select") ;shift+E 选中铜皮,一般用来修改网络和改变铜皮形状axlSetFunckey("A" "delay tune") ;蛇形走线axlSetFunckey("q" "show measure") ;测量axlSetFunckey("1" "rats net") ;显示选中网络飞线axlSetFunckey("2" "unrats net") ;隐藏选中网络飞线axlSetFunckey("b" "mirror") ;将器件切换到底层axlSetFunckey("d" "slide") ;修线axlSetFunckey("s" "swap components") ;交换器件位置axlSetFunckey("c" "Change") ;改变属性axlSetFunckey("~D" "delete islands") ;删除孤岛axlSetFunckey("~E" "shape edit boundary") ;修剪铜皮axlSetFunckey("~Z" "undo") ;回到上一步 Ctr+ZaxlSetFunckey("~Y" "redo") ;回到下一步 axlSetFunckey("~C" "copy") ;复制axlSetFunckey("~S" "save") ;保存axlSetFunckey("f" "fix") ;锁定axlSetFunckey("~F" "unfix") ;解锁 axlSetFunckey("Esc" "done") ;取消axlSetFunckey("Del" "delete") ;删除;axlSetFunckey("L" "Jun_LayerTool") ;打开层显示工具;axlSetFunckey("," "Jun_LayerEtch Down") ;切换到下一层;axlSetFunckey("." "Jun_LayerEtch Up") ;切换到上一层;axlSetFunckey("jk" "Jun_LayerTool st t") ;切换到调整丝印顶层;axlSetFunckey("kk" "Jun_LayerTool sb t" ) ;切换到调整丝印底层;axlSetFunckey("t" "Jun_LayerTool at t") ;切换到顶层;axlSetFunckey("atp" "Jun_LayerTool atp t") ;切换到顶层+Placebound;axlSetFunckey("ab" "Jun_LayerTool ab t") ;切换到底层;axlSetFunckey("abp" "Jun_LayerTool abp t") ;切换到底层+Placebound ;axlSetFunckey("stp" "Jun_LayerTool stp t" ) ;切换到调整丝印顶层+Placebound;axlSetFunckey("sbp" "Jun_LayerTool sbp t" ) ;切换到调整丝印底层+Placebound;axlSetFunckey("all" "Jun_LayerTool all") ;显示所有层;axlSetFunckey("no" "Jun_LayerTool no") ;关闭所有层);------快捷键定义
procedure( FanySkill_HotKey_LOEN() axlSetFunckey("Y" "refresh symbol") axlSetFunckey("D" "prmed") axlSetFunckey("N" "netin")axlSetFunckey("X" "text edit")axlSetFunckey("A" "dlib")axlSetFunckey("S" "save")axlSetFunckey("W" "open")axlSetFunckey("B" "place manual")axlSetFunckey("Q" "quickplace")axlSetFunckey("E" "padeditdb")axlSetFunckey("F" "show measure")axlSetFunckey("T" "define text")axlSetFunckey("G" "add text")axlSetFunckey("H" "package_height")axlSetFunckey("+" "subclass -+")axlSetFunckey("-" "subclass --")axlSetFunckey("1" "assign color")axlSetFunckey("2" "undo")axlSetFunckey("c" "copy")axlSetFunckey("4" "change")axlSetFunckey("5" "dehilight")axlSetFunckey("6" "swap components")axlSetFunckey("b" "rotate")axlSetFunckey("d" "done")axlSetFunckey(" " "iangle 90")axlSetFunckey("3" "delete")axlSetFunckey("a" "add connect")axlSetFunckey("e" "shape edit boundary")axlSetFunckey("s" "slide")axlSetFunckey("h" "add line")axlSetFunckey("m" "custom smooth")axlSetFunckey("n" "mirror")axlSetFunckey("q" "rats net")axlSetFunckey("o" "unrats net")axlSetFunckey("r" "shape select")axlSetFunckey("t" "shape add")axlSetFunckey("u" "island_delete")axlSetFunckey("g" "toggle")axlSetFunckey("w" "delay tune")axlSetFunckey("f" "oops")axlSetFunckey("v" "move")axlSetFunckey("k" "Jun_Artwork")axlSetFunckey("P" "rpn") axlSetFunckey("Esc" "done")
);------环境定义
procedure( FanySkill_int()
prog((file port InstallPath tt)unless(boundp('FanySkill_global)defvar(FanySkill_global ncons(nil)))InstallPath = niltt = setof(x0 getSkillPath() (isFile(strcat(x0 "/allegro.ilinit")) == t))file = strcat(axlOSSlash(car(tt)) "/allegro.ilinit")port = infile(file)while(gets(n0 port)when(rexMatchp("load.*FanySkill_main.il\")+" n0)InstallPath = car(axlDMFileParts(cadr(parseString(n0 " ()\t\n\""))))InstallPath = buildString(reverse(cdr(reverse(parseString(InstallPath "/\\")))) "/")))close(port)FanySkill_global->InstallPath = InstallPathload(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_CutClines_Lines_Shapes.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Cline_Cross.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_create_net_silk.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_check_refdes_direction.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Change_WIDTH.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Cline_To_shape.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_check_no_refdes.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Calculator.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_SetGrid.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_ChooseGrid.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_etch_cross_plane.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Color_Setting.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Set_Text.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Change_Origin.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Create_Oblong_Thermal.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Keepout.il") "keepout")load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Place_Inside.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/Form/FanySkill_fform.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Export_Device.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Logo.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/Align/align.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/Align/align_do.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/Align/align_utils.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_lnDiffViaAntiPad.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_Sig_pack.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_mirror_element.il"))load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Artwork.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/FormFunc.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/DirKeyTool.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/change_pad.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/RefdesTool.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/FormM.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Replace_Via.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/SymbolTool.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Change_LayerTool.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/View_Net_Message.il") "Jun")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/ch_via_net.il") "www.allegro-skill.com")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Rename_Pin_Number.il") "www.eda365.com")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/x_del_dangling_lv.il") "www.eda365.com")load(strcat(FanySkill_global->InstallPath "/FanySkill/SkillCode/FanySkill_quick_danglings.il") )load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/Auto_Create_Match_Group.il") "dzkcool")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/x_align_symbol.il") "deargds")load(strcat(FanySkill_global->InstallPath "/FanySkill/Skill/add_chinese_eng.ile") "db")timerId = axlUIWTimerAdd(nil 1000 t 'FanySkill_menu_load) ;<5000axlCmdRegister("FanySkill" 'FanySkill_menu_load ?cmdType "general");axlCmdRegister("FanySkill_ChooseGrid")axlTriggerSet('menu 'FanySkill_menu_load)FanySkill_HotKey();FanySkill_HotKey_CESC() ;注释这一行可关闭黄勇老师推荐快捷键定义;FanySkill_HotKey_LOEN()
)
)
FanySkill_int()procedure( FanySkill_install()
let((tt file port)tt = setof(x0 getSkillPath() (isFile(strcat(x0 "/allegro.ilinit")) == t))file = strcat(axlOSSlash(car(tt)) "/allegro.ilinit")port = outfile(file "a")fprintf(port "\nload(%L)" strcat(getWorkingDir() "/FanySkill/FanySkill_main.il"))close(port)
);axlTriggerSet('menu 'FanySkill_menu_load)
)