SolidWorks*Excel+VBA-刷新工程图
SW工程图模板虽然是个好东西,但是总有遗漏的地方,尤其是关系到配置。随便点一个视图,样式,比例可以设置成关联父系,但是配置是一片空白,因为视图还没绑定模型,自然不知道配置。绑定模型生成工程图后,这里就变成了模型当前使用的配置。一张工程图,除了主视图,少说有2~3个其他视图。也不用多,有个百来张工程图,这玩意儿挨个去点想想就头皮发麻。就算不去点,检查所有视图是否都采用相同配置也是件费力不讨好的事。为了方便讲述,听取粉丝意见,只贴关键部分代码段,其余代码段跟过往没啥大区别,就不浪费篇幅了。ShtNames = SwDrw.GetSheetNamesFor i = 0 To UBound(ShtNames) Views = SwDrw.Sheet(ShtNames(i)).GetViews For j = 0 To UBound(Views) If Views(j).GetBaseView Is Nothing Then '主视图(主视图没有基础视图) Views(j).UseSheetScale = True Else Views(j).LinkParentConfiguration = True End If Next Erase ViewsNextErase ShtNames
主要程序逻辑:获取工程图对象,获取所有图纸页名称,按名称遍历所有图纸页,获取该图纸页上所有视图,遍历视图,判断是否为主视图,主视图则关联图纸比例,其余关联配置。有了它,在打印工程图之前,先统统刷新一遍,至少最关键的比例,配置不会出错,相比这两个要素,其他问题不容易出太大篓子。在这基础上,代码稍微做下修改,也可添加到生成工程图的宏程序中,在创建图纸的同时,把父配置关联起来。