CurveStructureCreator is provided by T.K.Soft / Takahiro Karino. Copyright (C) 2003 by T.K.Soft / Takahiro Karino all rights reserved. http://tksoft.cool.ne.jp/
Based on .ini file templates provided by http://www.geocities.jp/fakeviper1435/
Concept : generate Windows batch file (.bat) using code generated by Microsoft Excel (any version).

File to download : csc.7z (1050kb) OR csc.zip (1197kb)
original version can be download here ??? (without template from fakeviper)
Please unzip this file first to your BVE/OpenBVE object data folder. Free zip utilities : 7zip (open source) GNU license.
Free text editor : Notepad++ (open source) GNU license.

Japanese technical standard for maximum cant value : 105 mm for normal railway, 200 mm for shinkansen (reference: Technical Standard for Japanese Railway by Railway Bureau, Ministry of Land, Infrastructure, Transport and Tourism)
quote :


complete table:








Done .. (^_^)
GB Maps
Based on .ini file templates provided by http://www.geocities.jp/fakeviper1435/
Concept : generate Windows batch file (.bat) using code generated by Microsoft Excel (any version).

File to download : csc.7z (1050kb) OR csc.zip (1197kb)
original version can be download here ??? (without template from fakeviper)
Please unzip this file first to your BVE/OpenBVE object data folder. Free zip utilities : 7zip (open source) GNU license.
Free text editor : Notepad++ (open source) GNU license.
Radius calculation
Curve radius can be calculated using the following formula
Japanese technical standard for maximum cant value : 105 mm for normal railway, 200 mm for shinkansen (reference: Technical Standard for Japanese Railway by Railway Bureau, Ministry of Land, Infrastructure, Transport and Tourism)
quote :
III-3 Related to Article 14 (Radius of curvature)for example :
A curve radius that does not impede safe car operation on a main track shall comply with the following criteria, taking the amount of cant, the operation speed and other factors into consideration.
(1) Curve radius of ordinary railways shall be as follows.
[1] Curve radius (excluding a curve incidental to a turnout, the same shall apply to [2]) of ordinary railways (excluding Shinkansen railways and railways with a gauge of 0.762m) shall not be less than 160m. And, the radius of a curve incidental to a turnout shall not be less than 100m.
[2] Curve radius of ordinary railways (limited to railways with a gauge of 0.762m) shall not be less than 100m. And, the radius of a curve incidental to a turnout shall not be less than 40m.
[3] Curve radius of Shinkansen railways shall not be less than 400m. (the radius of a curve incidental to a turnout on the line only for dead-head car trains operation shall not be less than 200m.)
(2) Curve radius of non-conventional railways shall be as follows.
[1] Curve radius of non-conventional railways (excluding trolley bus and cable railways) shall not be less than 100m. This does not apply to cases that are prohibited by topography.
[2] Curve radius of cable railways shall not be less than 300m.
[3] Curve radius of electromagnetic-induction-type railways shall not be less than 15m, as a standard. This does not apply to cases that are prohibited by topography.
(3) Notwithstanding the provisions of (1) and (2), on sections where only rolling stock having a construction that takes passing through sharp curves into consideration, the minimum curve radius may be a value corresponding to the curving performance of said rolling stock.
(4) Notwithstanding the provision of (1) above, the curve radius of ordinary railways may be a value corresponding to the curving performance of the rolling stock when the curve radius is prohibited by topography and (i) where the value calculated by the following formula is 1.2 or greater, or (ii) where the value is smaller than 1.2, but an anti-derailment guard or the like is installed.
(estimated derailment coefficient ratio) = (critical derailment coefficient)/(estimated derailment coefficient)
(5) Notwithstanding the provisions of (1) to (4) above, the minimum curve radius along the platform on railways other than those for trolley buses and cable railways shall not be less than the value shown in the following table. However, excluding the [longitudinal]end part of the platform where there are few passengers around.
Ordinary railways (excluding Shinkansen railways), non-conventional railways 400m
(300m, for sections where only rolling stock of less than 18m in length travels)Shinkansen railways 1,000m

