Use the geometry proxy system for this, its entire job is to translate geometries for you. Here is your rule back doing what you want.
Dim oAsmDoc As AssemblyDocument = ThisDoc.Document
Dim oAsmCompDef As AssemblyComponentDefinition= oAsmDoc.ComponentDefinition
Dim prodAssyOcc As ComponentOccurrence = oAsmCompDef.Occurrences.ItemByName("SubMatrix:1")
Dim prodAssyDef As AssemblyComponentDefinition = prodAssyOcc.Definition
Dim prod1Occ As ComponentOccurrence = prodAssyDef.Occurrences.ItemByName("Part1:1")
'prod1Def = prod1Occ.Definition
'Dim prelistOfPoints As New List(Of Point)
'For Each item In prod1Def.workpoints
' If item.Name <> "Center Point" Then
' prelistOfPoints.Add(item.point)
' End If
'Next
For Each occ As ComponentOccurrence In prodAssyDef.Occurrences
' Dim oMatrix As Matrix = ThisApplication.TransientGeometry.CreateMatrix
' oMatrix = occ.Transformation
' For Each item In prelistOfPoints
' item.transformBy(oMatrix)
' oAsmCompDef.WorkPoints.AddFixed(ThisApplication.TransientGeometry.CreatePoint(item.x, item.y, 0))
' Next
For Each wp As WorkPoint In CType(occ.Definition, PartComponentDefinition).WorkPoints
If wp.Name = "Center Point" Then Continue For
Dim xPoint As WorkPointProxy = Nothing
occ.CreateGeometryProxy(wp,xPoint)
oAsmCompDef.WorkPoints.AddFixed(ThisApplication.TransientGeometry.CreatePoint(xPoint.Point.X, xPoint.Point.Y, 0))
Next
Next
All occurrences can run CreateGeometryProxy. CGP takes in the original object (workpoint defined in part), then the new object to place in context of occurrence (xPoint is a WorkPointProxy that is set to nothing until filled.) Then once the proxy item is filled, you can rely on it to have translated coordinates in the context of the assembly space the occurrence came from. This concept nests, so if you are using an assembly within an assembly within an assembly, each level can make a proxy of a proxy, until the top level makes a proxy of the original. you will see that many geometry entities have a ...Proxy class version as well.
Jamie Johnson : Owner / Sisu Lissom, LLC https://sisulissom.com/