找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[求助]请问怎么获取到零件的BodyCenter?

[复制链接]

102

主题

377

帖子

1158

积分

四级会员(40)

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

积分
1158
跳转到指定楼层
1#
发表于 2015-10-22 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
使用Move指令的时候可以选择Sym Origin、Body Center等
在skill中怎么获取到symbol的BodyCenter呢?
center = symdbid->xy   ;这种是获取Sym Origin
center = BoxCenter(symdbid->bBox)   ;BoxCenter是我自己写的,用来获取bBox的中心
这两种都不对,有什么方法可以获取到Body Center么???
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

8

主题

468

帖子

2639

积分

四级会员(40)

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

积分
2639
推荐
发表于 2015-10-22 16:13 | 只看该作者
axlDBAltOrigin

点评

好吧。。研究出来了。。。 sym = car(axlSelectByName("REFDES" curValue)) center = axlDBAltOrigin('center sym) axlShell(sprintf(nil "zoom center %n %n" car(XY) cadr(XY))) 第一句和第三句相互作用下,生  详情 回复 发表于 2015-10-22 17:00
非常感谢 另外一个问题,为什么使用 center = axlDBAltOrigin('center sym) axlShell(sprintf(nil "zoom center %n %n" car(center) cadr(center))) 之后,sym不能高亮了?? 有什么方法能让屏幕中心移动到零件  详情 回复 发表于 2015-10-22 16:18

102

主题

377

帖子

1158

积分

四级会员(40)

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

积分
1158
3#
 楼主| 发表于 2015-10-22 16:18 | 只看该作者
本帖最后由 361553894 于 2015-10-22 16:41 编辑


非常感谢
另外一个问题,为什么使用
center = axlDBAltOrigin('center sym)
axlShell(sprintf(nil "zoom center %n %n" car(center) cadr(center)))
之后,sym不能高亮了??
是不是因为使用axlShell(sprintf(nil "zoom center %n %n" car(center) cadr(center)))
这个指令之后,dbid被removed了??
实在想不通为什么把
axlZoomToDbid(sym nil)
改成
center = axlDBAltOrigin('center sym)
axlShell(sprintf(nil "zoom center %n %n" car(center) cadr(center)))
后就无法高亮零件了,这个情况还只针对有refdes的零件。。。
有什么方法能让屏幕中心移动到零件中心并且不会取消高亮么?


102

主题

377

帖子

1158

积分

四级会员(40)

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

积分
1158
4#
 楼主| 发表于 2015-10-22 17:00 | 只看该作者

好吧。。研究出来了。。。
sym = car(axlSelectByName("REFDES" curValue))
center = axlDBAltOrigin('center sym)
axlShell(sprintf(nil "zoom center %n %n" car(XY) cadr(XY)))
第一句和第三句相互作用下,生成的symdbid由于axlShell被removed,所以之前高亮的sym被取消高亮,
并且axlHighlightObject(sym)由于dbid被removed,所以不能继续高亮

点评

你有试过axlZoomToDbid吗?我之前有个skill也需要把窗口切到指定的object,但是我没有用这个函数而是用了更麻烦的方法,而我已经忘了当时为什么要这么处理了。  详情 回复 发表于 2015-10-22 17:09

8

主题

468

帖子

2639

积分

四级会员(40)

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

积分
2639
5#
发表于 2015-10-22 17:09 | 只看该作者
361553894 发表于 2015-10-22 17:00
好吧。。研究出来了。。。
sym = car(axlSelectByName("REFDES" curValue))
center = axlDBAltOrigin(' ...

你有试过axlZoomToDbid吗?我之前有个skill也需要把窗口切到指定的object,但是我没有用这个函数而是用了更麻烦的方法,而我已经忘了当时为什么要这么处理了。

点评

axlZoomToDBid我试过,它会包括零件所有的内容,所以如果文字离零件很远的话,放大倍数会很小,而且中心偏离比较严重  详情 回复 发表于 2015-10-22 17:34

102

主题

377

帖子

1158

积分

四级会员(40)

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

积分
1158
6#
 楼主| 发表于 2015-10-22 17:34 | 只看该作者
chrysalis 发表于 2015-10-22 17:09
你有试过axlZoomToDbid吗?我之前有个skill也需要把窗口切到指定的object,但是我没有用这个函数而是用了 ...

axlZoomToDBid我试过,它会包括零件所有的内容,所以如果文字离零件很远的话,放大倍数会很小,而且中心偏离比较严重

6

主题

224

帖子

584

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
584
7#
发表于 2016-1-5 13:39 | 只看该作者
学习了~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-27 00:32 , Processed in 0.549657 second(s), 39 queries , Gzip On.

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

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

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