EDA365电子工程师网

标题: 怎么用skill代码实现计算单板面积大小 [打印本页]

作者: xieh_17    时间: 2012-8-13 23:07
标题: 怎么用skill代码实现计算单板面积大小
一般单板只有一个 router keepin,思路应该是统计这个区域内的面积吧

请教实现代码,望高人指点!
作者: deargds    时间: 2012-8-14 09:09
  1. 使用axlPolyFromDB获取Shape 的Poly,然后访问Poly->area获取面积
复制代码

作者: xieh_17    时间: 2012-8-15 22:59
我是用的axlDBGetShapes命令获取route keepin中的shape,还有其它思路吗?
作者: xieh_17    时间: 2012-8-15 23:05
deargds 发表于 2012-8-14 09:09

版主提供的命令很有用,感谢.
作者: chouqiu    时间: 2012-10-13 11:07
希望做 好这个  skill 能够 发出来大家一起  共享
作者: wolf343105    时间: 2012-10-14 17:35
希望做这个skill 能够发出来大家一起共享.
作者: 德州马刺    时间: 2012-10-15 09:37
新手,没看懂,求罗列步骤,谢谢!  
作者: xieh_17    时间: 2012-11-21 18:52
本帖最后由 xieh_17 于 2012-11-21 18:53 编辑

统计ROUTEE KEEPIN区域的面积,近似为单板面积,如果大家有更好的方法,请指教。以下代码是在deargds的指导下完成,在此表示感谢。
  1. axlCmdRegister("test",'test)
  2. defun( test ()
  3. prog((lVia)
  4.         axlClearSelSet()
  5.         Shapes_dbid = car(axlDBGetShapes("ROUTE KEEPIN/ALL"))
  6.         polyList = axlPolyFromDB(Shapes_dbid,?layer "ETCH/TOP" ?padType 'REGULAR)
  7.         tDBUnits = car(axlDBGetDesignUnits())
  8.         when(tDBUnits == "mils"
  9.                 area = car(polyList)->area/1000000*6.45163
  10.              )
  11.         when(tDBUnits == "millimeters"
  12.                 area = car(polyList)->area/100
  13.              )       
  14.         str = sprintf(nil "%.2f" area)
  15.         axlUIConfirm(strcat("The board area : " str " cm2"))
  16. ))

复制代码

作者: szhot    时间: 2012-11-22 00:05
顶顶顶顶顶
作者: talient    时间: 2012-11-23 17:35
单板面积是不是指outline内部面积?
作者: xieh_17    时间: 2012-12-7 07:45
talient 发表于 2012-11-23 17:35
单板面积是不是指outline内部面积?

上面的代码是统计routekeepin内的面积。
作者: wcjcn    时间: 2017-6-8 14:30
xieh_17 发表于 2012-12-7 07:45
上面的代码是统计routekeepin内的面积。

单面面积和routekeepin的面积有什么区别吗?
作者: xieh_17    时间: 2017-9-19 16:19
wcjcn 发表于 2017-6-8 14:30
单面面积和routekeepin的面积有什么区别吗?

routekeepin区域一般会在outline上内缩一点点。





欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2