Parametric Railway Turnout

Parametric Railway Turnout

Description

After having produced the [parametric railway straight rails and curved rails](https://www.techmonkeybusiness.com/articles/Parametric_Railway_Tracks.html), something nagged at the back of my mind for quite some time. It was the need to produce a set of points or turnouts. I kept putting it off with the promise that maybe I’d just model them directly and that would do. I knew it would be tricky. It was. The tool presented here is **not** an all-singing-all-dancing turnout, but rather the 90% of the way there model. The remaining 10% you will have to do with a modelling package or CAD program. The reason for doing it this way is that there are far too many options to try to come up with a truly parametric solution for the pivots and methods of controling the switches. The OpenSCAD model presented here produces a left hand turnout. If you need a right hand turnout, all you need to do is create a mirror version of the one produced with this tool using your favourite modelling package or with your slicing software. In order to produce the complete model you will need to render the turnout rails and sleepers and then render again to produce just the switch arms. There is a variable to select which part you want to render (**SwitchBodyYN**). # The Variables The following describes the function of the variables used. The defaults are set to produce a turnout compatible with my own rail standard. Had I known earlier, I would have made it compatible with the [Open Source Railway System](https://www.thingiverse.com/thing:2146361). I have used the same variable names as in my other rail models. Refer to the diagrams in the gallery on this thingiverse page to see diagrams explaining which variable does what. Also the .pdf has the same diagrams. ## Basic Dimensions * **RailHt**: This is the height of the track above the sleeper. * **TrakGage**: The gauge of the railway as measured to the inside surface of the rail. The default is 36mm but the Open Source Railways System standard gauge is 32mm. * **SlprLn**: Length of the sleeper. The default is 55mm but the Open Source Railway System is 50mm. * **SlprHt**: Height of the sleeper. The default is 3mm. * **NoSlprs**: Number of Sleepers in the straight section of the track from where the true turnout starts at the tip of the switch. * **SlprWd**: The width of the sleepers. The default is 10mm for both systems. * **TrakLength1**: The length of straight track leading into the turnout. * **TrakLength2**: The length of the straight section of track from the tips of the switches. ## Curved Section Dimensions * **CurveRad**: Radius of the curved section centreline * **CurveSegAng**: The angle the curved section covers ## Switch and Frog Details Please forgive me the terms I’m using. Hopefully I’ve named the various parts correctly. The following are probably better demonstrated than explained. * **SwitchPLength**: This is the length of the switch arms. There are some tradeoffs here so that there is enough room for the wheel flanges to get through. As you can see from the demonstrattion above, the 40mm length is too short and there is nowhere for the wheel flanges to go through. The longer 120mm long switch arms will work well but may not be a realistic size and may cause problems for fitting in the pivots. * **FrogCurveAng**: The angle around which the frog and guides run along the curved section. * **FrogStrtLen**: The total length of the frog and guide in the straight section. * **FrogFactor**: This is the control for the gap between the rail and the guides. It is expressed as a multiplier of the rail width. The bigger the FrogFactor, the wider the gap. However if you go too wide then things start going a bit weird and will require some cleanup either manually post-printing or with a modelling package prior to printing. ## Options The following variables are used to set rendering options. * **SleepersYN**: This is a flag for rendering the sleepers or not. 1 = Yes, 0 = No. * **TrkTyp**: Track end style. 1 = The track joins are between the sleepers. 2 = track joins on the sleepers. It gets a bit problematic with the curved section trying to match everything else. * **SwitchBodyYN**: This is a flag to render the turnout body or just the switch points. 1 = Render the turnout rails and sleepers. 2 = rendering the switch arms only.

Statistics

Likes

0

Downloads

4