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) }