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的解决方法如下。
  1. ''
  2. Private Sub l4()
  3.    Dim SwApp As SldWorks.SldWorks
  4.    Dim SwModel As ModelDoc2, SwModelArr() As ModelDoc2
  5.       Set SwApp = Application.SldWorks
  6.       Set SwModel = SwApp.GetFirstDocument
  7.    Dim Kk As Integer
  8.       Do While Not SwModel Is Nothing
  9.          If SwModel.GetType = 3 Then
  10.             ReDim Preserve SwModelArr(Kk) As ModelDoc2
  11.             Set SwModelArr(Kk) = SwModel
  12.             Kk = Kk + 1
  13.          End If
  14.          Set SwModel = SwModel.GetNext
  15.       Loop
  16.       ''
  17.       Set SwModel = SwModelArr(1)
  18.       Debug.Print SwModel.GetTitle
  19.       ''
  20.       SwModel.ClearSelection2 True
  21.       ''
  22.    Dim SwFeat As Feature
  23.       Set SwFeat = SwModel.FirstFeature
  24.       Do While Not SwFeat Is Nothing
  25.           If SwFeat.GetTypeName = "DrSheet" Then
  26.               Debug.Print SwFeat.Name, SwFeat.GetTypeName
  27.               SwFeat.Select True
  28.           End If
  29.           Set SwFeat = SwFeat.GetNextFeature
  30.       Loop
  31.       Debug.Print SwModel.GetTitle
  32.       SwModel.EditCopy
  33.       Set SwModel = SwModelArr(0)
  34.       Debug.Print SwModel.GetTitle
  35.       SwApp.ActivateDoc (SwModel.GetTitle)
  36.       
  37.       SwModel.Paste
  38. 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