|
|
发表于 2016-11-3 11:09:03
|
显示全部楼层
来自: 中国广东佛山
本帖最后由 linuxbyte 于 2016-11-3 13:33 编辑 + f2 G; t& q9 c0 P) Y% h8 i# n
' |: d, A6 g# S5 Z* VSW每个版本的API都有一个独立的ProgID。如下:& L+ r1 \/ e( Y5 L% u
---------------: }$ K3 H$ }% R0 W# c( T) Z
2011:SldWorks.Application.19
) W; L5 @9 \3 Z& t7 N$ Y2012:SldWorks.Application.20( N5 `# I4 w! \7 |8 A6 r3 E
2013:SldWorks.Application.212 @* {) U. \% Y* p- Z+ r# t
2014:SldWorks.Application.22; i: j8 ~4 v/ D- X
2015:SldWorks.Application.23* O7 _" V' F3 j3 T9 D
2016:SldWorks.Application.24/ _5 c; D0 s( Q% b; ^9 Q, `7 E% l# q
2017:SldWorks.Application.25
& R/ v8 M: @3 ~, ?---------------
# N6 a1 P% F! F7 `5 t* w6 U* S D1 {, y& H3 A6 ]' b
切入点在于在程序开始初期通过CreateObject/GetObject函数,根据ProgID建立自己想要的SWAPP。: s8 v; u$ B! k3 @' u
如下仅作参考(VB):
0 q/ w: L2 ^, A' N" \: d" t9 p# c
' J# b" Y2 r3 z8 \Set SWAPP = CreateObject("SldWorks.Application.21") //新建一个SW2013 SWAPP( g6 o @. ]3 |5 N# n* g" C0 H
Set SWAPP = GetObject(, "SldWorks.Application.21") //直接取用已经打开的SW2013 SWAPP
+ V( F* e o9 r3 Y6 w% O! }+ O" h- T' g0 L$ ^
& E" T* L6 d' V I+ P. Q
% x. w6 L* P# n# |& k9 j( y, l) T& O8 N$ }
|
|