Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 162|回复: 3

[求助] 有偿写skill,目前本人有需要,求大神出手代写下

[复制链接]
发表于 2018-6-8 15:53:41 | 显示全部楼层 |阅读模式
最近学了下skill,发现还是太难了。网上也早不到学习的教程,只是些基本的语句。
本来想写一个skill:
目的:
        通过skill来对不上件的器件,不上件的器件有附加属性pop=na,在新建层 BOARD GEOMETRY/ NA_X_TOP or BOARD GEOMETRY/ NA_X_TOP上画叉×,叉的大小(以添加line的方式画叉×)与 PACKAGE GEOMETRY/ASSEMBLY_BOTTOM四个边缘等大。

类似于如下图。



我本来的想法是,先自身在allegro中高亮pop=na的器件,然后用函数通过获取高亮器件的 PACKAGE GEOMETRY ASSEMBLY_BOTTOM  line的四个角的坐标,然后通过坐标来add line到对应BOARD GEOMETRY/ NA_X_TOP or BOARD GEOMETRY/ NA_X_TOP层。

问题:
1, PACKAGE GEOMETRY ASSEMBLY_BOTTOM  上的line怎么获得坐标呢?如果是shape形式,那获取就容易多了。
2,PACKAGE GEOMETRY ASSEMBLY_BOTTOM 上如何line组合的不是方方正正的矩形,是圆形又要怎样考虑呢?

但是思来想去,感觉无从下手啊!

求大神出手,顺便我也学习下!

有偿!有偿!有偿!

可私聊!


 楼主| 发表于 2018-6-8 15:55:47 | 显示全部楼层
补个图,怎么会不显示呢
121312312.png
发表于 2018-6-11 14:48:39 | 显示全部楼层
本帖最后由 leilei4908 于 2018-6-11 15:13 编辑

给你提供个思路,X用射线的形式,从零件中心射出四条线(比如分别间隔60和120度),根据零件旋转角度,将四条射线也旋转相同角度,获取与Assembly的交点
举个例子,零件旋转了45度,第一条射线角度30+45=75度,第二条射线角度30+45+120=195度
第三条射线角度30+45+120+60=255度,第四条射线角度30+45+120+60+120-360=15度
一条直线已知斜率,另一条直线已知两个端点,求交点
若另一条是曲线,也就是objType是arc(直线是line),可以用直线和圆的交点公式求得
端点可以根据
foreach(mb symbol->groupMembers
   when(mb->objType == "path" && index(mb->layer "PACKAGE GEOMETRY/ASSEMBLY")
      segs = mb->segments
      foreach(seg segs
         startEnd = seg->startEnd
         xy1 = car(startEnd)
         xy2 = cadr(startEnd)
      )
   )
)
获取
Assembly很有可能是除了常见的矩形和圆形以外的图形,这种再用四个端点就不能很好的处理了


发表于 2018-6-11 14:56:25 | 显示全部楼层
skill可以参考
%cdsroot%\doc\algroskill\algroskill.pdf
%cdsroot%\doc\sklangref\sklangref.pdf
%cdsroot%\doc\sklanguser\sklanguser.pdf
这三份
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2018-6-20 22:42 , Processed in 0.327096 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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