EDA365电子工程师网
标题:
[新手求教]Skill中移动器件的实现方法
[打印本页]
作者:
Coolouba
时间:
2014-7-11 22:58
标题:
[新手求教]Skill中移动器件的实现方法
想做个简单的Skill,功能中包含了移动器件。查阅帮助文档和编程实践,已经可以获取某个DBID并且读出坐标属性。简单想法是把该DBID的xy属性修改,然后刷新DBID,既然求教,自然是没成功。看了下align.il的源码,作者是获取DBID后读取多个信息,然后删除原对象重画一个。有没有其他方法,各位大大指教。
作者:
Coolouba
时间:
2014-7-12 19:54
貌似只能自娱自乐鸟
作者:
Coolouba
时间:
2014-7-12 23:07
顶顶才健康。
实现了功能,很多细化的工作还可以做。
采用axlTransformObject就可以移动器件了,还有多种操作方式可以选择,镜像等等,具体可以参考帮助文档。
;移动器件 第一次选中symbol,第二次选中figure,symbol将移动到该figure xy处。
;可考虑增加光标显示、提示等等。
axlClearSelSet()
axlSetFindFilter(
?enabled (list "symbols" "text")
?onButtons (list "all"))
while(
axlSelect(?prompt "Pick a symbol.")
list_obj = axlGetSelSet()
oldobj = car(list_obj)
oldx = xCoord(oldobj->xy)
oldy = yCoord(oldobj->xy)
println(oldobj->xy)
println(oldx)
println(oldy)
axlSelect(?prompt "Pick a new figure.")
list_obj = axlGetSelSet()
newobj = car(list_obj)
newx = xCoord(newobj->xy)
newy = yCoord(newobj->xy)
println(oldobj->xy)
println(newx)
println(newy)
deltax = newx-oldx
deltay = newy-oldy
delta_point = deltax:deltay
println(delta_point)
axlTransformObject(oldobj ?move delta_point)
)
作者:
Coolouba
时间:
2014-7-15 20:17
亚麻得 终于有个人来评论了。今天想做一个新的东西,加强版Swap pins,还没搞出来。
欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/)
Powered by Discuz! X3.2