AECAlignment
Type describing the alignment feature.
Inheritance Path
ObjectType Feature Visualizable MMOrderedGeometricalSet AECAlignment
Methods
The following methods are associated with this type:
Example
Let AECAlignment3D1 (AECAlignment3D)
Set AECAlignment3D1=iAlignment3D
Let AECAlignment1 (AECAlignment)
Set AECAlignment1=AECAlignment3D1.GetAlignment()
Let AECAlignment2DHorizontal1 (AECAlignment2DHorizontal)
Set AECAlignment2DHorizontal1 = AECAlignment1.GetHorizontalAlignment()
Let AECAlignment2DVertical1 (AECAlignment2DVertical)
Set AECAlignment2DVertical1 = AECAlignment1.GetVerticalAlignment()
Let LHSegments(List)
Set LHSegments = AECAlignment2DHorizontal1.GetListOfAlignmentSegments()
Let HAlignSegment(`2DCurve`)
/* List Horizontal Segments */
for HAlignSegment inside LHSegments
{
Let SegmentType(String)
if HAlignSegment.IsASortOf("2DLine")
Set SegmentType = "Line"
if HAlignSegment.IsASortOf("2DCircle")
Set SegmentType = "Circle"
if HAlignSegment.IsASortOf("2DClothoidCurve")
Set SegmentType = "Clothoid"
/* H Segments info */
Let StartPoint(AECAlignmentPoint)
Let EndPoint(AECAlignmentPoint)
Let StartDir (Angle)
Let SegmentLength (Length)
Let Radius (Length)
Let CCW(Boolean)
Let IsEntry(Boolean)
Let ClothoidConstant(Real)
HAlignSegment.GetHorizontalAlignmentSegmentInfo(StartPoint, EndPoint,
StartDir, SegmentLength, Radius, CCW, IsEntry, ClothoidConstant )
Message("H Segment information: # StartDir=# Length=# Radius=# CCW=#",
SegmentType, StartDir, SegmentLength, Radius, CCW)
/* Point info */
Let X(Length)
Let Y(Length)
Let Easting(Length)
Let Northing(Length)
Let Elevation(Length)
Let Stationing(String)
StartPoint.GetCoordinates(X,Y,Easting, Northing)
Set Elevation = StartPoint.GetElevation(AECAlignment1)
Set Stationing = StartPoint.GetStationing()
Message("Start Point X=# Y=# Z=# Stationing=#", Easting, Northing,
Elevation, Stationing)
}
/* List Vertical Segments */
Let LVSegments(List)
Set LVSegments = AECAlignment2DVertical1.GetListOfAlignmentSegments()
Let VAlignSegment(`2DCurve`)
for VAlignSegment inside LVSegments
{
Let SegmentType(String)
if VAlignSegment.IsASortOf("2DLine")
Set SegmentType = "Line"
if VAlignSegment.IsASortOf("2DCircle")
Set SegmentType = "Circle"
if VAlignSegment.IsASortOf("2DParabola")
Set SegmentType = "Parabola"
/* V Segments info */
Let StartDist(Length)
Let HLength(Length)
Let StartHeight(Length)
Let StartGradient(Ratio)
Let Radius(Length)
Let Convex(Boolean)
VAlignSegment.GetVerticalAlignmentSegmentInfo(StartDist, HLength,
StartHeight, StartGradient, Radius, Convex)
Message("V Segment information: # StartDist=# HLength=# StartHeight=#
StartGradient=# Radius=# Convex=#", SegmentType, StartDist, HLength,
StartHeight, StartGradient, Radius, Convex)
}