![]() |
【转帖】[求助solidworks二次开发]关于insertmovecopybody2
[求助solidworks二次开发]关于insertmovecopybody2
www.dimcax.com 我用sldworks宏录制了一段macro,大致操作是插入一个零件,然后零件沿y轴移动一定距离,录完宏然后执行,发现可以插入零件,但却没有移动到指定位置,也就是说insertmovecopybody2所在的一行代码未执行,请那位大侠指点一下该怎么解决? + i, j: t- k5 g5 m+ s/ w + ~/ c( a2 \2 o非常感谢~ $ h7 m5 s' q% o" j- @1 j1 m. v, l( j% n$ |! t 附:% n5 n x# i: ], w' x- ` 1 x/ v9 ^7 \+ j5 w% w+ s代码6 g8 h7 b4 p. |7 b% h dim swapp as object ! e) ?; x" o" ~9 rdim part as object4 o9 u! [& c6 p6 i# e9 t5 \ dim boolstatus as boolean0 a# b5 g" t } j0 o- p dim feature as object# ~6 d% ]) e- n0 y6 f, p2 g; } ' w7 k. i: x" t4 u" asub main()2 u! {* j8 `7 _/ d! \% k ; {+ e8 g! y1 z& p; [ _ set swapp = application.sldworks* b2 y1 r3 a* q- x! {& s/ c 5 b1 b6 c- p- q4 z* bset part = swapp.activedoc% e- d0 }" o0 h9 c( u9 a set feature = part.insertpart("f:\my documents\冲头一.sldprt", false, false, false)+ c& m! e. _; h7 b7 d( [: q / o) x; c1 y/ t3 e0 l7 b part.featuremanager.insertmovecopybody20 , 0.01, 0, 0, 0, 0, 0, 0, 0, 0, false, 1% f- e3 ^) [ u. u $ |1 u1 ?* o- h e' x 0 c/ c+ y, n, _+ n! dend sub , 改成下面的试试,主要是运行insertmovecopybody2前要有个选择语句,这样insertmovecopybody2方法才知道要移动那一个对象。 7 s# u! v. z5 |dim swapp as object. ~/ q! j! l& l/ s# p dim part as object& u" t! s! r. ^- d9 @9 s dim boolstatus as boolean # z. h- j2 c( a3 u$ _# e1 v5 u% x) zdim feature as object9 l9 b3 _+ }( w5 z9 x0 y0 k% `7 y3 m 8 g9 a8 f7 f) n' l: q m0 ~9 e sub main() ) o* n4 s5 q$ _ 5 j4 ~; @' n p6 @" m+ u* c' g; dset swapp = application.sldworks4 e, y+ i- x2 d/ v1 i0 b3 u# j " p0 v4 m) {$ s, h$ c set part = swapp.activedoc 6 r" r5 k& t5 ~set feature = part.insertpart("f:\my documents\冲头一.sldprt", false, false, true)0 g- q/ l- ?! b boolstatus = part.extension.selectbyid("<冲头一>-<拉伸1>", "solidbody", 0, 0, 0, true, 1, nothing) 1 f% a6 g! {( e+ j) }' c }' ]3 j: n, c& p part.featuremanager.insertmovecopybody20 , 0.01, 0, 0, 0, 0, 0, 0, 0, 0, false, 01 k* e- y5 h- ^# s, ]9 d0 e ; w# \' n2 q" a' _0 s! w, s 7 a6 q! w" _" ^* |9 ?7 o+ a9 _end sub 问题解决啦,谢谢~ 4 m8 f7 {2 t: ^% `确实是因为没选中实体,应该在插入零件以后,选择“移动/复制实体”,而不是修改插入实体的特征(这个在手工操作的时候是可以实现移动和复制的,但是录制宏来运行是不可以的)。 |
| 所有的时间均为北京时间。 现在的时间是 03:20 PM. |