Hi.
I would like to check 3 properties about profileEntity;
MinimumKValueHSD (HSD= headlight sight distance)
MinimumKValuePSD (PSD= Passing sight distance)
MinimumKValueSSD (SSD= Stopping sight distance).
All of them are "read" properties.
I don´t know where I can check them because I´m trying to do in ProfileEntity cast and I can´t do it:
I get an exception as: "InvalidOperationException"
"Cannot get this property according to entity´s type,constraint type or curve type".
Then, where I can get them?
Other question is:
In which part or command in Civil 3D, Civil 3D application use them?
Are they used in "Visibility check-check sight distance tool"?
Can we check them in Civil 3D? They don´t appear in "editor geometry" from profile.
Thanks in advance.
Solved! Go to Solution.
Solved by Partha.Sarkar. Go to Solution.
ProfilePVI class has the properties:
HSD
PSD
SSD
and they are get and set.
Yes, these are part of ProfilePVI -
Thanks,
Hi Partha.
I have some wishes. XD
The first one, those properties are "set" but we can´t modify them in Civil 3D without API.
In the "editor geometry" from profile (based on VAV) don´t appear those categories.
However, I will create a form to modify them because my program calculate those distances using a datatable parameters acoording to desing speed.
But I don´t understand this:
HeadlightSightDistance (HSD)
Gets or sets the headlight sight distance of the sag parabolic curve. (why not for sag and crest?)
-PassingSightDistance (PSD)
Gets or sets the passing sight distance of the crest parabolic curve. (why not for sag and crest?)
-StoppingSightDistance (SSD)
Gets or sets the stopping sight distance of the crest parabolic curve. (why not for sag and crest?)
What is exactly "HeadlightSightDistance"? distance of lights of car?
With those distances, Civil 3D calculate MinimumKValueHSD,MinimumValuePSD and MinimumValueSSD.
using (high eyes and high target) in Visibility check-check sight distance tool.
However, in Spain we use 2 parameters more.
-highlight tall (meters)
-Angle of lights.
To use them in sag parabolic by night. (Adverse conditions)
What are the expresions that use Civil 3D to calculate MinimumKValueHSD,MinimumValuePSD and MinimumValueSSD?
Thanks.
Hi Partha.
I got that Exception because it depended of CurveType (if it is Crest or Seg)
HeadlightSightDistance (HSD)
Gets or sets the headlight sight distance of the sag parabolic curve. (why not for sag and crest?)
-PassingSightDistance (PSD)
Gets or sets the passing sight distance of the crest parabolic curve. (why not for sag and crest?)
-StoppingSightDistance (SSD)
Gets or sets the stopping sight distance of the crest parabolic curve. (why not for sag and crest?)
For example:
For "MinimumKValueHSD" I will get an exception with crest parabolic curve.
For "MinimumKValuePSD" I will get an exception with sag parabolic curve.
And
For "MinimumKValueSSD" I will get an exeption with sag parabolic curve.
Then, it depends of (crest or seg) parabolic curve.
I do this and works fine:
case ProfileEntityType.ParabolaSymmetric: ProfileParabolaSymmetric parábolaSym = (ProfileParabolaSymmetric)RasantEnt; Entidad.HighLowPointElevation = parábolaSym.HighLowPointElevation; Entidad.HighLowPointStation = parábolaSym.HighLowPointStation; Entidad.KV = parábolaSym.K; Entidad.CurveType = parábolaSym.CurveType; // SI ES CÓNCAVA O CONVEXA. Entidad.A = Math.Abs(parábolaSym.GradeChange); Entidad.Pendiente = parábolaSym.GradeIn; // pendiente de entrada en tanto por uno //son de sólo lectura. if (parábolaSym.CurveType == VerticalCurveType.Sag) { //sólo válido para sag(cóncavo) dará error entonces en crest(convexos). Entidad.MinimumKValueHSD = functions.funciones_genéricas.stringdecimales(RasantEnt.MinimumKValueHSD, variables_globales.precisio[0].decimalesKV); } else { Entidad.MinimumKValueHSD = "dato inválido"; } if (parábolaSym.CurveType == VerticalCurveType.Crest) { //sólo válido para crest(convexo) dará error en sag(cóncavo). Entidad.MinimumKValuePSD = functions.funciones_genéricas.stringdecimales(RasantEnt.MinimumKValuePSD, variables_globales.precisio[0].decimalesKV); //sólo válido para crest(convexo) dará error en sag(cóncavo). Entidad.MinimumKValueSSD = functions.funciones_genéricas.stringdecimales(RasantEnt.MinimumKValueSSD, variables_globales.precisio[0].decimalesKV); } else { Entidad.MinimumKValuePSD ="dato inválido"; Entidad.MinimumKValueSSD = "dato inválido"; } break;
However, if there is a value, it always returns -1.
I have tried with different KV values with seg and crest parabolic curve.
What´s the meaning of "-1"?
I will try to modify distances in PVIs instance to check if KVminimum values change also.
Hi,
These are Curve type dependent.
Please check this link and expand the examples / diagram section to see a better explanation of this parameters -
Thanks,
Thanks Partha.
In Spain doesn´t exist KValue concept. (using a speed table)
We calculate for example, MinimumKValueSSD (distancia de parada) using the following expresion:
static double CalculaKv_Dp(double Dp, Autodesk.Civil.DatabaseServices.VerticalCurveType TipoAcuerdo) { double Kv = 0; double H1 = variables_globales.H1; //altura de la vista del conductor (eyes height) double H2 = variables_globales.H2; //altura a la que se encuentra el objeto sobre la calzada (target height) double HF = variables_globales.HF; //altura de los faros. double Alpharad = functions.funciones_genéricas.sexagesimal_radian(variables_globales.Angulo); // expresado en radianes. if (TipoAcuerdo== VerticalCurveType.Sag) // en panza, "U" CÓNCAVO para tener en cuenta la nocturnidad { Kv = Math.Pow(Dp, 2) / (2 * (HF - H2 + Dp * Math.Tan(Alpharad))); } if (TipoAcuerdo == VerticalCurveType.Crest) // CONVEXO { Kv = Math.Pow(Dp, 2) / (2 * Math.Pow(Math.Sqrt(H1) + Math.Sqrt(H2), 2)); } return Kv; }
H1= high eyes, H2=high target and HF= headlights tall. (that parameters are in the Check Visibility tool).
and Dp(Stopping sight distance) is ;
static double CalculaDp(double V, double Fl, double i) //Dp es distancia de parada (el parámetro i se refiere a inclinación de la rasante). { double Tp = variables_globales.Tp; //tiempo parada double Dp = (V * Tp / 3.6) + (Math.Pow(V, 2) / (254 * (Fl + i))); return Dp; }
Tp= time of stop (usually 2 seconds), V=(speed project) , i=gradeIn, Fl =longitudinal coefficient of friction wheel-pavement (we get it from speed table).
As you see, we calculate this either crest or sag type paraobla.
But, it seems that in USA don´t use SSD to calculate MinimumKValueSSD.
I tyried to change the SSD value from my SDD (Dp) value but I couldn´t do it although SDD property is set. And I could change PSD only with values nearest current values.
I have found out some things:
The only XML file that contains "Profile" category is: _Autodesk Civil 3D Metric Roadway Design Standards.xml
The rest of the files, including Spain XML file, don´t contains "Profile" category, so the results of MinimumKValueHSD,MinimumKValueSSD or MinimumKValuePSD, depending of entity type(crest or sag) always are "-1".
Then, If we don´t use XML design criteria file or it doesn´t contain "Profile" category, the results are -1.
Moreover, in Editor Geometry (VAV) the last columns are: