|
|
发表于 2016-11-3 11:09:03
|
显示全部楼层
来自: 中国广东佛山
本帖最后由 linuxbyte 于 2016-11-3 13:33 编辑 - N4 R" C& Y0 b' ~3 d8 e
! v& }" i2 ~- U+ v* Y6 U/ l' m3 z m) n
SW每个版本的API都有一个独立的ProgID。如下:6 P& e% w2 }5 N: C
---------------' v; H" E. }+ o& j; w6 E4 S& T( i
2011:SldWorks.Application.19
$ F; j2 l! X( U$ A$ A( A! Q# |2012:SldWorks.Application.20, g5 }- {8 K; u+ o* F/ z
2013:SldWorks.Application.21
4 i$ p& ^3 L! X, h6 C0 S: }& s2014:SldWorks.Application.22/ a" J' V+ S9 j
2015:SldWorks.Application.23
) B- S, S" Q: ~, m2016:SldWorks.Application.24* w' S: n! \ @
2017:SldWorks.Application.25
! D& o7 o6 o n) C" f; a---------------
; i% C, R' n2 g+ {( W. a# i* M. t2 b: R. N
切入点在于在程序开始初期通过CreateObject/GetObject函数,根据ProgID建立自己想要的SWAPP。 R* L! Q- o: L/ U3 `0 \
如下仅作参考(VB):
; o+ A' ^. T( H5 Z/ w l9 j, S5 u% P+ c7 O# b: ]( V
Set SWAPP = CreateObject("SldWorks.Application.21") //新建一个SW2013 SWAPP x$ d& K" y4 ], V
Set SWAPP = GetObject(, "SldWorks.Application.21") //直接取用已经打开的SW2013 SWAPP5 u4 A' U! y9 _6 y- p
8 m- P7 j0 Y/ R! o
( {0 F3 c7 K, }8 C9 H# b: G2 `' {* m/ k% S7 Z; ~
& U: c# D4 L* L- k. k; N6 ^: E |
|