SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8171|回复: 25
打印 上一主题 下一主题

solidworks零件批量导出CAD展开图宏文件

  [复制链接]

4

主题

33

帖子

27

金币

天使

Rank: 2Rank: 2

积分
83
QQ
跳转到指定楼层
楼主
发表于 2020-2-24 16:30:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
求可以直接通过零件转为CAD的展开图宏,
不需要转为工程图
最好可以标识厚度
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

5

主题

45

帖子

30

金币

天使

Rank: 2Rank: 2

积分
102
QQ
沙发
发表于 2020-2-26 10:54:15 | 只看该作者
可以,判断厚度,最好是钣金零件,
Value = Part.ExportFlatPatternView(MyFileNameDXF, swExportFlatPatternOption_None) '保留折弯线
value = Part.ExportFlatPatternView(FilePath, swExportFlatPatternOption_RemoveBends)'去掉折弯线
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

4

主题

43

帖子

24

金币

天使

Rank: 2Rank: 2

积分
94
QQ
板凳
发表于 2020-2-26 10:54:15 | 只看该作者

   经典图书
可以,判断厚度,最好是钣金零件,
Value = Part.ExportFlatPatternView(MyFileNameDXF, swExportFlatPatternOption_None) '保留折弯线
value = Part.ExportFlatPatternView(FilePath, swExportFlatPatternOption_RemoveBends)'去掉折弯线
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

72

帖子

18

金币

天使

Rank: 2Rank: 2

积分
118
QQ
地板
发表于 2020-2-26 17:05:21 | 只看该作者
有转cad代码就够了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

47

帖子

33

金币

天使

Rank: 2Rank: 2

积分
127
QQ
5#
发表于 2020-2-26 17:05:21 | 只看该作者

   经典案例图书
有转cad代码就够了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

40

帖子

15

金币

天使

Rank: 2Rank: 2

积分
79
QQ
6#
发表于 2020-2-26 17:06:31 | 只看该作者
判断厚度的代码我有了,就差零件自动转为cad的代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

38

帖子

26

金币

天使

Rank: 2Rank: 2

积分
85
QQ
7#
发表于 2020-2-26 17:06:31 | 只看该作者

   经典案例图书
判断厚度的代码我有了,就差零件自动转为cad的代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

50

帖子

32

金币

天使

Rank: 2Rank: 2

积分
117
QQ
8#
发表于 2020-2-26 21:46:50 | 只看该作者
以下代码为API VBA源码,在下部倒数第二个参数是钣金输出选项,参见API帮助。以下代码略加修改可以做成批量处理工具。我用VB.NET写的代码给你应该没什么用如下图。

VBA代码:
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim sModelName As String
Dim sPathName As String
Dim varAlignment As Variant
Dim dataAlignment(11) As Double
Dim varViews As Variant
Dim dataViews(1) As String
Dim options As Long
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
sModelName = swModel.GetPathName
sPathName = swModel.GetPathName
sPathName = Left(sPathName, Len(sPathName) - 6)
sPathName = sPathName + "dwg"
Set swPart = swModel
dataAlignment(0) = 0#
dataAlignment(1) = 0#
dataAlignment(2) = 0#
dataAlignment(3) = 1#
dataAlignment(4) = 0#
dataAlignment(5) = 0#
dataAlignment(6) = 0#
dataAlignment(7) = 1#
dataAlignment(8) = 0#
dataAlignment(9) = 0#
dataAlignment(10) = 0#
dataAlignment(11) = 1#
varAlignment = dataAlignment
dataViews(0) = "*Current"
dataViews(1) = "*Front"
varViews = dataViews
'Export each annotation view to a separate drawing file
swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportAnnotationViews, False, varAlignment, False, False, 0, varViews
'Export sheet metal to a single drawing file
options = 1 'include flat-pattern geometry
swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportSheetMetal, True, varAlignment, False, False, options, Null

End Sub
复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

5

主题

46

帖子

26

金币

