Making the Online Botanic Gardens Station Model (Part 1: The Model)

One of my “fun projects” this year has been to make an interactive model of the abandoned Botanic Gardens Station in Glasgow. Although I’ve dabbled in 3D modelling before, including making a documentary video about Scotland Street Tunnel last year, the Botanics project turned out to be by far the most complicated 3D thing I’ve made, as well as by far the most complicated bit of web coding to make a viewer for it. It’s been a lot of fun as well as a hell of a learning experience, so I thought I’d write it up here in case anyone is interested.

The finished model, viewed in Chrome for Linux

The finished model, viewed in Chrome for Linux

In Part 1, I’ll talk about making the actual 3D model. Part 2 will cover the viewer code that actually makes it possible to explore the model from the comfort of your web browser.

I made the station model using Blender, a very capable free, open source 3D package. While various software and hardware now exists that allows you to generate a 3D model automatically from photographs or video, I didn’t have access to or knowledge of it, and I’m not sure how well it would work in a confined and oddly shaped space like the Botanic Gardens Station anyway. So I did it the old fashioned way instead, using the photos I took when I explored the station as a reference and crafting the 3D model to match using Blender’s extensive modelling tools.

The whole model in Blender

The whole model in Blender

I tried to keep the dimensions as close to reality as I could, using one grid square in Blender per metre, referring to the published sizes of the station and tunnels where possible, and estimating the scale of everything else as best I could.

It was actually surprisingly easy and quick to throw together a rough model of the station itself – most of the elements (the platforms, stairs, walls, roof, etc.) are made up of fairly simple geometric shapes and I had the basic structure there within a couple of hours. But as with a lot of these things, the devil is in the details and I spent countless more hours refining it and adding the trickier bits.

The beginnings of the station model

The beginnings of the station model

Because there’s quite a lot of repetition and symmetry in the station design, I was able to make use of some of Blender’s modifiers to massively simplify the task. The mirror modifier can beĀ used for items that are symmetrical, allowing you to model only one side of something and have the mirror image of it magically appear for the other side. (In fact, apart from the roof the station is almost completely symmetrical, which saved me a lot of modelling time and effort). The array modifier is even more powerful: it can replicate a single model any number of times in any direction, which allowed me to model a single short section of roof or tunnel or wall and then have it stretch away into the distance with just a few clicks.

Tunnel, modelled with array modifier

Tunnel, modelled with array modifier

Finally, the curve modifier was very valuable. The entire station (and much of the surrounding tunnel) is built on a slight curve, which would be a nightmare to model directly. But thanks to the curve modifier, I was able to model the station and tunnels as if they were completely straight, and then add the curve as a final step, which was much easier. (I still don’t find the curve modifier very intuitive; it took quite a lot of playing around and reading tutorials online to get the effect I wanted, and even now I don’t fully understand how I did it. But the important thing is, it works!).

Tunnel + curve modifier = curving tunnel

Tunnel + curve modifier = curving tunnel

Texturing the model (that is, applying the images that are “pasted onto” the 3D surfaces to add details and make them look more realistic) turned out to be at least as tricky as getting the actual geometry right. The textures had been a major weak point of my Scotland Street model and I wanted much better ones for the Botanics. Eventually I discovered the great texture resource at, which had high quality images for almost everything I needed, and under a license that allowed me to do what I wanted with them – this is where most of the textures for the model came from. The remainder are either hand drawn (the graffiti), extracted from my photos (the tunnel portal exteriors and the calcite), or generated by a program I wrote a while ago when I was experimenting with Perlin Noise (some of the rusted metal).

The fiddly part was assigning texture co-ordinates to all the vertices in the model. I quickly discovered that it would have been much easier to do this as I went along, rather than completing all the geometry first and then going back to add textures later on (especially where I’d “applied” array modifiers, meaning that I now had to assign texture co-ordinates individually for each copy of the geometry instead of just doing it once). Lesson learned for next time. At first I found this stage of the process really difficult, but by the time I’d textured most of the model I was getting a much better feel for how it should be done.

The model in Blender, with textures applied

The model in Blender, with textures applied

(The trees and bushes weren’t in fact modelled using Blender… more about them next time!).


11 thoughts on “Making the Online Botanic Gardens Station Model (Part 1: The Model)

  1. Pingback: Making the Online Botanic Gardens Station Model (Part 2: The Viewer) | GCat's World of Stuff

  2. Pingback: My Bucket List | GCat's World of Stuff

  3. Hi!

    I’m absolutely amazed by the places you are exploring and fascinated by your 3D model!

    I’m a BA student at Glasgow School of Art and doing a project about this tunnel, i would love to get in touch with you and ask you a couple of questions. I hope that is possible cuz will mean the world to me!

  4. Hello James,

    I am a third year BA Interior Architecture student at Leeds Beckett University and am re-designing and re-purposing the Botanic Gardens underground station for my final major project this year. Your interactive model of the station is incredible and have found it so useful to use for my initial plans for the space.

    I am due to visit the station (or try to) next weekend but fear that I will not be able to gain access to take measurements of the station. I was wondering whether you had measurements of the space, or better, architecturally drawn up plans of the station that you used to draw up the interactive model. I’m not sure whether you would be willing to pass these on to me but it would be greatly appreciated if you could pass on any measurements you have of the station.

    Kind regards,
    Jessica Lintern

    student email:

  5. Hello James,
    We’re trwo architecture students from Rome working on our graduation project here in Glasgow. We’ve been to the Botanic Gardens to view te stations and tunnel but we couldn’t get in. We have some material from the National Records of Scotland but we still don’t have enough measurements. Can we get in touch with you for a few questions?

    Best regards

  6. Hello James,

    Again similarly to the above comments, I am a masters student at the University of Strathclyde and was using the tunnel as the site for a joint thesis project.

    The information you provided has been really helpful especially since being unable to gain access despite a few tries!

    I was wondering if you would be willing to share any other information regarding dimensions in order for me to fully draw up the tunnel. Any advice would be really appreciated.

    Kind regards,


  7. Hi James,

    As is the theme with all these messages, I’m an interior architecture student at Dundee Uni doing my self-lead project on the Botanic Garden Railway Station. I’ve been trying to get plans and access to the site but to no avail. Would it be possible to get some of the dimensions you used for this model? Your model is incredibly in-depth and any information would greatly help out with the project!

    Thank you,

Leave a Reply to Rebecca Brock and Claudia Belliscioni Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.