我真的希望有人可以帮助我:),我今天整天都在用头撞墙,试图让它发挥作用。
所以我发现有时需要为多个零件创建相同的图纸。
因此,我创建了一个宏,要求用户创建所需的图纸,然后当宏运行时,它将把所有其余部分替换到图纸中,同时将图纸另存为新图纸姓名。因此,当宏完成时,您将拥有与零件相同数量的图纸,并且每个相关的图纸都会有其相关的零件。可能会有需要重新附加的悬空尺寸,但是,这将比复制绘图、替换视图上的模型或在绘图启动时引用模型等更快。
这是问题所在。
我已经创建了宏,它运行完美。它基本上遵循以下步骤:
打开参考图
用新模型替换所有视图
用新名称保存绘图。
通过反复试验,我发现我需要关闭绘图并在每个循环上重新打开它。否则,由于某种原因,会打开多个(不可见)solidworks 应用程序,并且会损坏参考工程图文件。
打开和关闭文档往往需要时间。因此,我发现您可以使用:
swApp.DocumentVisible False, swDocDRAWING
然后它每次都不会打开图纸。这允许宏通过并准确地创建我需要的东西......对于单张图纸......
当我尝试使用双张图纸(图纸 1 和图纸 2)时,我发现它会一样快,但是,只有每张图纸的图纸 2 上的视图会使用新模型进行更新。
我发现,如果绘图文档不可见,那么移动指针的命令如下:
swModel.ActivateSheet vSheets(0)
不工作。指针卡在最后一张纸上(第 2 页)。这导致每张图纸只修改图纸 2。
现在,如果我把它拿走,并保持文档可见,它工作得很好。但是,它很慢,因为它正在打开和关闭文档。
有谁知道我如何在不可见的情况下修改绘图?或者如何在不可见的情况下在工作表之间移动指针?
任何帮助,将不胜感激
斯科特