|
|
发表于 2016-11-3 11:09:03
|
显示全部楼层
来自: 中国广东佛山
本帖最后由 linuxbyte 于 2016-11-3 13:33 编辑 8 C3 _& [; M8 D! E0 h' X1 w
M4 y9 j: I3 A5 h# n8 b6 t7 { b
SW每个版本的API都有一个独立的ProgID。如下:
' M. x9 ]* C' _* _8 H5 Y---------------1 @) x* w1 f1 E; n
2011:SldWorks.Application.19
! {$ R1 ~0 B0 C t5 a' W$ n8 m2012:SldWorks.Application.20
$ ^/ Q* ?# [. Z- D/ c2 O0 q2013:SldWorks.Application.21
2 t, G- o: @; N) q- x; [7 o" ^2014:SldWorks.Application.227 e; B9 u' p, `- {8 |% R
2015:SldWorks.Application.234 i$ J/ x: k# U$ P4 }
2016:SldWorks.Application.24. m8 k8 c; q5 X: x
2017:SldWorks.Application.25; P8 r Z$ h% e! q, I
---------------. y9 _' l# x: {8 H
% _& J Z; {' @3 |* g3 T- O
切入点在于在程序开始初期通过CreateObject/GetObject函数,根据ProgID建立自己想要的SWAPP。6 b4 M) X+ G; w5 T+ u
如下仅作参考(VB):
+ f* Q: U" K7 |7 G$ s. I: c9 M1 e/ m" d' B: U0 N
Set SWAPP = CreateObject("SldWorks.Application.21") //新建一个SW2013 SWAPP
) M, S$ ~; f/ k4 ZSet SWAPP = GetObject(, "SldWorks.Application.21") //直接取用已经打开的SW2013 SWAPP
; Y6 f4 {! V, B4 e- J* V+ N& d6 a% h9 `5 `8 Z! r; ?
+ e; L/ |# O# [/ A' s p. \
- U" E2 m, o' u: s! Y4 |
3 i A1 Q0 |9 ~0 e0 c% H
|
|