EDA365电子论坛网

标题: 改变单位的skill [打印本页]

作者: 学无止境```    时间: 2025-5-21 17:49
标题: 改变单位的skill
经常白嫖别人的skill,现在介绍两种一个快捷键修改单位的方法(求大佬指教):
一、刚开始学习skill,因为画封装的时候会经常改单位,所以想着写1个简单的skill,主要实现:自动检测当前单位,如果是mils,那么运行命令以后,直接修改为millimeters,精度为4;如果不是mils,运行命令以后,直接修改为mils,精度为3
二、直接在ENV中设置一键切换单位mils和millimeters,快捷键:ctrl+U
alias changemils "confirm  current units-------mils;setwindow pcb;generaledit;prmed;setwindow form.prmedit;FORM prmedit design ;FORM prmedit units Mils;FORM prmedit accuracy 3 ;FORM prmedit x -10000.0000 ;FORM prmedit y -10000.0000;FORM prmedit width 30000.0000;FORM prmedit height 30000.0000;FORM prmedit done;fillin yes"
alias changemillimeter "confirm  current units-------millimeter;setwindow pcb;generaledit;prmed;setwindow form.prmedit;FORM prmedit design ;FORM prmedit units Millimeter;FORM prmedit accuracy 4;FORM prmedit x -254.0000 ;FORM prmedit y -254.0000;FORM prmedit width 800.0000;FORM prmedit height 800.0000;FORM prmedit done;fillin yes"
funckey ~U "settoggle CMD 'changemillimeter' 'changemils';$CMD;redraw"

switch_units.zip

607 Bytes, 下载次数: 0, 下载积分: 贡献 -30 , 威望 -10


作者: 学无止境```    时间: 2025-5-21 17:51
本帖最后由 学无止境``` 于 2025-5-21 17:52 编辑

env中设置:还有1个功能,设置PCB工作区域,mm单位下,设置为:800x800;mils单位下,设置工作区域:30000x30000
作者: 学无止境```    时间: 2025-5-21 18:00
另外想问一下论坛中的大佬1个问题:            let( (x_menuId)
            x_menuId = axlUIMenuFind(nil -3)  ;菜单加载载倒数第3个位置时是 -3,如果是别的位置时,需要修改ID
            when(x_menuId        
                check = axlUIMenuFind(x_menuId "notice")                              
                if( check
                    then
                        re_menuId = axlUIMenuFind(nil -3)                                       
                        target = axlUIMenuDelete(re_menuId)
                        when( target
                            axlUIWPrint(nil "\322\306\263\375\304\277\261\352\262\313\265\245")
                    )                                               
                else
                            axlUIWPrint(nil "don't find target menu")
                        )
                )      
                )
这个代码主要是移除菜单,为啥在16.6中可以正常工作,在17.4中不行
作者: 陛下万年    时间: 2025-5-23 16:49
楼主,你有没有这样的一段代码:密耳转毫米的代码。现在我想把这段代码加在一个skill里,因为源代码是默认单位是密耳为单位的。不知道我这想法是不是可以?
作者: 式试1813    时间: 2025-5-28 15:32
陛下万年 发表于 2025-5-23 16:49
楼主,你有没有这样的一段代码:密耳转毫米的代码。现在我想把这段代码加在一个skill里,因为源代码是默认 ...

a = axlMKS2UU(sprintf(nil "%d mil" 1)) =>0.0254

作者: 陛下万年    时间: 2025-5-28 18:01
式试1813 发表于 2025-5-28 15:32
a = axlMKS2UU(sprintf(nil "%d mil" 1)) =>0.0254

谢谢您,我试试看。
作者: 式试1813    时间: 2025-5-29 10:10
陛下万年 发表于 2025-5-28 18:01
谢谢您,我试试看。

要把=>0.0254去掉哈,那是返回值

作者: 陛下万年    时间: 2025-5-29 14:06
式试1813 发表于 2025-5-29 10:10
要把=>0.0254去掉哈,那是返回值

明白,感谢大哥!




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2