在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 11605|回复: 22

[求助] 版图层次化

[复制链接]
发表于 2014-4-21 18:18:23 | 显示全部楼层 |阅读模式
1000资产
在有多个层次的版图宏模块中,有能在活动的版图模块中实现选中一个或多个版图层元素,直接打包到指定的版图层中去的吗?也能将指定的区域的单元内部元素变为单元外部的元素,用SKILL “.il“文件形式,一键功能实现,方便大家学习啊,谢谢。

发表于 2014-4-21 18:39:42 | 显示全部楼层
我也在找这个的解决方法,楼主有答案了可否分享一下?
发表于 2014-4-22 09:28:56 | 显示全部楼层
在有多个层次的版图宏模块中,有能在活动的版图模块中实现选中一个或多个版图层元素,直接打包到指定的版图层中去的吗?
開啟2張圖  可從 A 圖 COPY 到B 圖

也能将指定的区域的单元内部元素变为单元外部的元素。
flat 會拉出來

我也想知道,有沒有更快ㄉ方法
发表于 2014-4-23 13:14:47 | 显示全部楼层
在laker里面,Copy 需要的cell 到目的层后,shift+y 即可
发表于 2014-4-23 14:13:01 | 显示全部楼层
大小Y不可以吗?
发表于 2014-4-24 10:09:27 | 显示全部楼层
SHIFT+ 小y
 楼主| 发表于 2014-4-25 18:24:44 | 显示全部楼层
本帖最后由 wangyan2059 于 2014-4-25 18:32 编辑

下面是由一个翻转的单元,单元内部版图元素的坐标列转化为外部层次的版图元素的坐标。代码如下,测试是正确的。






hiSetBindKey( "Layout" "<Key>F10" "transfer123()")

procedure( Orientation(orienta points)
prog( (listPoints  temp x0 y0 onePoint )

count=length(points)-1
println(count)

listPoints='()        

for( i 0 count


onePoint=car(points)
   
x0=car(onePoint)

y0=car(cdr(onePoint))
                 points=cdr(points)   


case(orienta

("R0"

     
)

("R90"


temp=y0

y0=x0

x0=0-temp)

("R180"  


y0=0-y0

x0=0-x0)

("R270"


temp=y0

y0=0-x0

x0=temp)

("MX"  


y0=0-y0)

("MY"   


x0=0-x0)

("MXR90"


temp=0-y0

y0=x0

x0=temp )

("MYR90"


x0=0-x0

temp=y0

y0=x0

x0=0-temp)

    )
listPoint=list(x0 y0)
listPoints=append(listPoints list(listPoint))                 

i=i+1

       )

return(listPoints)
    );prog);procedure

procedure( OutXY(orienta points orientPoint)
   prog( (listsPoints  count  pointsList X Y  x0 y0 i)
println(orienta)
    listsPoints=Orientation(orienta points)
    count=length(listsPoints)-1
    pointsList='()
X=car(orientPoint)
Y=car(cdr(orientPoint))
println(Y)
    for( i 0 count
    pointsOne=car(listsPoints)
     listsPoints=cdr(listsPoints)
     x0=car(pointsOne)+X
     y0=car(cdr(pointsOne))+Y
    lists=list(x0 y0)
     pointsList=append(pointsList list(lists))
    i=i+1
    )
    println(pointsList)
    return(pointsList)   
);pro
);procedure


procedure( transfer123()
let( (OutPints)
orientPoint='(-116.1 -18.15)
orienta="R90"
points='((7.65 0) (7.65 10.65) (2.2 10.65) (2.2 20.95))
println(points)
OutPints=OutXY(orienta points orientPoint)
);let
);procedure



大家可以CP下来玩啊,我正在做这个完整的功能中啊。
发表于 2014-4-25 20:02:56 | 显示全部楼层
 楼主| 发表于 2014-4-28 10:06:21 | 显示全部楼层
本帖最后由 wangyan2059 于 2014-4-28 10:51 编辑

procedure( InXY(orienta points orientPoint)
   prog( (listsPoints  count  pointsList X Y  x0 y0 i)   
    count=length(points)-1
    pointsList='()
X=car(orientPoint)
Y=car(cdr(orientPoint))
    for( i 0 count
    pointsOne=car(points)
     points=cdr(points)

     x0=car(pointsOne)-X
     y0=car(cdr(pointsOne))-Y
    lists=list(x0 y0)
     pointsList=append(pointsList list(lists))
    i=i+1
    )
    listsPoints=inOrientation(orienta pointsList)
    return(listsPoints)   
);pro
);procedure




procedure( inOrientation(orienta points)
prog( (listPoints  temp x0 y0 onePoint)

count=length(points)-1

listPoints='()        

for( i 0 count


onePoint=car(points)
   
x0=car(onePoint)

y0=car(cdr(onePoint))
                 points=cdr(points)   


case(orienta

("R0"

     
)

("R90"


temp=x0

x0=y0

y0=0-temp)

("R180"  


y0=0-y0

x0=0-x0)

("R270"


temp=x0

x0=0-y0

y0=temp)

("MX"  


y0=0-y0)

("MY"   


x0=0-x0)

("MXR90"


temp=0-x0

x0=y0

y0=temp )

("MYR90"


x0=0-x0

temp=y0

y0=x0

x0=0-temp)

    )
listPoint=list(x0 y0)
listPoints=append(listPoints list(listPoint))                 

i=i+1

       )

return(listPoints)
    );prog);procedure








procedure( transfer1()
let( (OutPints)
orientPoint='(-134.7 -4.35)
orienta="R270"
points='((-134.7 -12) (-124.05 -12) (-124.05 -6.55) (-113.75 -6.55))
println(points)
OutPints=InXY(orienta points orientPoint)
println(OutPints)
);let
);procedure









秀秀上面是外部版图坐标转换为内部的坐标。
发表于 2014-4-28 20:36:17 | 显示全部楼层
直接进入底层cell,使用Y(Yank)命令,退到TOP ,粘贴就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-3 06:50 , Processed in 0.029280 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表