Gets the ObjectId for the referenced Profile object.
Namespace: Autodesk.Civil.DatabaseServices
Assembly: AeccDbMgd (in AeccDbMgd.dll) Version: 13.8.0.280
Syntax
C#
public override ObjectId ProfileId { get; }
VB
Public Overrides ReadOnly Property ProfileId As ObjectId Get
C++
public: virtual property ObjectId ProfileId { ObjectId get () override; }
Property Value
ObjectIdRemarks
This property returns an object id pointing to the referenced Profile object.
The referenced Profile object must be also referenced by the referenced Alignment object.
But if it is a feature line based corridor, it will return NULL, meanwhile throws an exception whose description is "This operation on feature line based offset baseline is invalid".
Example
The following example uses a Baseline object, but it works the same for the ProfileId property of OffsetBaseline1private void WriteBaselineInfo(Baseline baseline) 2{ 3 Alignment baselineAlignment = baseline.AlignmentId.GetObject(OpenMode.ForRead) as Alignment; 4 Profile baselineProfile = baseline.ProfileId.GetObject(OpenMode.ForRead) as Profile; 5 6 // BaselineData is a sample helper class used to convert all the Baseline data 7 // to strings and write them. 8 // 9 BaselineData data = new BaselineData() 10 { 11 Name = baseline.Name, 12 StartStation = baseline.StartStation.ToString(), 13 EndStation = baseline.EndStation.ToString(), 14 AlignmentName = baselineAlignment.Name, 15 ProfileName = baselineProfile.Name, 16 BaselineType = baseline.BaselineType.ToString(), 17 // 'baseline.IsProcessed' has been deprecated. Use 'baseline.NeedsProcessing' instead. 18 NeedsProcessing = baseline.NeedsProcessing.ToString() 19 }; 20 21 _writer.WriteBaselineInfo(data); 22 23 // Throws ArgumentException because start station cannot be beyond end station. 24 // baseline.StartStation = baseline.EndStation + 1.0; 25 26 // Throws ArgumentException because end station cannot be before start station. 27 // baseline.EndStation = baseline.StartStation - 1.0; 28 29 // Throws ArgumentNullException because name cannot be null. 30 // baseline.Name = null; 31 32 // Throws ArgumentException because name cannot be empty after trimming leading and trailing blank characters. 33 // baseline.Name = " \n\r\t "; 34 35 foreach (BaselineRegion region in baseline.BaselineRegions) 36 { 37 WriteBaselineRegion(region); 38 } 39 40 _writer.CloseBaselineInfo(); 41}