If you run the Station Increment Report from the Toolbox you will get station information at the increment interval specified in the dialog box.
If you have Station Equations included in the alignment you may get results that you don’t necessarily want since the data won’t be returned at even station values.
This post will show how you can modify the VBA report to print even stations. This math would also apply to .net report, some of the code would be slightly different. To edit the VBA report you will need to vbaload the project, the file is located here on a Vista OS:
C:\ProgramData\Autodesk\C3D 2010\enu\Data\Reports\vba\Report_AlignStaInc.dvb
The location for XP is similar as well as for other versions of Civil 3D. The code that needs to be changed is shown below.
The first thing that needs to be added are the variables used.
Next code is added to adjust the curStation value to output the correct station equation value to get an even station value.
The code does a Do Loop until bTest is equal to False. bTest was set to True in the code above. It then checks to see if the number of station equations is exceeded, if it is the Do Loop is exited and the code is run regularly. If there are station equations then the code proceeds and checks to see if a station equation is applied between the current station and the station interval before it. If it is, the code adjusts the current station to account for the station equation. As it goes through the Do Loop if there are not station equations in the range or if all of the ones in the range have been gone through then the Do Loop is exited by setting bTest = False. I probably could have removed the bTest check and used Exit Do instead. The code then runs through the code as normal, except now the report returns at even stations, most of the time.
I said most of the time because the Station Equation may skip an even station, in which you will get a random station before the even station.
I only tested the changes on when data set, so I may not have gotten all of the bugs and as always you should verify the report is outputting the correct values.
10 comments:
can you think of a way to find the next full station, in this case 11.00 to the first full station, then the value in the spacing would work for all other as long as it includes the last station.
I was trying the same thing in a custon vb routine where you get the start value find the remander to the next station but I was having trouble with the test finding what range to test depending on the user start station and the combobox value.
say I use 152.35 and want to test 50 ft station. next station is 200, so 47.65 is the dist to the first full station, abd the routine would pick up the 50 ft station until the end station. problem I was having was depending on the start value how could I test to find the value 200 in all cases. so is the user changed the sampling to 25 the 200 value would be 175. any ideas on how to build a test for this.
john coon
You could take the result for the oAlignment.GetStationString and parse out the + to get a number value. Using this value (Station) you could determine how far you are from the next interval station.
Diff = (Int(Station/g_staInt) * g_staInt) - Station
You'd have to check to see if the even station you want exists (a station equation may skip it).
Christopher,
Thanks, I'll give that a try. Looks like that would work with the alignment. I'll try the same approach with a user entered station value from textbox. I was trying a stand alone routine without C3D.
Questons:
Does your civil 3d vba ebook show how to create a surface from 3d polyines? that is where I'm having trouble.
Do you plan on doing a ebook with .net and civil 3D
john Coon
You can find an example that adds 3D Polylines in the Surfaces Sample code that ships with the program. The eBook contains about 90% of the Methods and Properties for Civil 3D Objects with examples of at least one way to get them to work.
No plans on .net and Civil 3D. I don't quite have enough experience with .net.
Chris, I am not good with editing vba. Can you edit the Corridor Slope Stake report to fix the Station Equation problems that you just mentioned above.
Thanks
Colton
I have the same problem with the section report corridors help
I have the same problem with the section report corridors
where is the file exist in Civi3d 2017?
it does not work!
This is really, really old. The changes should now be done in the .NET reports which would require the use of Visual Studio.
The source files is here: C:\ProgramData\Autodesk\C3D 2017\enu\Data\Reports\Net\Source
Post a Comment