Generate code with Microsoft Excel
File gen_railset.xls is included in csc zip file (csc.zip / csc.7z).- generate code using Excel autofill feature.

complete table:
csc | 1067Ballastini\1067Ballast1 | ||||
csc | 1067Ballastini\1067Ballast1 | 100 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 162 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 200 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 242 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 288 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 338 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 392 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 450 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 512 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 578 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 648 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 722 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 800 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 968 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 1152 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | 1352 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -100 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -162 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -200 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -242 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -288 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -338 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -392 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -450 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -512 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -578 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -648 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -722 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -800 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -968 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -1152 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast1 | -1352 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | ||||
csc | 1067Ballastini\1067Ballast2 | 100 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 162 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 200 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 242 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 288 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 338 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 392 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 450 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 512 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 578 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 648 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 722 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 800 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 968 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 1152 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | 1352 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -100 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -162 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -200 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -242 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -288 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -338 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -392 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -450 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -512 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -578 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -648 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -722 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -800 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -968 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -1152 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast2 | -1352 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | ||||
csc | 1067Ballastini\1067Ballast3 | 100 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 162 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 200 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 242 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 288 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 338 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 392 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 450 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 512 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 578 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 648 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 722 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 800 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 968 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 1152 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | 1352 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -100 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -162 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -200 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -242 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -288 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -338 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -392 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -450 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -512 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -578 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -648 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -722 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -800 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -968 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -1152 | 10 | 0 | 105 |
csc | 1067Ballastini\1067Ballast3 | -1352 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | ||||
csc | slabini\1067SlabRail1 | 100 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 162 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 200 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 242 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 288 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 338 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 392 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 450 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 512 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 578 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 648 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 722 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 800 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 968 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 1152 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | 1352 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -100 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -162 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -200 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -242 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -288 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -338 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -392 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -450 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -512 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -578 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -648 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -722 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -800 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -968 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -1152 | 10 | 0 | 105 |
csc | slabini\1067SlabRail1 | -1352 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | ||||
csc | slabini\1067SlabRail2 | 100 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 162 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 200 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 242 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 288 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 338 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 392 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 450 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 512 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 578 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 648 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 722 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 800 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 968 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 1152 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | 1352 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -100 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -162 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -200 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -242 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -288 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -338 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -392 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -450 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -512 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -578 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -648 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -722 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -800 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -968 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -1152 | 10 | 0 | 105 |
csc | slabini\1067SlabRail2 | -1352 | 10 | 0 | 105 |
Create batch file .bat
- select all text, and paste it to your text editor. ie Notepad or Notepad++ etc.

- paste to your text editor

- save file with .bat extension (any name with .bat extension). for example : 1067railgen.bat. make sure that you save in the same folder as csc.exe files or this script will not working (file not found error). for example:

Running batch file .bat
- go the csc.exe program folder, where you save the .bat batch file.

- double click the file to excute it.
- please wait until the batch file finish executed.

- the generated .csv files is save in the template folder. in this example : 1067Ballastini and slabini folders.

Viewing Object file
- you can view the .csv object file with BVE Structure Viewer or OpenBVE ObjectViewer.


Done .. (^_^)
GB Maps
so this creates smooth curves when you follow all the steps?
ReplyDeleteto make the curve visually smooth, you can set cant value equal to zero. e.g.
Deletecsc 1067Ballastini\1067Ballast1 -800 10 0 0
csc 1435Ballastini\1435Ballast1 -1000 10 0 0
This is the most wonderful article and probably the easiest way to create rail and curve with CurveStructureCreator. I used a lot of other methods before, some of them had the highest rate at rewardedessays.com but were ineffective in my situation. That's why I will try this one.
ReplyDelete