Constructor.
Namespace: Autodesk.Civil.DatabaseServices
Assembly: AeccDbMgd (in AeccDbMgd.dll) Version: 13.8.0.280
Syntax
C#
public CorridorTransitionSet( string setName, BaselineRegion baselineRegion, ObjectId subassemblyId, CorridorTransitionNameType nameType )
VB
Public Sub New ( setName As String, baselineRegion As BaselineRegion, subassemblyId As ObjectId, nameType As CorridorTransitionNameType )
C++
public: CorridorTransitionSet( String^ setName, BaselineRegion^ baselineRegion, ObjectId subassemblyId, CorridorTransitionNameType nameType )
Parameters
- setName String
- Transtion set name.
- baselineRegion BaselineRegion
- Baseline region that seed applied subassembly is on.
- subassemblyId ObjectId
- Seed applied subassembly's id. Seed applied subassembly is a start point to find other contiguous subassemblies.
- nameType CorridorTransitionNameType
- Name type to define a rule of how to find contiguous subassemblies.
Exceptions
Exception | Condition |
---|---|
ArgumentException |
Thrown when input parameter:
|
Example
1// Test command SetBaselineTransitions by using tutorial file "Corridor-5c.dwg". 2[CommandMethod(ReferenceGuideSample.GoupId, "SetBaselineTransitions", CommandFlags.Modal)] 3public void SetBaselineTransitions() 4{ 5 using (Transaction tr = startTransaction()) 6 { 7 ObjectId corridorId = _civildoc.CorridorCollection["Corridor - (1)"]; 8 Corridor corridor = corridorId.GetObject(OpenMode.ForWrite) as Corridor; 9 Baseline baseline = corridor.Baselines["Baseline (1)"]; 10 11 List<CorridorTransitionSet> transitionSets = new List<CorridorTransitionSet>(); 12 // Create transition set by seed subassembly id. 13 BaselineRegion seedBaselineRegion = baseline.BaselineRegions["Corridor Region (1)"]; 14 ObjectId seedSA = getAppliedSubassemblyIdAtStation(seedBaselineRegion, 300, "ShoulderExtendSubbase - (Left)"); 15 CorridorTransitionSet transitionSet = new CorridorTransitionSet("Test Set 1", seedBaselineRegion, seedSA, CorridorTransitionNameType.SubassemblyName); 16 CorridorTransition tranData = transitionSet.AddTransition("ShoulderWidth"); 17 setTransitionValues(tranData, 318.46, 20, 390.15, 100, CorridorTransitionType.Linear); 18 tranData = transitionSet.AddTransition(); 19 setTransitionValues(tranData, 390.15, 100, 500, 50, CorridorTransitionType.CubicIn); 20 transitionSets.Add(transitionSet); 21 22 // Create transition set by subassembly name and side. 23 seedBaselineRegion = baseline.BaselineRegions["Corridor Region (1)"]; 24 transitionSet = new CorridorTransitionSet("Test Set 2", seedBaselineRegion, "Subassembly.LaneSuperelevationAOR", CorridorTransitionNameType.ClassName, SubassemblySideType.Right); 25 tranData = transitionSet.AddTransition("Width"); 26 setTransitionValues(tranData, 590.22, 30.2, 792.56, 66, CorridorTransitionType.BayTaper); 27 transitionSets.Add(transitionSet); 28 29 // Create transition set by subassembly name. 30 seedBaselineRegion = baseline.BaselineRegions["Corridor Region (1)"]; 31 transitionSet = new CorridorTransitionSet("Test Set 3", seedBaselineRegion, "Subassembly.MedianDepressedShoulderExt", CorridorTransitionNameType.ClassName); 32 tranData = transitionSet.AddTransition("LeftMedianWidth"); 33 setTransitionValues(tranData, 83.2, 50, 150.20, 50, CorridorTransitionType.Linear); 34 transitionSets.Add(transitionSet); 35 36 baseline.SetTransitions(transitionSets); 37 tr.Commit(); 38 } 39} 40 41private void setTransitionValues(CorridorTransition tranData, double startStation, Object startValue, double endStation, Object endValue, CorridorTransitionType eTransitionType) 42{ 43 tranData.StartStation = startStation; 44 tranData.StartValue = startValue; 45 tranData.EndStation = endStation; 46 tranData.EndValue = endValue; 47 tranData.TransitionType = eTransitionType; 48} 49 50private ObjectId getAppliedSubassemblyIdAtStation(BaselineRegion baselineRegion, double dStation, string saName) 51{ 52 AppliedAssembly assembly = baselineRegion.AppliedAssemblies.GetItemAt(dStation); 53 AppliedSubassemblyCollection asacollection = assembly.GetAppliedSubassemblies(); 54 foreach (AppliedSubassembly appliedSA in asacollection) 55 { 56 ObjectId oidSA = appliedSA.SubassemblyId; 57 Subassembly sa = oidSA.GetObject(OpenMode.ForRead) as Subassembly; 58 if (sa.Name == saName) 59 { 60 return appliedSA.SubassemblyId; 61 } 62 } 63 return ObjectId.Null; 64}