AutoCAD Civil 3D Customization
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
C3D 2012 Supereleva tionCritic alStation. GetSlope VB.Net
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
I'm having an issue in attempting to get the slope at a station
Executing this line of code
nsLeftIn_End = mySuperStn.GetSlope(Autodesk.Civil.Land.Supereleva
in the function below throws an execption:
Operation is not valid due to the current state of the object.
I've stripped down the function to show where the error is happening. I verifiied that the execption is still thrown in this version of the function.
I can't for the life of me figure out what is wrong with the state of the object that won't allow for getting the slope value.
Any suggestions appreciated.
Thanks.
Function ModifySuper(ByRef myAlg As Alignment) As Boolean
Dim nsLeftIn_End As Double
Dim nsLeftOut_End As Double
Dim nsRightIn_End As Double
Dim nsRightOut_End As Double
Dim mySuperCol As SuperelevationCriticalStationCollection
Dim mySuperStn As SuperelevationCriticalStation
ModifySuper = False
Try
If IsNothing(myAlg) Then
MsgBox("Cannot locate alignment in ModifySuper ", vbExclamation)
Exit Function
End If
mySuperCol = myAlg.SuperelevationCriticalStations
For Each mySuperStn In mySuperCol
Select Case mySuperStn.StationType
Case Autodesk.Civil.Land.SuperelevationCriticalStationT ype.BeginAlignment
Case Autodesk.Civil.Land.SuperelevationCriticalStationT ype.EndAlignment
Case Autodesk.Civil.Land.SuperelevationCriticalStationT ype.BeginNormalCrown
Case Autodesk.Civil.Land.SuperelevationCriticalStationT ype.EndNormalCrown
Case Autodesk.Civil.Land.SuperelevationCriticalStationT ype.EndNormalShoulder
Try
nsLeftIn_End = mySuperStn.GetSlope(Autodesk.Civil.Land.Supereleva tionCrossSegmentType.LeftInShoulderCrossSlope)
nsLeftOut_End = mySuperStn.GetSlope(Autodesk.Civil.Land.Supereleva tionCrossSegmentType.LeftOutShoulderCrossSlope)
nsRightIn_End = mySuperStn.GetSlope(Autodesk.Civil.Land.Supereleva tionCrossSegmentType.RightInShoulderCrossSlope)
nsRightOut_End = mySuperStn.GetSlope(Autodesk.Civil.Land.Supereleva tionCrossSegmentType.RightOutShoulderCrossSlope)
Catch ex As Exception
MsgBox("Exception: " & ex.Message)
End Try
Case Autodesk.Civil.Land.SuperelevationCriticalStationT ype.LevelCrown
End Select
Next
ModifySuper = True
Catch ex As Exception
MsgBox("Execption: " & ex.Message)
End Try
End Function
Re: C3D 2012 Supereleva tionCritic alStation. GetSlope VB.Net
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Hi RodWing,
Did you check in the UI dialog if there is a valid value set for LeftInShoulderCrossSlope at that station?
You can take a look at the following Blog post and check the screenshot I used there to understand which UI window I am referring here.
Thanks,
Partha Sarkar
Developer Technical Services
Autodesk Developer Network