天使

Rank: 2Rank: 2

积分
116
QQ
9#
发表于 2020-2-26 21:46:50 | 只看该作者
以下代码为API VBA源码,在下部倒数第二个参数是钣金输出选项,参见API帮助。以下代码略加修改可以做成批量处理工具。我用VB.NET写的代码给你应该没什么用如下图。

VBA代码:
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim sModelName As String
Dim sPathName As String
Dim varAlignment As Variant
Dim dataAlignment(11) As Double
Dim varViews As Variant
Dim dataViews(1) As String
Dim options As Long
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
sModelName = swModel.GetPathName
sPathName = swModel.GetPathName
sPathName = Left(sPathName, Len(sPathName) - 6)
sPathName = sPathName + "dwg"
Set swPart = swModel
dataAlignment(0) = 0#
dataAlignment(1) = 0#
dataAlignment(2) = 0#
dataAlignment(3) = 1#
dataAlignment(4) = 0#
dataAlignment(5) = 0#
dataAlignment(6) = 0#
dataAlignment(7) = 1#
dataAlignment(8) = 0#
dataAlignment(9) = 0#
dataAlignment(10) = 0#
dataAlignment(11) = 1#
varAlignment = dataAlignment
dataViews(0) = "*Current"
dataViews(1) = "*Front"
varViews = dataViews
'Export each annotation view to a separate drawing file
swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportAnnotationViews, False, varAlignment, False, False, 0, varViews
'Export sheet metal to a single drawing file
options = 1 'include flat-pattern geometry
swPart.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportSheetMetal, True, varAlignment, False, False, options, Null

End Sub
复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

50

帖子

27

金币

天使

Rank: 2Rank: 2

积分
94
QQ
10#
发表于 2020-2-26 23:06:54 | 只看该作者

   经典图书
这个可以,谢谢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

36

帖子

7

金币

混混

Rank: 1

积分
39
QQ
11#
发表于 2020-2-27 11:47:04 | 只看该作者
这个代码知道怎么用,直接加上会出错
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

48

帖子

33

金币

天使

Rank: 2Rank: 2

积分
127
QQ
12#
发表于 2020-2-27 11:47:04 | 只看该作者
这个代码知道怎么用,直接加上会出错
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

40

帖子

11

金币

天使

Rank: 2Rank: 2

积分
80
QQ
13#
发表于 2020-2-27 13:27:18 | 只看该作者
哪里出错,可以说出来我们讨论下,楼上发的那个代码适合选择面然后输出CAD格式那样会好点
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

37

帖子

18

金币

天使

Rank: 2Rank: 2

积分
55
QQ
14#
发表于 2020-2-29 23:26:08 | 只看该作者
已经解决了取得厚度代码附
Option Explicit
Sub thiness0()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim i As Long
Dim swFeatMgr As FeatureManager
Dim swFeat As Feature
Dim swSheetMetalFol As SheetMetalFolder
Dim swSheetFeatData As SheetMetalFeatureData
Dim swBaseFlangeFeatData As BaseFlangeFeatureData
Dim vSheetMetalFeat As Variant
Dim ThicknessM As String
Dim Path As String
Dim sModelName As String
Dim sPathName As String
Dim varAlignment As Variant
Dim dataAlignment(11) As Double
Dim options As Long
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swFeatMgr = swModel.FeatureManager
Set swSheetMetalFol = swFeatMgr.GetSheetMetalFolder
If Not swSheetMetalFol Is Nothing Then
vSheetMetalFeat = swSheetMetalFol.GetSheetMetals
For i = 0 To UBound(vSheetMetalFeat)
  Set swFeat = vSheetMetalFeat(i)
  If swFeat.GetTypeName2 = "SheetMetal" Then
  Set swSheetFeatData = swFeat.GetDefinition
  Exit For
  End If
