找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 958|回复: 23
打印 上一主题 下一主题

[已解决]不知能不能求到这么一个skill?

[复制链接]

63

主题

967

帖子

3164

积分

五级会员(50)

Rank: 5

积分
3164
跳转到指定楼层
1#
发表于 2016-1-10 20:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 longzhiming99 于 2016-1-12 16:07 编辑

1.先来看看下图已完成的一块小板,它的特点就是shape代替了cline, 这是有网络属性的shape,想想画起来是不是有点麻烦呢?也许没画过单面板的人会问为什么这样画,呵,单面普通纸板必须这样画。否则轻轻一碰就坏了。

2.目前这块板是这样完成的,(1)先走完cline(将整板线路连完),然后用skill将cline一次性都变成shape, 如下图


  (2)然后再圈shape,如下图,这时shape没有网络。

  (3)利用Merge shapes命令将它们合并,这是给shape指派网络的最快方法吧。如下图


好了,现在就是觉得指派网络属性依然不够爽快,如果一个shape圈住了很多段cline,这就要么圈之前删掉只留一根,要么得一根一根去merge.
想求一个 skill,功能是这样:当一块静态shape圈住了cline(一段或多段但都是同一网络名),则自动完成上述的网络属性指派,完毕。我再手工删除cline这样就方便多了,如果可以不要我再手动删除,那更求之不得,也就cline自动变成shape并meger了,或是指派完网络名自动删掉了该cline那就顺眼多了。最好能用在allegro17.0版本上。
谢谢!谢谢,静候佳音。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏2 支持!支持! 反对!反对!

117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

