QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3587|回复: 9
收起左侧

[分享] 关于SW二次开发常用代码

[复制链接]
发表于 2015-1-9 16:54:19 | 显示全部楼层 |阅读模式 来自: 中国广东深圳

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 steve_suich 于 2015-1-9 17:00 编辑 / Z. v- I, C5 w3 i: f

8 M- g7 _7 M  w  PVB.NET代码: [2 W/ b3 q1 g4 z) _2 _% y( L
引用SW库 : SolidWorks.Interop.sldworks.dll,SolidWorks.Interop.swconst.dll
6 |+ c$ R$ n* M7 c# P连接SW,打开文件  :
  1. Dim swapp As SldWorks/ |7 R: r. Q& c; f  \4 ~' B
  2. Dim swdoc As ModelDoc2
    $ S( D' }: \# S( V8 ^, J/ i9 q/ F
  3. swapp = GetObject(, "SldWorks.Application")
    6 }3 W7 s, C7 l  b0 L; A7 c
  4. With OpenFileDialog1. I0 Z6 P, u/ j4 b  s! g/ {4 I! k
  5.             .Filter = "SW文件(*.sldprt;*.sldasm)|*.sldprt;*.sldasm"
    - S( F7 M; h. n$ f! X4 j: e1 _- v
  6.             .FilterIndex = 13 _; R# }5 N& n8 o
  7.             .Title = "选择零件或者装配件(Ctrl可多选)"" i( s& E5 m! A% k0 l
  8.         End With4 w$ }4 D1 X7 `! L  h5 d( F
  9.         If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
    * I' h6 ?7 D$ t1 g! u9 l, Q$ o
  10.             Dim stname As String$ q( X' B  B5 M' G  V' v
  11.             For Each stname In OpenFileDialog1.FileNames% g6 D/ Z. _- e, d  V
  12.                 If Mid(stname, Len(stname) - 6) = ".SLDPRT" Then) ^+ e9 s/ ?' b
  13.                     swapp.OpenDoc(stname, 1)
    % Z( W% y6 ]; a6 s/ l7 i
  14.                 ElseIf Mid(stname, Len(stname) - 6) = ".SLDASM" Then
    . G- m- K& T3 n+ [
  15.                     swapp.OpenDoc(stname, 2)" |. ]5 n, M- F; A
  16.                 End If8 R8 l: i9 T+ l" F0 F  j/ O/ u( G: c
  17.                 swdoc = swapp.ActiveDoc
复制代码

评分

参与人数 1三维币 +10 收起 理由
阿帕奇 + 10

查看全部评分

 楼主| 发表于 2015-1-9 17:01:45 | 显示全部楼层 来自: 中国广东深圳
只学了点皮毛。抛钻引玉!!
 楼主| 发表于 2015-1-9 17:03:51 | 显示全部楼层 来自: 中国广东深圳
本帖最后由 steve_suich 于 2015-1-9 17:05 编辑
) Y- M. ?$ x6 k. W3 W. v
$ V  ]3 e; W; N( T0 V$ S! G: E; j添加自定义属性:swdoc.AddCustomInfo2(“自定义属性名称”, swCustomInfoType_e.swCustomInfoText, "内容")1 {" r6 R+ X0 H; w8 H$ O
还可以这样:
& y: v: |: u& i. [9 xswdoc.AddCustomInfo2(“Weight”, swCustomInfoType_e.swCustomInfoText,  """" & "SW-Mass@" & swdoc.GetTitle & """")
发表于 2015-1-9 19:08:16 | 显示全部楼层 来自: 中国浙江宁波
退出并保留草图绘制,代码怎么写
发表于 2015-1-9 19:47:02 | 显示全部楼层 来自: 中国安徽芜湖
3d草图每两条线倒R角怎样选择直线?楼主会吗?
 楼主| 发表于 2015-1-10 14:05:17 | 显示全部楼层 来自: 中国广东深圳
steve_suich 发表于 2015-1-9 17:01 static/image/common/back.gif  r1 k3 \' H& @: j
只学了点皮毛。抛钻引玉!!

9 o! l- L# H! }) G" E我想应该是这个吧。9 ]: b7 ^. |( T/ x8 j0 F: K4 N
swmodel.SketchManager.InsertSketch(True)
 楼主| 发表于 2015-1-10 14:06:05 | 显示全部楼层 来自: 中国广东深圳
foxjinlin 发表于 2015-1-9 19:08 static/image/common/back.gif
0 H- u1 U2 u- m8 O. v$ u" `3 ~退出并保留草图绘制,代码怎么写

. C8 ?6 e1 e) s- h我想应该是这个吧。
- W7 c& f9 W5 D4 m% Jswmodel.SketchManager.InsertSketch(True)
 楼主| 发表于 2015-1-10 14:07:11 | 显示全部楼层 来自: 中国广东深圳
ss988 发表于 2015-1-9 19:47 static/image/common/back.gif
; L/ I+ ~" z% z6 M$ s" g3d草图每两条线倒R角怎样选择直线?楼主会吗?
* I6 k4 t' i2 E
这个不会,期待高手解答。
 楼主| 发表于 2015-1-10 14:27:26 | 显示全部楼层 来自: 中国广东深圳
Mid(stname, Len(stname) - 6) = ".SLDPRT"
7 \3 g% B, j8 \改为 Path.GetExtension(stname) = ".SLDPRT" 更合理。
 楼主| 发表于 2015-1-14 08:57:07 | 显示全部楼层 来自: 中国广东深圳
单位设置:
  1. swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitSystem, 0, swUnitSystem_e.swUnitSystem_Custom)
    $ A2 _9 ~) C1 C0 a; U& F7 f
  2.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsLinear, 0, swLengthUnit_e.swMM)
    ' L! R" i' C. U# G
  3.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsDualLinear, 0, swLengthUnit_e.swINCHES)4 E2 Y  Y$ q, [; \# O
  4.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropMass, 0, swUnitsMassPropMass_e.swUnitsMassPropMass_Kilograms)
    * e! }4 c* _# w+ p9 w+ {
  5.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropLength, 0, swLengthUnit_e.swMM)% D7 q1 k0 b9 {! T
  6.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropVolume, 0, swUnitsMassPropVolume_e.swUnitsMassPropVolume_Millimeters3)6 B2 c7 e( ]7 B5 k" q% u" K
  7.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsPowerUnits, 0, swUnitsPowerUnit_e.swUnitsPowerUnit_Watt)$ Y0 X$ u4 t( N/ Z
  8.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsForce, 0, swUnitsForce_e.swUnitsForce_Newtons)
    ) Z5 ~7 ?+ T( s# j
  9.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropVolume, 0, swUnitsMassPropVolume_e.swUnitsMassPropVolume_Millimeters3)
    $ p5 }) B" T; I  C! U' u: N5 j
  10.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsTimeUnits, 0, swUnitsTimeUnit_e.swUnitsTimeUnit_Second)+ i, t# ?9 w% z- v' b1 K% M
复制代码
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表