Attached is a sample assembly that has this rule in it.
The rule gets the active Positional rep, then gets all of the Positional rep names and adds them to a list, then presents the list to the user and automatically sets the active Positional rep as the default in the list. Then either sets the selected Positional rep active or creates a new one, based on the user input.
'set a reference to the assembly component definition. 'This assumes an assembly document is open. Dim oAsmCompDef As AssemblyComponentDefinition oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
'define pos rep Dim oPosRep As PositionalRepresentation Dim sPosRep As String Dim MyArrayList As New ArrayList
'record the active view rep name Dim sActivePosRep as String sActivePosRep = oAsmCompDef.RepresentationsManager.ActivePositionalRepresentation.Name
For Each oPosRep In oAsmCompDef.RepresentationsManager.PositionalRepresentations MyArrayList.add(oPosRep.Name) Next
iArrayList = MyArrayList.Count MyArrayList.add("*Add a new Positional Rep*")
sPosRep = InputListBox("Select from the list:", MyArrayList, sActivePosRep, "iLogic", "Positional Reps")
If sPosRep = "*Add a new Positional Rep*" Then newPosRep = InputBox("Enter a name:", "iLogic", "New Pos Rep_" & iArrayList) newAngle = InputBox("Enter an Angle:", "iLogic", "5") 'create new pos rep oAsmCompDef.RepresentationsManager.PositionalRepresentations.Add(newPosRep) myAngle = newAngle Else 'activate the selected pos rep oAsmCompDef.RepresentationsManager.PositionalRepresentations.Item(sPosRep).Activate End If
'zoom all ThisApplication.ActiveView.Fit
Did you find this reply helpful ? If so please use the Accept as Solution or Kudos button below.