chuchiwolong 发表于 2014-7-30 09:40:58

allegro改变shape类型(Change Shape Type)时能不能设置默认为To Static Solid?

如题,allegro改变shape类型(Change Shape Type)时能不能设置默认为To Static Solid?如果软件不能设置默认参数,请问怎么用Skill实现?

vivienluo 发表于 2014-7-30 11:46:51

let((selShape s)
axlClearSelSet()
axlSetFindFilter( ?enabled list("noall" "shapes") ?onButtons list("noall" "shapes"))
axlSelect()
selShape = axlGetSelSet()
when(selShape
foreach(s selShape
        axlShapeChangeDynamicType(s t t);Change to dynamic shape
        ;axlShapeChangeDynamicType(s nil nil);Change to static shape
);end foreach
)
);end let

chuchiwolong 发表于 2014-7-31 12:00:36

vivienluo 发表于 2014-7-30 11:46


你好,好像有点问题。我是在set telskill窗口里一句句输入的如下语句,最终的输出结果是nil,转换不成功,能指教下是什么原因吗?
Skill > axlClearSelSet()
nil
Skill > axlSetFindFilter( ?enabled list("noall" "shapes") ?onButtons list("noall" "shapes"))
t
Skill > selShape = axlGetSelSet(axlSelect(?prompt "Select Shape to convert to Static."))
Select Shape to convert to Static.
last pick:21.5400-0.2700
(dbid:243987968)
Skill > axlShapeChangeDynamicType(selShape nil t)
nil

chuchiwolong 发表于 2014-7-31 14:51:23

vivienluo 发表于 2014-7-30 11:46


您好,运行到这句时,提示如下错误:
axlShapeChangeDynamicType(shape nil t)

E- Shape is generated from a dynamic shape; can't change its type.
静态铜转为动态铜是可以的,为什么动态铜不能转换为静态铜呢?
求指教,谢谢!

vivienluo 发表于 2014-7-31 16:53:06

chuchiwolong 发表于 2014-7-31 14:51
您好,运行到这句时,提示如下错误:
axlShapeChangeDynamicType(shape nil t)



铜皮在哪一层。还有axlShapeChangeDynamicType不能用list传输DBID

chuchiwolong 发表于 2014-7-31 16:58:33

vivienluo 发表于 2014-7-31 16:53
铜皮在哪一层。还有axlShapeChangeDynamicType不能用list传输DBID

铜皮在top层和次表层。
我把代码改成了这样,结果只能由静态铜转换为动态铜,反过来提示错误:
axlClearSelSet()
axlSetFindFilter( ?enabled list("noall" "shapes") ?onButtons list("noall" "shapes"))
selShape = axlGetSelSet(axlSelect(?prompt "Select Shape to convert to Static."))
shape = car(selShape)
ret = axlShapeChangeDynamicType(shape t t)

如果想由动态转静态,最后一句这么写的:
ret = axlShapeChangeDynamicType(shape nil t)
提示错误信息为:
E- Shape is generated from a dynamic shape; can't change its type.

vivienluo 发表于 2014-7-31 17:07:21

chuchiwolong 发表于 2014-7-31 16:58
铜皮在top层和次表层。
我把代码改成了这样,结果只能由静态铜转换为动态铜,反过来提示错误:
axlClea ...

铜皮是不是本身就是动态的。或者该铜皮只能是动态铜皮。你手动在走线铺一块静态铜试试。看还会不会报错。

chuchiwolong 发表于 2014-7-31 19:11:52

vivienluo 发表于 2014-7-31 17:07
铜皮是不是本身就是动态的。或者该铜皮只能是动态铜皮。你手动在走线铺一块静态铜试试。看还会不会报错。

问题依旧,还是报同样的错误。

chuchiwolong 发表于 2014-7-31 19:13:08

vivienluo 发表于 2014-7-31 17:07
铜皮是不是本身就是动态的。或者该铜皮只能是动态铜皮。你手动在走线铺一块静态铜试试。看还会不会报错。

同一个地方,用Shape菜单的Change Shape type命令可以将动态铜转换为静态铜,但用这个代码就不行。

David 发表于 2015-6-11 00:06:59

录一个脚本就可以了,录得时候选择为Static Solid的shape就可以。
页: [1] 2
查看完整版本: allegro改变shape类型(Change Shape Type)时能不能设置默认为To Static Solid?