Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10412|回复: 7

[已解决] 请问怎么用skill实现compose shape的功能?

[复制链接]
发表于 2014-7-31 16:54:22 | 显示全部楼层 |阅读模式
请问怎么用skill实现compose shape的功能?说下大致的思路和主要函数就行,如果有代码那就更好啦~~~
发表于 2014-7-31 21:14:32 | 显示全部楼层
先使用axlPolyFromDB获取需要合并的shape的外形边框。
然后使用axlPolyOperation函数中的‘AND参数合并边框。
最后通过axlDBCreateShape使用合并的边框创建shape。之后删除原始的shape。。。
 楼主| 发表于 2014-8-1 10:49:59 | 显示全部楼层
vivienluo 发表于 2014-7-31 21:14
先使用axlPolyFromDB获取需要合并的shape的外形边框。
然后使用axlPolyOperation函数中的‘AND参数合并边 ...

axlPolyOperation得到的边框的类型为poly,axlDBCreateShape的输入参数是o_polygon类型的,请问怎么转换?我的代码这么写的,最后一行运行时提示了错误,说数据类型不对。
selShape = axlGetSelSet(axlSelect(?prompt "Select Shape"))
b1=axlPolyFromDB(car(selShape))
b2=axlPolyFromDB(cadr(selShape))
b3=axlPolyOperation(b1 b2 'AND)
(poly:130154544)

b4=axlDBCreateShape(b3)
W- *WARNING* (axlDBCreateOpenShape): Object should be either an r_path or an o_polygon - (poly:130154544)
nil
 楼主| 发表于 2014-8-1 10:53:14 | 显示全部楼层
chuchiwolong 发表于 2014-8-1 10:49
axlPolyOperation得到的边框的类型为poly,axlDBCreateShape的输入参数是o_polygon类型的,请问怎么转换 ...

哦,问题解决了,最后一行改成这样就行了:
b4=axlDBCreateShape(car(b3))
 楼主| 发表于 2014-8-1 11:04:48 | 显示全部楼层
vivienluo 发表于 2014-7-31 21:14
先使用axlPolyFromDB获取需要合并的shape的外形边框。
然后使用axlPolyOperation函数中的‘AND参数合并边 ...

这个方法可以实现,我找到了另一个函数,跟系统的Merge Shape功能一样:
axlShapeMerge
发表于 2014-8-1 11:13:27 | 显示全部楼层
chuchiwolong 发表于 2014-8-1 11:04
这个方法可以实现,我找到了另一个函数,跟系统的Merge Shape功能一样:
axlShapeMerge

还没发现到这个函数。不错哈
发表于 2016-9-2 08:43:54 | 显示全部楼层
chuchiwolong 发表于 2014-8-1 10:49
axlPolyOperation得到的边框的类型为poly,axlDBCreateShape的输入参数是o_polygon类型的,请问怎么转换 ...

照你的敲了一下也没成功,一直处于select shape的循环中,这个是怎么识别选择完成的呢?
发表于 2016-10-26 09:07:53 | 显示全部楼层
感觉好有用,可是我还不会呀
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-19 15:14 , Processed in 0.131020 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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