@patrick3HNXX,
There is a lot of Hard-coding you have here. I did not spend the time to try and recreate all your parameters/constraints/components in order to do proper testing.
With that being said, I believe this should still work as before, so give it a try:
'[
'Release Notes:
'03/15/21:
'Blended code between original and first helping code
'] Release Notes
'[
'Prep code:
'Set Assembly
Dim asmDoc As AssemblyDocument = ThisApplication.ActiveDocument
'Set DesignViews Collection
Dim vReps As DesignViewRepresentations = asmDoc.ComponentDefinition.RepresentationsManager.DesignViewRepresentations
'Set Return View
Dim curRep As DesignViewRepresentation = asmDoc.ComponentDefinition.RepresentationsManager.ActiveDesignViewRepresentation
'Designate Object to act as activated View Rep
Dim actRep As DesignViewRepresentation
'Create Boolean to track view locked status
Dim vStatus As Boolean
'Hard-code Views as named List
Dim vRepNames As NameValueMap = ThisApplication.TransientObjects.CreateNameValueMap
vRepNames.Add("Left Panel", "ExtraLeftSidePanelCrossmember")
vRepNames.Add("Right Panel", "ExtraRightSidePanelCrossmember")
vRepNames.Add("Back Panel", "ExtraBackSidePanelCrossmember")
vRepNames.Add("Door Panel", "ExtraDoorSidePanelCrossmember")
For i As Integer = 1 To vRepNames.Count
For Each vRep As DesignViewRepresentation In vReps
If vRep.Name = vRepNames.Name(i)
vRepNames.Value(vRepNames.Name(i)) = vRep
GoTo Found
End If
Next
'If we are missing a view Rep we display here
Logger.Debug("Can't continue, expected view rep: " & vRepNames.Name(i) & " doesn't exist.")
Exit Sub 'Can't continue, expected view reps don't exist
'Once match is found, we continue to next check
Found:
Next
'] Prep code
'[
'Original code [modified]
If DischargeHeight >= 139 Then
'adjust spacing variable for new crossmember
Dim adjustedspacing = ((SidePanelColumnLength - SidePanelFlangeCut) -(ControlPanelCrossmemberHeight)) / 3
' add and adjust new left side panel crossmember
Dim componentA As ManagedComponentOccurrence = Components.Add("ExtraLeftSidePanelCrossmember",
"Side Panel Crossmember CIB NIWOSL - Fixed-08.ipt")
'Add to designated view:
actRep = vRepNames.Value(vRepNames.Name(1))'Left Panel
vStatus = actRep.Locked
actRep.Activate
actRep.Locked = False
componentA.Occurrence.Visible = True
actRep.Locked = vStatus
curRep.Activate
Constraints.AddMate("Mate:1000", "ExtraLeftSidePanelCrossmember",
"Work Plane2",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Work Plane2",
adjustedspacing)
Constraints.AddMate("Mate:1001", "ExtraLeftSidePanelCrossmember",
"Face0",
"Left Panel C Column Front CIB NIWOSL-01:1",
"Face0")
Constraints.AddMate("Mate:1002", "ExtraLeftSidePanelCrossmember",
"Edge0",
"Left Panel C Column Front CIB NIWOSL-01:1",
"Face1")
'adjust existing left side panel crossmember
Constraints.AddMate("Mate:317",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Face1",
"Left Panel C Column Back CIB NIWOSL-01:1",
"Face0")
Constraints.AddMate("Mate:318",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Edge1",
"Left Panel C Column Back CIB NIWOSL-01:1",
"Face1")
Constraints.AddMate("Mate:319",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Edge0",
"Left Panel C Column Front CIB NIWOSL-01:1",
"Face1")
Constraints.AddFlush("Flush:196",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:3",
"Work Plane2",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Work Plane2")
Constraints.AddFlush("Flush:344",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Work Plane2",
"Side Panel Crossmember CIB NIWOSL - Fixed-07:2",
"Work Plane3",
-adjustedspacing)
Constraints.AddFlush("Flush:408",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:8",
"Work Plane2",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Work Plane2")
'add and adjust extra door panel crossmember
Dim Door_Panel_Middle_Cr As ManagedComponentOccurrence = Components.Add("ExtraDoorPanelCrossmember",
"Door Panel Middle Crossmember CIB NIWSOL-02.ipt")
'Add to designated view:
actRep = vRepNames.Value(vRepNames.Name(4))'Door Panel
vStatus = actRep.Locked
actRep.Activate
actRep.Locked = False
Door_Panel_Middle_Cr.Occurrence.Visible = True
actRep.Locked = vStatus
curRep.Activate
Constraints.AddMate("Mate:1003",
"ExtraDoorPanelCrossmember",
"Face0",
"Door Panel Z Channel Right CIB NIWSOL-01:1",
"Face0")
Constraints.AddFlush("Flush:1004",
"ExtraDoorPanelCrossmember",
"Work Plane1", "ExtraLeftSidePanelCrossmember",
"Work Plane2")
Constraints.AddMate("Mate:1005",
"ExtraDoorPanelCrossmember",
"Edge0",
"Door Panel Z Channel Left CIB NIWSOL-02:1",
"Face0")
'add and adjust extra right side panel crossmember
Dim Side_Panel_Crossmemb As ManagedComponentOccurrence = Components.Add("ExtraRightSidePanelCrossmember",
"Side Panel Crossmember CIB NIWOSL - Fixed-08.ipt")
'Add to designated view:
actRep = vRepNames.Value(vRepNames.Name(2))'Right Panel
vStatus = actRep.Locked
actRep.Activate
actRep.Locked = False
Side_Panel_Crossmemb.Occurrence.Visible = True
actRep.Locked = vStatus
curRep.Activate
Constraints.AddMate("Flush:1005",
"ExtraRightSidePanelCrossmember",
"Work Plane2", "ExtraLeftSidePanelCrossmember",
"Work Plane2")
Constraints.AddMate("Mate:1006",
"ExtraRightSidePanelCrossmember",
"Face1",
"Right Panel C Column Front CIB NIWOSL-01:1",
"Face0")
Constraints.AddMate("Mate:1007",
"ExtraRightSidePanelCrossmember",
"Edge1",
"Right Panel C Column Front CIB NIWOSL-01:1",
"Face1")
'add and adjust extra back panel crossmember
Dim Back_Panel_Crossmemb As ManagedComponentOccurrence = Components.Add("ExtraBackPanelCrossmember",
"Back Panel Crossmember CIB NIWSOL-05.ipt")
'Add to designated view:
actRep = vRepNames.Value(vRepNames.Name(3))'Back Panel
vStatus = actRep.Locked
actRep.Activate
actRep.Locked = False
Back_Panel_Crossmemb.Occurrence.Visible = True
actRep.Locked = vStatus
curRep.Activate
Constraints.AddMate("Mate:1008",
"ExtraBackPanelCrossmember",
"Work Plane1", "ExtraRightSidePanelCrossmember",
"Work Plane2")
Constraints.AddMate("Mate:1009",
"ExtraBackPanelCrossmember", "Face0",
"Back Panel Z Channel right left CIB NIWSOL-02:2",
"Face0")
Constraints.AddMate("Mate:1010",
"ExtraBackPanelCrossmember", "Edge1",
"Back Panel Z Channel right left CIB NIWSOL-02:2",
"Face1")
Else If DischargeHeight < 139 Then
'remove added crossmembers
Components.Delete("ExtraLeftSidePanelCrossmember")
Components.Delete("ExtraDoorPanelCrossmember")
Components.Delete("ExtraRightSidePanelCrossmember")
Components.Delete("ExtraBackPanelCrossmember")
'restore existing right side panel crossmember(datum) position
Constraints.AddMate("Mate:317",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Face1",
"Left Panel C Column Back CIB NIWOSL-01:1",
"Face0")
Constraints.AddMate("Mate:318",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Edge1",
"Left Panel C Column Back CIB NIWOSL-01:1",
"Face1")
Constraints.AddMate("Mate:319",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Edge0",
"Left Panel C Column Front CIB NIWOSL-01:1",
"Face1")
Constraints.AddFlush("Flush:196",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:3",
"Work Plane2",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Work Plane2")
Constraints.AddFlush("Flush:344",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Work Plane2",
"Side Panel Crossmember CIB NIWOSL - Fixed-07:2",
"Work Plane3",
-SidePanelUpperRotatedCrossmemberSpacing)
Constraints.AddFlush("Flush:408",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:8",
"Work Plane2",
"Side Panel Crossmember CIB NIWOSL - Fixed-08:2",
"Work Plane2")
End If
'] Original code [modified]
Let me know if you have any questions, or if this is not working as intended.