Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 363|回复: 1

[求助] 设置2oz层间距规则

[复制链接]
发表于 2024-9-29 10:32:20 | 显示全部楼层 |阅读模式
我在制作一个导入初始化间距规则的skill。使用的when+axlCNSSetSpacing。
对于2oz层,间距规则要求更大,比如6mil。请问when()括号中的条件参数应该怎么设?
发表于 2024-10-1 09:49:40 | 显示全部楼层
  1. ;用axlGetXSection能獲取完整層別/疊構資訊
  2. xsec_list = axlGetXSection()
  3. foreach(s_xsec xsec_list

  4. Layer_Function = nth(1 s_xsec)
  5. Layer_Th_Val = nth(3 s_xsec)
  6. Layer_Th_Val_int = car(parseString(Layer_Th_Val " "))
  7. SET_NAME = "DEFAULT"

  8. ;使用axlMKS2UU() 在任何單位下都可以自動轉換
  9. D4_ALL_over_2oz = axlMKS2UU(sprintf(nil "%L mil" 6))
  10. D4_ALL_s_2oz = axlMKS2UU(sprintf(nil "%L mil" 4))
  11. ;string to float數值轉換
  12. when(Layer_Th_Val_int != nil Layer_Th_Val_int = atof(Layer_Th_Val_int))

  13. ;判斷CONDUCTOR名稱
  14. when(Layer_Function == "CONDUCTOR" || Layer_Function == "PLANE"

  15.         if(Layer_Th_Val >= 2.36 then

  16. ;;;;;;;;;;;;;; >>> 在這邊設定cmgr 大於2oz <<< ;;;;;;;;;;;;;;
  17. ;預設全數值 axlCNSGetSpacing(nil nil nil) 可查看可設定值
  18.         foreach(x axlCNSGetSpacing(nil nil nil) axlCNSSetSpacing(SET_NAME nil x D4_ALL_over_2oz))
  19.        
  20.         else
  21. ;;;;;;;;;;;;;; >>> 在這邊設定cmgr 小於2oz <<< ;;;;;;;;;;;;;;
  22. ;預設全數值
  23.         foreach(x axlCNSGetSpacing(nil nil nil) axlCNSSetSpacing(SET_NAME nil x D4_ALL_s_2oz))
  24.         );END IF

  25. );WHEN CONDUCTOR PLANE
  26. );END FOREACH
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-26 13:55 , Processed in 2.184724 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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