Next i
Else
Set swFeat = swModel.FirstFeature
Do While Not swFeat Is Nothing
  If swFeat.GetTypeName2 = "SMBaseFlange" Then
  Set swBaseFlangeFeatData = swFeat.GetDefinition
  Exit Do
  ElseIf swFeat.GetTypeName2 = "SheetMetal" Then
  Set swSheetFeatData = swFeat.GetDefinition
  Exit Do
  End If
  Set swFeat = swFeat.GetNextFeature
Loop
End If
ThicknessM = swSheetFeatData.Thickness * 1000
C = ThicknessM
C = "(T=" & C & "mm)"
msgbox c
End Sub
复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

37

帖子

23

金币

天使

Rank: 2Rank: 2

积分
84
QQ
15#
发表于 2020-2-29 23:26:08 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

已经解决了取得厚度代码附
Option Explicit
Sub thiness0()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swPart As SldWorks.PartDoc
Dim i As Long
Dim swFeatMgr As FeatureManager
Dim swFeat As Feature
Dim swSheetMetalFol As SheetMetalFolder
Dim swSheetFeatData As SheetMetalFeatureData
Dim swBaseFlangeFeatData As BaseFlangeFeatureData
Dim vSheetMetalFeat As Variant
Dim ThicknessM As String
Dim Path As String
Dim sModelName As String
Dim sPathName As String
Dim varAlignment As Variant
Dim dataAlignment(11) As Double
Dim options As Long
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swFeatMgr = swModel.FeatureManager
Set swSheetMetalFol = swFeatMgr.GetSheetMetalFolder
If Not swSheetMetalFol Is Nothing Then
vSheetMetalFeat = swSheetMetalFol.GetSheetMetals
For i = 0 To UBound(vSheetMetalFeat)
  Set swFeat = vSheetMetalFeat(i)
  If swFeat.GetTypeName2 = "SheetMetal" Then
  Set swSheetFeatData = swFeat.GetDefinition
  Exit For
  End If
Next i
Else
Set swFeat = swModel.FirstFeature
Do While Not swFeat Is Nothing
  If swFeat.GetTypeName2 = "SMBaseFlange" Then
  Set swBaseFlangeFeatData = swFeat.GetDefinition
  Exit Do
  ElseIf swFeat.GetTypeName2 = "SheetMetal" Then
  Set swSheetFeatData = swFeat.GetDefinition
  Exit Do
  End If
  Set swFeat = swFeat.GetNextFeature
Loop
End If
ThicknessM = swSheetFeatData.Thickness * 1000
C = ThicknessM
C = "(T=" & C & "mm)"
msgbox c
End Sub
复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

6

主题

45

帖子

32

金币

天使

Rank: 2Rank: 2

积分
101
QQ
16#
发表于 2020-3-2 13:07:52 | 只看该作者

   经典案例图书
我运行此楼代码提示编译错误变量未定义,能否上传.swp附件谢谢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

47

帖子

17

金币

天使

Rank: 2Rank: 2

积分
88
QQ
17#
发表于 2020-3-2 13:07:52 | 只看该作者
加入QQ群
参与讨论和学习

SolidWorks技术交流群

或扫描二维码加入

我运行此楼代码提示编译错误变量未定义,能否上传.swp附件谢谢
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

7

主题

41

帖子

44

金币

天使

Rank: 2Rank: 2

积分
126
QQ
18#
发表于 2020-3-6 17:56:25 | 只看该作者

   经典案例图书
只需要在最上面加上
DIM C
我这个c的公共变量在其它模块已经定义
Macro11.zip
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

2

主题

36

帖子

17

金币

天使

Rank: 2Rank: 2

积分
81
QQ
19#
发表于 2020-3-7 09:14:51 | 只看该作者
还是报错,
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

4

主题

53

帖子

27

金币

天使

Rank: 2Rank: 2

积分
106
QQ
20#
发表于 2020-3-8 22:31:04 | 只看该作者
你看一下引那里有没有丢失的
零件要求是钣金件
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2024-9-20 00:36 , Processed in 0.258057 second(s), 25 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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