EDA365电子工程师网

标题: 求获取线段长度的skill [打印本页]

作者: jordanli22    时间: 2017-5-18 21:33
标题: 求获取线段长度的skill
不知道有没有可以获取线段长度的skill,手动选择cline 或net 然后skill report 出所选的长度。

作者: chrysalis    时间: 2017-5-19 08:13
show element就可以看长度
作者: jordanli22    时间: 2017-5-19 12:15
chrysalis 发表于 2017-5-19 08:13
show element就可以看长度

不太方便 有时候需要同时选择很多线段或者 net,比如一把ddr或者其他情况。
作者: chrysalis    时间: 2017-5-19 17:02
jordanli22 发表于 2017-5-19 12:15
不太方便 有时候需要同时选择很多线段或者 net,比如一把ddr或者其他情况。

有match group的在规则管理器里面直接analyze看长度。

作者: jordanli22    时间: 2017-5-20 09:48
chrysalis 发表于 2017-5-19 17:02
有match group的在规则管理器里面直接analyze看长度。

这个还是不方便
作者: chrysalis    时间: 2017-5-21 08:18
jordanli22 发表于 2017-5-20 09:48
这个还是不方便

你的要求比较具体,可能不容易找到刚好满足你要求的skill

作者: soswelcome    时间: 2017-5-21 09:21
好像现在还没有这样的skill
作者: leilei4908    时间: 2017-5-26 08:57
本帖最后由 leilei4908 于 2017-5-26 09:00 编辑

len = 0.0
segs = cline->segs
foreach(seg segs
   if(isCallable('axlDBGetLength) then
      len = len + axlDBGetLength(seg)
   else
      len = len + GetSegLength(seg)
   )
)

procedure( GetSegLength(seg)
prog((Length)
when(seg->objType == "line"
  Length = axlDistance(car(seg->startEnd) cadr(seg->startEnd))
)
when(seg->objType == "arc"
  Length = axlDistance(car(seg->startEnd) cadr(seg->startEnd))
  Length = asin(Length/2.0/seg->radius)*2.0*seg->radius
)
return(Length)
))

net先获取branches,再获取children里的clines

作者: bingshuihuo    时间: 2017-11-1 09:15
这个方法好
作者: jordanli22    时间: 2017-11-1 09:28
https://www.eda365.com/forum.php? ... p;page=1#pid1192284
作者: 一心守护    时间: 2017-11-3 08:25
666666666666666666666




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