可以使用以下规则插入虚拟件
文件名规则是 《图号 名称》, 可以自己更改规则改变属性的归属
Start:
Dim strVirtualName As String = InputBox("输入新的虚拟零件名称:", "H2")
If Not String.IsNullOrEmpty(strVirtualName) Then
Dim oAssy As AssemblyDocument = ThisDoc.Document
Dim oComponentDefinition As ComponentDefinition = oAssy.ComponentDefinition
Dim oComponentOccurrence As ComponentOccurrence = oComponentDefinition.Occurrences.AddVirtual(strVirtualName, ThisApplication.TransientGeometry.CreateMatrix)
Dim oVirtualCompDef As VirtualComponentDefinition = oComponentOccurrence.Definition
‘此处更改图号
Dim strVirtualPartNumber As String = strVirtualName.split(" ")(0)
If Not String.IsNullOrEmpty(strVirtualPartNumber) Then oVirtualCompDef.PropertySets("Design Tracking Properties")("Part Number").Value = strVirtualPartNumber
'此处更改名称
Dim strVirtualDescription As String = strVirtualName.split(" ")(1)
If Not String.IsNullOrEmpty(strVirtualDescription) Then oVirtualCompDef.PropertySets("Design Tracking Properties")("Description").Value = strVirtualDescription
'次数根据数量重复插入零件
ChangeQuantity:
Dim intVirtualQuantity As String = InputBox("输入虚拟零件的 数量:", "H2", 1)
If Not String.IsNullOrEmpty(intVirtualQuantity) Then
If IsNumeric(intVirtualQuantity) Then
If Not intVirtualQuantity.Contains(".") Then
Dim oBom As BOM = oAssy.ComponentDefinition.BOM
Dim oStructuredBOMView As BOMView = oBom.BOMViews(1)
oStructuredBOMView.BOMRows.Item(oStructuredBOMView.BOMRows.Count).TotalQuantity = intVirtualQuantity
Else
MsgBox("输入一个整数", "H2")
GoTo ChangeQuantity
End If
Else
MsgBox("输入一个整数", "H2")
GoTo ChangeQuantity
End If
End If
GoTo Start '重复插入
End If