EDA365电子论坛网

标题: 求助大佬们,快捷键设置进阶版,用一个键切换options部分选项。 [打印本页]

作者: vimgcc    时间: 2024-6-19 10:24
标题: 求助大佬们,快捷键设置进阶版,用一个键切换options部分选项。
本帖最后由 vimgcc 于 2024-6-19 15:07 编辑
" `) b% N9 `3 h4 k5 O1 k8 }: S
4 H5 [/ g' N8 E8 @9 G3 w' S如题所述,如何设置一个快捷键来切换某些功能呢?( t9 t# W6 x0 n& H9 M7 x2 t4 ]. j

/ l3 C9 W( b# o2 f
9 Y7 g( C$ a2 P( Y  L
比如我经常要用移动命令切换  "Body Center" “User Pick”选项,还有钩选slide etch选项。
. ^0 M! Q5 V7 j5 o$ d/ o/ L
又或者走线命令下切换直线或者弧线:Line或者Arc: G! U: i( ]9 u, h' n- N
  
  F, s* R% W3 Z7 C* F, p' V, s+ T$ I; v
我有发现C:\Cadence\SPB_16.6\share\pcb\text\env  文档里面(比较靠底部40行左右吧。)有俩个案例教我们怎么设置单个快捷键切换选项,如下。/ N: [  c8 @  M% p8 k7 \: y
1、alias bubset 'settoggle shove_mode Off "Hug preferred" "Shove preferred"; options bubble_space $shove_mode'
* P$ ~* |& k4 f& H1 `7 G" V9 J     alias ~B bubset/ z% l- ?, _& i
      这个案例的意思是在走线命令(add connect)下,按Ctrl+B可切换bubble栏的几个选项,它是分俩步完成的,先定义一个变量“bubset” 这个变量名可以随意取, settoggle是一个开关切换命令,是固定的,后面跟随的就是要切换的内容。然后第二步用一个快捷键指向之前的变量,就完美的完成了设置。: c* u" o5 J) k, Z: S1 I

9 ]1 `! C6 M" s. ]
' r% l  F& v& F: C
2、alias smoothset 'settoggle smooth_mode Off Minimal Full; options smooth_level $smooth_mode'8 e& Y9 Q2 t2 ]
     alias ~SB smoothset
9 a5 E& `& T9 @1 A6 L; H0 U$ ^
" F5 u, T9 o- B     这个案例的意思是在走线命令下按Ctrl+shift+B切换推挤模式。设置原理也和上个案例一样。. v* v' B) d6 C2 d) X

1 g9 F6 R. u' u% z+ a
& t2 m- c/ m$ N3 N" s: A+ E
  好,回到问题本身,如何设置移动命令(move)里面的point选项,我也想依葫芦画瓢:5 G" @$ j$ g; w; `
  alias point 'settoggle ......'  省略部分我不会写了,也是这个帖子想学习的地方。" g, b5 x0 ?& G4 c6 h/ D
  funckey q  point   这里随意设个q键。
1 N" Z8 d6 Y4 Z, F( l) C " q1 G+ w  H! o, S& S9 ~3 Z1 P
有知道的朋友请指点一下,或者讨论一下也行。1 Y7 o7 e" q* ~$ g
) s& I2 p( |$ ]& C1 {
, U& b3 A4 u& n9 S$ |

作者: Getaway    时间: 2024-6-19 10:27
% P2 E( ^0 |5 d5 C) i/ g' ^
这个功能没有用过,一般就用默认的快捷键,也够用了
作者: chenliqun    时间: 2024-6-19 10:43
轻置软臀,有答案再来瞅瞅
作者: Dc2023060722a    时间: 2024-6-19 11:23
想知道这样操作提升效率的效果怎么样
作者: 6940    时间: 2024-6-19 14:02

; r, b2 i7 @* u$ y2 N  a  u5 s+ K轻置软臀,有答案再来瞅瞅
作者: db-_-    时间: 2024-6-19 14:32
很简单。
' v$ o! s1 g' T. o9 M1、先录一个脚本,把你要的选项都点一遍。录完之后得到如下*.scr文件
0 I' t5 S% o" R. B- c9 Y1 x6 U
  1. # Allegro script! t2 p1 d$ `( a+ B
  2. #        file: D:********/aaa.scr* a( k& k; p, Y, y6 F) D, y. T0 Q1 A
  3. #        start time: Wed Jun 19 14:21:37 2024
    : r6 p5 j) z- E: i/ {9 @
  4. #        Version: 17.2-2016 S058 (3810401) Windows SPB 64-bit Edition
    ) |( M$ U( E1 S' f+ @# s0 W
  5. version 17.2& R, p( U$ s$ N9 t. V' V

  6. + m1 l. q5 a. V$ v* U3 v) v
  7. setwindow pcb
    7 S& n; a* L9 V! e7 P+ ^
  8. trapsize 36780 B7 \: y4 g' f6 O2 Q; j9 ?
  9. move 8 S. L9 k* i) {* ^4 b& ?
  10. setwindow form.mini3 _3 F: Z, |9 J
  11. FORM mini rotate_point Body Center 2 s; v9 F) k# F: B% O2 E4 s
  12. FORM mini rotate_point User Pick
    1 ?2 l* c; L7 \0 O
  13. FORM mini rotate_point Sym Origin , w7 f& P& e. X+ h
  14. FORM mini stretch_slide YES " Z$ g- h4 c: B, K) t  q  B+ _  o% ~! E2 g
  15. FORM mini stretch_slide NO 6 L! u/ b* H4 i: r1 _5 K5 }
  16. setwindow pcb' |  E! ]( D1 o$ }1 G  N. W3 d
  17. prepopup 7443.44 4503.365 t0 ?8 H2 d2 A+ f
  18. done / W. I9 @- e1 ^- G" \( L
  19. " ^+ v/ T8 v) X0 ]) y* a( n
  20. #        stop time: Wed Jun 19 14:21:55 2024
复制代码

7 [1 D# [$ ^" D. B/ h2、修改option里面的内容格式都比较固定,按照如下格式修改即可。
. q6 |* b3 r6 ?$ s
  1. funckey q 'settoggle var1 "1" "2"; options field $var1'
复制代码
其中,var1是变量,每换一个功能就+1变成var2就好,"1"和"2"是你要切换的值,filed是你要修改的内容。! R% w8 a, `; r. y7 P- u6 v: C$ y
: E8 t/ x6 g3 ~$ a0 Z/ t) f
3、好了,将第一步和第二步联系起来。
; S1 D6 }! K, L# ^5 afiled 填入rotate_point4 ~% q; `  _! u9 g9 u3 V% t
"1"填入"Body Center"8 j0 z4 l+ J* O8 {4 o9 v
"2"填入"User Pick"4 T; y( I; K5 P* ~; V
得到,以下行。
/ d3 p; l9 Y1 J( E3 Q  I; M
  1. funckey q 'settoggle var1 "Body Center " "User Pick"; options rotate_point $var1'
复制代码
' Q% p/ q" j+ j. y: L5 k
4、把这一行敲到控制台,或者放入env就能用了。% ?6 n5 s. D* x: M; Q* v

+ i  ]! N; S3 I' M% B; @5、注意,funckey和alias都可以用,前者不需要按回车,后者需要按回车。以及注意,快捷键(funckey)q会挡住快捷键q1,让其无法生效。
. D: S" U' Y$ w# z$ j2 g
作者: aarom    时间: 2024-6-19 14:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: aarom    时间: 2024-6-19 15:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: vimgcc    时间: 2024-6-20 09:24
aarom 发表于 2024-6-19 15:41; B) [! q+ R' J- v, p& k2 f
funckey 的意思是"特殊鍵"加或不加"單字元鍵", 或只有 "單字元鍵" , 若太多"字元", 你按第一個就已觸發了,  ...
! y0 m6 m0 s4 y* S% M# O; X" S, i
追加提问,如何设置Shift+X(单个字母的组合)快捷键?
% B4 [9 G$ Z6 u# G$ E. Y6 Z# t
作者: aarom    时间: 2024-6-20 10:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: Allen1211    时间: 2025-5-15 17:43
厉害厉害




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