|
|
发表于 2016-11-3 11:09:03
|
显示全部楼层
来自: 中国广东佛山
本帖最后由 linuxbyte 于 2016-11-3 13:33 编辑 ( v$ i0 z) w/ t, K1 Z. i3 V
; I2 P6 M. i) V* K1 _) f. wSW每个版本的API都有一个独立的ProgID。如下:
: G% x/ F, |3 e/ T% }---------------) \$ K9 N6 ^. u
2011:SldWorks.Application.19
4 ]) |8 H3 X) r' R7 ?2012:SldWorks.Application.20* |# J0 M y& t0 a' p
2013:SldWorks.Application.216 Q$ K+ Y% F7 B. _, U r9 ~
2014:SldWorks.Application.22
/ C! X1 d% g8 T a2015:SldWorks.Application.23
$ x2 I1 |& M% D, \0 M2016:SldWorks.Application.24
9 B3 M) h7 U* N# I9 B' W6 t+ ]2017:SldWorks.Application.254 n! T6 S) I- M
---------------6 \. c o U4 A( j1 H
- [6 q! q8 o8 I; @
切入点在于在程序开始初期通过CreateObject/GetObject函数,根据ProgID建立自己想要的SWAPP。2 ^* w; O5 {2 V
如下仅作参考(VB):
c3 m' j. N4 B; C& Y1 ?1 }8 W7 N" \
Set SWAPP = CreateObject("SldWorks.Application.21") //新建一个SW2013 SWAPP$ y# U1 N* w. D( A) P" Q9 @! V+ B
Set SWAPP = GetObject(, "SldWorks.Application.21") //直接取用已经打开的SW2013 SWAPP
+ w$ |' v3 P8 |8 V. w- w. b% c7 T- Y4 L, l" R
# g4 U* a+ j7 `+ g
1 K7 i! U) v! x( ]3 g
: b& V2 h& O& {! Q) ^3 a! _) w
|
|