iCAx开思网
标题:
Copy+Paste是将n个SldDrw文件,合并为一个多页的工程图文件的利器?
[打印本页]
作者:
ning58
时间:
2015-8-2 09:16
标题:
Copy+Paste是将n个SldDrw文件,合并为一个多页的工程图文件的利器?
本帖最后由 ning58 于 2015-8-4 09:35 编辑
A1.sldDrw,有零件1工程图。
A2.sldDrw,有零件2工程图。
A3.sldDrw,有零件3工程图。
如何将三个SldDrw文件,合并到一个SldDrw工程图文件。
在这个工程图文件中,有三页分别是零件1,零件2,零件3个零件的工程图。
'**************************
找到了解决方法,Solidworks2008版本后,用Copy后,Paste方法实现目标需求。
采用API的解决方法如下。
''
Private Sub l4()
Dim SwApp As SldWorks.SldWorks
Dim SwModel As ModelDoc2, SwModelArr() As ModelDoc2
Set SwApp = Application.SldWorks
Set SwModel = SwApp.GetFirstDocument
Dim Kk As Integer
Do While Not SwModel Is Nothing
If SwModel.GetType = 3 Then
ReDim Preserve SwModelArr(Kk) As ModelDoc2
Set SwModelArr(Kk) = SwModel
Kk = Kk + 1
End If
Set SwModel = SwModel.GetNext
Loop
''
Set SwModel = SwModelArr(1)
Debug.Print SwModel.GetTitle
''
SwModel.ClearSelection2 True
''
Dim SwFeat As Feature
Set SwFeat = SwModel.FirstFeature
Do While Not SwFeat Is Nothing
If SwFeat.GetTypeName = "DrSheet" Then
Debug.Print SwFeat.Name, SwFeat.GetTypeName
SwFeat.Select True
End If
Set SwFeat = SwFeat.GetNextFeature
Loop
Debug.Print SwModel.GetTitle
SwModel.EditCopy
Set SwModel = SwModelArr(0)
Debug.Print SwModel.GetTitle
SwApp.ActivateDoc (SwModel.GetTitle)
SwModel.Paste
End Sub
复制代码
解决这个问题时,API方法不一定比用Copy+Paste来的简单明了。只会增加麻烦。
API是在Copy+Paste工作量大时,可能会有优势。
作者:
576463434
时间:
2015-8-2 10:09
学习了
作者:
576463434
时间:
2015-8-2 10:09
学习了
作者:
576463434
时间:
2015-8-2 10:10
学习了
作者:
576463434
时间:
2015-8-2 10:10
学习了
作者:
576463434
时间:
2015-8-2 10:10
学习了
作者:
576463434
时间:
2015-8-2 10:10
学习了
作者:
576463434
时间:
2015-8-2 10:11
学习了
作者:
576463434
时间:
2015-8-2 10:11
学习了
作者:
576463434
时间:
2015-8-2 10:11
学习了
作者:
576463434
时间:
2015-8-2 10:11
学习了
作者:
楠柠檬、
时间:
2015-8-3 08:06
谢谢楼主分享方法!
不如楼主把标题后面加个(已解决)吧{:soso_e113:}
作者:
285240263@qq.co
时间:
2020-12-1 11:48
这个代码开头我看不懂啊
作者:
285240263@qq.co
时间:
2020-12-2 19:15
根本用不了啊
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3