'[ STP转换器设定 Dim oSTEPTranslator As TranslatorAddIn = ThisApplication.ApplicationAddIns.ItemById("{90AF7F40-0C01-11D5-8E83-0010B541CD80}") Dim oContext As TranslationContext = ThisApplication.TransientObjects.CreateTranslationContext Dim oOptions As NameValueMap = ThisApplication.TransientObjects.CreateNameValueMap '] ' 获取当前正在编辑的部件文档对象 Dim assyDoc As AssemblyDocument = ThisApplication.ActiveDocument ' 获取当前部件文档所在的项目文件路径 Dim 工作路径 As String = ThisDoc.WorkspacePath() ' 遍历所有子部件对象 Dim part As ComponentOccurrence For Each part In assyDoc.ComponentDefinition.Occurrences ' 获取子部件的部件文档对象 Dim partDoc = part.Definition.Document ' 获取零件属性字符串值 Dim 类别 = partDoc.PropertySets.Item("Inventor Document Summary Information").Item("Category").Value Dim 代号 = partDoc.PropertySets.Item("Design Tracking Properties").Item("Part Number").Value Dim 描述 = partDoc.PropertySets.Item("Design Tracking Properties").Item("Description").Value ' 如果类别的值为"机加件"或"钣金件"或"铝型材&亚克力",则进行导出操作 If 类别 = "机加件" Or 类别 = "钣金件" Or 类别 = "铝型材&亚克力" Then '构建文件名 Dim 新文件名 = 工作路径 & "\PDF\" & 类别 & "\" & 描述 & "-" & 代号 & ".stp" '执行导出 If oSTEPTranslator.HasSaveCopyAsOptions(ThisApplication.ActiveDocument, oContext, oOptions) Then oOptions.Value("ApplicationProtocolType") = 3 oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism Dim oData As DataMedium = ThisApplication.TransientObjects.CreateDataMedium oData.FileName = 新文件名 oSTEPTranslator.SaveCopyAs(partDoc, oContext, oOptions, oData) End If End If Next MsgBox ("完成导出。",,"iLogic")