QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 steve_suich 于 2015-1-9 17:00 编辑 * E2 _2 G  h/ J7 v6 Z4 a6 d1 t
8 f( t4 ?- V2 S4 J& \) ~
VB.NET代码
9 y' k# g$ n! @( [  E引用SW库 : SolidWorks.Interop.sldworks.dll,SolidWorks.Interop.swconst.dll
3 @! d* _7 X& K1 {连接SW,打开文件  :
  1. Dim swapp As SldWorks
    & \6 B$ Y! t- B3 D
  2. Dim swdoc As ModelDoc2) p8 \. f# B1 ^5 D% N
  3. swapp = GetObject(, "SldWorks.Application")
    - ~3 g* s% x& v% ]
  4. With OpenFileDialog1
    4 }# R+ L( f& X, }9 M) U  a
  5.             .Filter = "SW文件(*.sldprt;*.sldasm)|*.sldprt;*.sldasm"* Q4 k% Q) ?6 R4 h$ @" w6 t3 x9 O
  6.             .FilterIndex = 1- n1 m% `8 u1 A
  7.             .Title = "选择零件或者装配件(Ctrl可多选)"5 e/ _) ~% v3 `7 u& o+ W: m
  8.         End With
    * ]. K$ w! L% }% G0 I. T: }8 u
  9.         If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then# P" A7 r; K# D0 |5 i0 ~4 G6 `
  10.             Dim stname As String
    ; w  n6 v" \& i8 H# [
  11.             For Each stname In OpenFileDialog1.FileNames# X/ v% ]# \+ j8 e$ W* h( h
  12.                 If Mid(stname, Len(stname) - 6) = ".SLDPRT" Then
    : P8 H9 x, u6 T
  13.                     swapp.OpenDoc(stname, 1)4 T: @, O' R( z1 C9 c( M
  14.                 ElseIf Mid(stname, Len(stname) - 6) = ".SLDASM" Then$ G6 }, l: u- l* N3 ?* Z- P
  15.                     swapp.OpenDoc(stname, 2)6 l7 [' ~7 u! _2 h% Q
  16.                 End If8 T$ t: t% O+ V4 v% G& x9 \  N
  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 编辑
- ]; C* P( C* j7 i6 G. B
; l- Z; ?* J- w3 N% H8 q添加自定义属性:swdoc.AddCustomInfo2(“自定义属性名称”, swCustomInfoType_e.swCustomInfoText, "内容")
; ~; I6 G& `: h  ~" v3 N4 V$ d1 V还可以这样:+ X; f. f/ G/ d( [
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.gif2 W& j0 n/ j, x. q7 Y
只学了点皮毛。抛钻引玉!!

3 D/ l2 Y" r! U  A& E我想应该是这个吧。& o# e0 F* \- b4 O/ A
swmodel.SketchManager.InsertSketch(True)
 楼主| 发表于 2015-1-10 14:06:05 | 显示全部楼层 来自: 中国广东深圳
foxjinlin 发表于 2015-1-9 19:08 static/image/common/back.gif
* `' i3 m0 l9 m, w. c* @退出并保留草图绘制,代码怎么写

/ C5 l/ g$ {# H( `4 @/ @我想应该是这个吧。6 `2 h+ s: r% q  r- T& j9 ?
swmodel.SketchManager.InsertSketch(True)
 楼主| 发表于 2015-1-10 14:07:11 | 显示全部楼层 来自: 中国广东深圳
ss988 发表于 2015-1-9 19:47 static/image/common/back.gif
; n9 @4 |$ O6 G+ ]6 I: X# R3d草图每两条线倒R角怎样选择直线?楼主会吗?

+ q' u: [/ m% ~/ B4 s& q6 B* C这个不会,期待高手解答。
 楼主| 发表于 2015-1-10 14:27:26 | 显示全部楼层 来自: 中国广东深圳
Mid(stname, Len(stname) - 6) = ".SLDPRT"
# g3 G; b) M& K+ p7 n5 V5 T1 E改为 Path.GetExtension(stname) = ".SLDPRT" 更合理。
 楼主| 发表于 2015-1-14 08:57:07 | 显示全部楼层 来自: 中国广东深圳
单位设置:
  1. swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitSystem, 0, swUnitSystem_e.swUnitSystem_Custom)
    % |8 f+ t7 w) ^( W
  2.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsLinear, 0, swLengthUnit_e.swMM)" u! Q) P/ e; R: F' S# Z
  3.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsDualLinear, 0, swLengthUnit_e.swINCHES)
      I8 x' I0 u, u; z
  4.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropMass, 0, swUnitsMassPropMass_e.swUnitsMassPropMass_Kilograms)
    # q" J' A* n; H& O
  5.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropLength, 0, swLengthUnit_e.swMM)
    " V: G1 w* O. X5 q" _
  6.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropVolume, 0, swUnitsMassPropVolume_e.swUnitsMassPropVolume_Millimeters3)
    + a4 ?% P2 E# g- V" {' f
  7.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsPowerUnits, 0, swUnitsPowerUnit_e.swUnitsPowerUnit_Watt)
    ' i: y. ]& ~0 A  T
  8.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsForce, 0, swUnitsForce_e.swUnitsForce_Newtons)  b( G. t# U5 s7 Y6 x
  9.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropVolume, 0, swUnitsMassPropVolume_e.swUnitsMassPropVolume_Millimeters3); I% \# P% m; s% x$ H. Q
  10.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsTimeUnits, 0, swUnitsTimeUnit_e.swUnitsTimeUnit_Second). |+ b/ i: V+ X! [$ E% w& d
复制代码
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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