推荐
发表于 2016-1-12 13:23 | 只看该作者
代码如下:
  1. axlCmdRegister("EDA365_Assign_Shape_Net" 'EDA365_Assign_Shape_Net ?cmdType "interactive")
  2. defun( EDA365_Assign_Shape_Net ()
  3. let((lEtchLayer lShape s i)
  4.     lEtchLayer = mapcan(lambda((p) list(strcat("ETCH/" p))) axlGetParam("paramLayerGroup:ETCH")-> groupMembers)
  5.     lShape = EDA365_Get_Object(list("SHAPES") lEtchLayer)
  6.     lClineSeg = EDA365_Get_Object(list("CLINESEGS") lEtchLayer)
  7.     i = 0
  8.     foreach(s lShape
  9.         lFind = setof(c lClineSeg and(axlGeoPointInShape(xCoord(c->startEnd) s) axlGeoPointInShape(yCoord(c->startEnd) s) s->layer==c->layer))
  10.         when(lFind
  11.             axlDBAssignNet(s car(lFind)->net)
  12.             i++
  13.         )
  14.     )
  15.     axlMsgPut("Process %L Shapes." i)
  16. )
  17. )

  18. defun( EDA365_Get_Object (lFilter lLayer)
  19. prog((lVis lSel)
  20.     lSel = nil
  21.     lVis = axlVisibleGet()
  22.     axlVisibleDesign(nil)  
  23.     foreach(p lLayer
  24.         axlVisibleLayer(p t)
  25.     )
  26.     axlClearSelSet()
  27.     axlSetFindFilter( ?enabled cons("noall" lFilter) ?onButtons cons("noall" lFilter))
  28.     lSel = axlGetSelSet(axlAddSelectAll())
  29.     axlClearSelSet()
  30.     axlVisibleSet(lVis)
  31.     return(lSel)
  32. ))
  33. ;deargds
  34. ;www.eda365.com
复制代码



点评

已成功用上,正是所需要的,比我要求的、想像的更好,一次性整板就各自assign上了,我原先还以为只能一块一块shape去assign呢,还是老大考虑周到,太好用了。非常感谢。经常画单面板的人有福了。  详情 回复 发表于 2016-1-12 14:02
谢谢老大,我下下来试试,我没写过skill,先看看是咋用的。  详情 回复 发表于 2016-1-12 13:44
谁画出这天地 又画下我和你

116

主题

960

帖子

5983

积分

五级会员(50)

Rank: 5

积分
5983
推荐
发表于 2016-1-12 15:49 | 只看该作者
本帖最后由 penny190 于 2016-1-12 16:13 编辑

不好意思 ~~  想請問一下 ~~
是否將代碼另存成 ~~  EDA365_Assign_Shape_Net.il
再到 allegro.ilinit 中寫入load("EDA365_Assign_Shape_Net") 嗎?

好像不是這樣,因為我開啟ALLEGRO時,出現
E- *Error* load: can't access file - "EDA365_Assign_Shape_Net"

那要如何才能載入使用呢?

謝謝

点评

load("AsignShapeNet.il" "www.eda365.com")  详情 回复 发表于 2016-1-12 16:01

57

主题

1857

帖子

7919

积分

六级会员(60)

Rank: 6Rank: 6

积分
7919
推荐
发表于 2016-1-11 13:20 | 只看该作者
本帖最后由 XYX365 于 2016-1-11 13:34 编辑
JIMDENG 发表于 2016-1-11 13:12
这么智能,估计有难度啊,

應該是可以實現的
1.cline線和shape都必須先畫好
2.執行skill,將cline和shape合併成shape,再將cline的網路名稱指定給shape.
3.剛剛又想到另一方法,執行skill,將cline的網路名稱指定給shape,之後再刪除cline線
這樣應該就完成



点评

是的就是“執行skill,將cline的網路名稱指定給shape,之後再刪除cline線“ 请大侠帮写个,这个虽然不常用,但一旦用到,就是帮大忙了  详情 回复 发表于 2016-1-11 13:45

63

主题

967

帖子

3164

积分

五级会员(50)

Rank: 5

积分
3164
2#
 楼主| 发表于 2016-1-11 09:19 | 只看该作者
或是先手工用另一skill一次将整板cline先变成shape............

93

主题

645

帖子

3395

积分

五级会员(50)

Rank: 5

积分
3395
3#
发表于 2016-1-11 11:15 | 只看该作者
cline先变成shape的skill多的是,搜一下就有了

点评

我要的是自动给shape指派网络属性  详情 回复 发表于 2016-1-11 11:40
我要的不是这个,谢谢  详情 回复 发表于 2016-1-11 11:39

63

主题

967

帖子

3164

积分

五级会员(50)

Rank: 5

积分
3164
4#
 楼主| 发表于 2016-1-11 11:39 | 只看该作者
GSO_library 发表于 2016-1-11 11:15
cline先变成shape的skill多的是,搜一下就有了

我要的不是这个,谢谢

63

主题

967

帖子

3164

积分

五级会员(50)

Rank: 5

积分
3164
5#
 楼主| 发表于 2016-1-11 11:40 | 只看该作者
GSO_library 发表于 2016-1-11 11:15
cline先变成shape的skill多的是,搜一下就有了

我要的是自动给shape指派网络属性

57

主题

1181

帖子

1807

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1807
6#
发表于 2016-1-11 13:12 | 只看该作者
这么智能,估计有难度啊,

点评

應該是可以實現的 1.cline線和shape都必須先畫好 2.執行skill,將cline和shape合併成shape,再將cline的網路名稱指定給shape. 這樣應該就完成  详情 回复 发表于 2016-1-11 13:20

63

主题

967

帖子

3164

积分

五级会员(50)

Rank: 5

积分
3164
8#
 楼主| 发表于 2016-1-11 13:45 | 只看该作者
XYX365 发表于 2016-1-11 13:20
應該是可以實現的
1.cline線和shape都必須先畫好
2.執行skill,將cline和shape合併成shape,再將cline的 ...

是的就是“執行skill,將cline的網路名稱指定給shape,之後再刪除cline線“ 请大侠帮写个,这个虽然不常用,但一旦用到,就是帮大忙了

8

主题

468

帖子

2639

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2639
9#
发表于 2016-1-11 14:07 | 只看该作者
考虑了一下,先设置选择cline和shape,然后人工框选shape以及shape内部的cline,将cline的网络分配给shape,删掉cline。
这样做的坏处是容错率低,比如框选到无关shape或者cline就会误操作,不过这个样子(看起来)很容易实现。

117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

10#
发表于 2016-1-11 21:20 | 只看该作者
楼主把你的样板BRD传上来吧,方便大伙开发调试。

点评

刚才上传了,谢谢。  详情 回复 发表于 2016-1-11 22:12
谁画出这天地 又画下我和你

63

主题

967

帖子

3164

积分

五级会员(50)

Rank: 5

积分
3164
11#
 楼主| 发表于 2016-1-11 22:12 | 只看该作者
deargds 发表于 2016-1-11 21:20
楼主把你的样板BRD传上来吧,方便大伙开发调试。

刚才上传了,谢谢。

63

主题

967

帖子

3164

积分

五级会员(50)

Rank: 5

积分
3164
12#
 楼主| 发表于 2016-1-12 09:12 | 只看该作者


这是以前画的一块电源板,没网络属性,后期调试,查找只能靠大脑。
如果有人用allegro画电源板,那这样skill还是方便得多。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

63

主题

967

帖子

3164

积分

五级会员(50)

Rank: 5

积分
3164
13#
 楼主| 发表于 2016-1-12 09:20 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

8

主题

468

帖子

2639

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2639
14#
发表于 2016-1-12 09:24 | 只看该作者
有一点不是很明白,为什么要先画cline再画shape?不能直接画shape赋网络连接吗?

点评

这样你试试就知道了,很长的弯来弯去的,没有cline先走个样,很难圈正确,这不是主要的,主要还是赋网络名很困难,你试了就知道  详情 回复 发表于 2016-1-12 14:05

116

主题

960

帖子

5983

积分

五级会员(50)

Rank: 5

积分
5983
15#
发表于 2016-1-12 10:55 | 只看该作者
期待喔
感覺很實用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-10-24 01:53 , Processed in 0.068385 second(s), 37 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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