Your assembly has several Level of Detail Representations set up, which works well. The problem is that when you add a new component to the assembly, you have to go to each Level of Detail and suppress the component in order to prevent it from showing up in those existing Level of Detail Representations.
Solution:
Here is an iLogic rule that will suppress any selected components in all of the other LOD's, with the exception of the active LOD.
This allows you to place the component in the assembly with the LOD you want to add the component to set active, then select the component (or components) and run this iLogic rule to remove the component(s) from the other LODs.
This iLogic rule also doesn't suppress the selected components in the standard LODs, such as the "Master" LOD, the "All Content Center Suppressed" LOD, etc.
Note too that it saves the file each time one of the other LODs is modified in order to make the changes "stick", so if you have a large assembly with many LODs it might take a bit for this rule to run.
Dim oDoc As AssemblyDocument
oDoc = ThisApplication.ActiveDocument
' Find all selected components
and add them to an ObjectCollection.
Dim oSelected As ObjectCollection
oSelected = ThisApplication.TransientObjects. _
CreateObjectCollection (oDoc.SelectSet)
'define LOD rep
Dim oLODRep As LevelOfDetailRepresentation
'define rep manager
Rep_Manager =ThisApplication.ActiveDocument. _
ComponentDefinition.RepresentationsManager
'define an arraylist to hold
the list of LOD rep names
Dim NameList As New ArrayList()
'look at the LOD reps in the
assembly
For Each oLODRep in Rep_Manager.LevelOfDetailRepresentations
'add the LOD names to the
array list
NameList.add(oLODRep.Name)
Next
Dim myLOD as LevelOfDetailRepresentation
'get the name of the active
LOD
myLOD = Rep_Manager.ActiveLevelOfDetailRepresentation
'remove active LOD from list
NameList.remove(myLOD.name)
'remove standard LODs from
list
NameList.remove("Master")
NameList.remove("All Components Suppressed")
NameList.remove("All Parts Suppressed")
NameList.remove("All Content Center Suppressed")
'step through the LOD list
'and suppress the selected
components
Dim sName as String
For Each sName in NameList
'Activate the LOD
Rep_Manager.LevelOfDetailRepresentations(sName).Activate
For Each oObject in oSelected
Try
'suppress component
Component.IsActive(oObject.Name) = False
Catch ' catch any errors
End Try
Next
ThisDoc.Save
Next
'set the original active LOD
back to active
Rep_Manager.LevelOfDetailRepresentations(Trim(myLOD.Name)).Activate