QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 steve_suich 于 2015-1-9 17:00 编辑
$ a( b2 G4 v4 y+ s) M# E/ o) o  O6 h2 f" ~, @
VB.NET代码
  s8 H3 E# I# D) M" C: v% I引用SW库 : SolidWorks.Interop.sldworks.dll,SolidWorks.Interop.swconst.dll
8 g0 ]' O' V  }, L  N( Z! W连接SW,打开文件  :
  1. Dim swapp As SldWorks
    1 {0 Q9 B0 S9 ~& F
  2. Dim swdoc As ModelDoc2
    5 u3 \5 w5 q, X" F# {
  3. swapp = GetObject(, "SldWorks.Application")
    ( x# ^; y- a7 k9 K) d. B- \
  4. With OpenFileDialog1
    / N4 a3 d( C& P( t3 }
  5.             .Filter = "SW文件(*.sldprt;*.sldasm)|*.sldprt;*.sldasm"
    2 }9 [. z, q; `$ G5 s' m5 n
  6.             .FilterIndex = 10 v6 M/ B, m8 e5 z9 k- \) R
  7.             .Title = "选择零件或者装配件(Ctrl可多选)"
    ; K1 x" O3 Z2 r8 T. x& P; }
  8.         End With4 y, [6 G0 p8 D$ p) M. n- T6 V
  9.         If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
    ; l6 @$ L( y+ T0 C# N
  10.             Dim stname As String
    # i, _/ X/ [$ X0 r
  11.             For Each stname In OpenFileDialog1.FileNames* L! W. W5 s" _. k9 f
  12.                 If Mid(stname, Len(stname) - 6) = ".SLDPRT" Then% f$ s( h& E6 [+ L
  13.                     swapp.OpenDoc(stname, 1)# z$ |  g$ z- L' \
  14.                 ElseIf Mid(stname, Len(stname) - 6) = ".SLDASM" Then) y4 @# ^8 D2 V
  15.                     swapp.OpenDoc(stname, 2)
    & L' A0 T5 ~; w$ G# B# B: l
  16.                 End If
    - n$ K0 y; Q7 Q, m+ F6 X
  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 编辑 $ r+ X. O, t- Q! P& k6 M, Q

0 B( `% v. _* t. u, V  _: {添加自定义属性:swdoc.AddCustomInfo2(“自定义属性名称”, swCustomInfoType_e.swCustomInfoText, "内容")
9 C+ z  {. ?. F+ l4 u7 W还可以这样:; h( {0 C( I; S1 S
swdoc.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
4 f$ R$ G/ C: m& w2 w只学了点皮毛。抛钻引玉!!

1 E& V! x" w6 M我想应该是这个吧。
0 H5 M9 h4 _$ `. p, }  qswmodel.SketchManager.InsertSketch(True)
 楼主| 发表于 2015-1-10 14:06:05 | 显示全部楼层 来自: 中国广东深圳
foxjinlin 发表于 2015-1-9 19:08 static/image/common/back.gif+ y% ]) @7 u: \! u, Q
退出并保留草图绘制,代码怎么写
" y. {( |, d  a. Q: u+ M# ~
我想应该是这个吧。
, L  ?$ u% z. Z9 J+ {swmodel.SketchManager.InsertSketch(True)
 楼主| 发表于 2015-1-10 14:07:11 | 显示全部楼层 来自: 中国广东深圳
ss988 发表于 2015-1-9 19:47 static/image/common/back.gif& M8 n  R9 P0 ~; q' ]
3d草图每两条线倒R角怎样选择直线?楼主会吗?
% R+ z% Y2 Q* T
这个不会,期待高手解答。
 楼主| 发表于 2015-1-10 14:27:26 | 显示全部楼层 来自: 中国广东深圳
Mid(stname, Len(stname) - 6) = ".SLDPRT"
( Q' C, S5 e0 v1 e! m' U; g改为 Path.GetExtension(stname) = ".SLDPRT" 更合理。
 楼主| 发表于 2015-1-14 08:57:07 | 显示全部楼层 来自: 中国广东深圳
单位设置:
  1. swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitSystem, 0, swUnitSystem_e.swUnitSystem_Custom)1 S/ D1 F% |6 O+ u
  2.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsLinear, 0, swLengthUnit_e.swMM)
    # n0 R* t* u+ p+ ]8 @. d0 P
  3.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsDualLinear, 0, swLengthUnit_e.swINCHES)3 v$ @* i6 m% f" M% I' R; H2 L
  4.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropMass, 0, swUnitsMassPropMass_e.swUnitsMassPropMass_Kilograms)
    3 T0 e  I$ |- @2 w
  5.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropLength, 0, swLengthUnit_e.swMM)6 D7 I8 B. a6 v* G
  6.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropVolume, 0, swUnitsMassPropVolume_e.swUnitsMassPropVolume_Millimeters3)
    ; Q/ n2 `/ J5 r2 U
  7.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsPowerUnits, 0, swUnitsPowerUnit_e.swUnitsPowerUnit_Watt)
    - d- Z" C$ |) I, o6 ~8 _' [
  8.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsForce, 0, swUnitsForce_e.swUnitsForce_Newtons). l( j. |% N# T6 M! U+ _( b7 n
  9.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropVolume, 0, swUnitsMassPropVolume_e.swUnitsMassPropVolume_Millimeters3)
    # b3 o3 m0 r  H% j6 C3 a" ]
  10.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsTimeUnits, 0, swUnitsTimeUnit_e.swUnitsTimeUnit_Second)" N- z5 \# {$ k6 E  \
复制代码
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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