QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 steve_suich 于 2015-1-9 17:00 编辑   ~0 M8 a  x& r
5 k0 S! ]  D1 H6 T0 ^5 ?
VB.NET代码
+ K4 L4 ~- M  l* G引用SW库 : SolidWorks.Interop.sldworks.dll,SolidWorks.Interop.swconst.dll
" ^# b% M, a; |# z* V. `连接SW,打开文件  :
  1. Dim swapp As SldWorks
    - Q* p% N, W7 ?
  2. Dim swdoc As ModelDoc2" Y( \/ K* q; J1 M+ f
  3. swapp = GetObject(, "SldWorks.Application")" A- w6 S1 f4 b5 u! i
  4. With OpenFileDialog1" K' r+ X6 e/ Y5 ?
  5.             .Filter = "SW文件(*.sldprt;*.sldasm)|*.sldprt;*.sldasm"& f- n3 \# c3 M. E
  6.             .FilterIndex = 1/ G: b* q, z. n/ N
  7.             .Title = "选择零件或者装配件(Ctrl可多选)"
    2 {4 s; Q! b, S2 {4 ?
  8.         End With
    # ]  N/ i7 l) B7 ~! t- Q
  9.         If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
    ' U/ X0 S  Q5 I! |/ G/ m% S
  10.             Dim stname As String& u% L" l  S- M
  11.             For Each stname In OpenFileDialog1.FileNames- g8 o  k0 l+ t# [' ?" M1 V  t
  12.                 If Mid(stname, Len(stname) - 6) = ".SLDPRT" Then
    % y" o0 U$ s1 ^( a
  13.                     swapp.OpenDoc(stname, 1)! k, z0 P; _2 I/ m
  14.                 ElseIf Mid(stname, Len(stname) - 6) = ".SLDASM" Then6 N* d' n* ?) r+ W
  15.                     swapp.OpenDoc(stname, 2)
    + f; H1 E! _& t& C+ v; K( S) s
  16.                 End If
    4 C3 j0 q4 S; o# }5 ]: m5 k8 l
  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 编辑 $ I$ `7 t3 m, n" d- d! Z

9 A- D8 w$ `! u( o4 Q7 D添加自定义属性:swdoc.AddCustomInfo2(“自定义属性名称”, swCustomInfoType_e.swCustomInfoText, "内容")1 [- _1 g. \, S, z+ H9 Z( h
还可以这样:! Q1 M2 Y& A" C. [, x5 N6 S) V# h
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
: x7 t  F6 J6 M* C7 [7 \只学了点皮毛。抛钻引玉!!
# {7 [0 I* t7 W- Q) y
我想应该是这个吧。. C! b4 S+ p6 D7 P1 x
swmodel.SketchManager.InsertSketch(True)
 楼主| 发表于 2015-1-10 14:06:05 | 显示全部楼层 来自: 中国广东深圳
foxjinlin 发表于 2015-1-9 19:08 static/image/common/back.gif7 V5 _8 O: f4 f9 C
退出并保留草图绘制,代码怎么写

# `6 C2 T$ }5 L1 D" U, K, o我想应该是这个吧。  Q, b* `$ b# c3 a' _) I/ [, Q3 x
swmodel.SketchManager.InsertSketch(True)
 楼主| 发表于 2015-1-10 14:07:11 | 显示全部楼层 来自: 中国广东深圳
ss988 发表于 2015-1-9 19:47 static/image/common/back.gif
; P, H1 j4 q: E" t+ Z& K3d草图每两条线倒R角怎样选择直线?楼主会吗?
5 h! K8 f6 w( f8 F# i( ?
这个不会,期待高手解答。
 楼主| 发表于 2015-1-10 14:27:26 | 显示全部楼层 来自: 中国广东深圳
Mid(stname, Len(stname) - 6) = ".SLDPRT"2 C7 a2 s2 B: T2 a$ B6 G/ t" J& q
改为 Path.GetExtension(stname) = ".SLDPRT" 更合理。
 楼主| 发表于 2015-1-14 08:57:07 | 显示全部楼层 来自: 中国广东深圳
单位设置:
  1. swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitSystem, 0, swUnitSystem_e.swUnitSystem_Custom)
    3 n; m9 F; N3 ?8 H
  2.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsLinear, 0, swLengthUnit_e.swMM)& {2 q' Z( {: [) d* y' p* \; E
  3.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsDualLinear, 0, swLengthUnit_e.swINCHES)( ]6 G& W- M$ g1 ?: I6 Z
  4.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropMass, 0, swUnitsMassPropMass_e.swUnitsMassPropMass_Kilograms); C) u# s  \$ ~" ~, `: I( A3 z4 a
  5.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropLength, 0, swLengthUnit_e.swMM)
    ) G" n- t  C, d: Z
  6.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropVolume, 0, swUnitsMassPropVolume_e.swUnitsMassPropVolume_Millimeters3)
    - D8 v, w0 `5 g" x) Q2 `, G
  7.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsPowerUnits, 0, swUnitsPowerUnit_e.swUnitsPowerUnit_Watt)& s- ~& C2 ]( M5 ]
  8.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsForce, 0, swUnitsForce_e.swUnitsForce_Newtons)
    3 H/ P9 a; M# P9 J
  9.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsMassPropVolume, 0, swUnitsMassPropVolume_e.swUnitsMassPropVolume_Millimeters3)0 Q. }+ \6 h# r
  10.         swdoc.Extension.SetUserPreferenceInteger(swUserPreferenceIntegerValue_e.swUnitsTimeUnits, 0, swUnitsTimeUnit_e.swUnitsTimeUnit_Second)
    ) u1 Y% ~& U/ j4 ^1 d: Q3 ^
复制代码
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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