In my experience of creating these surfaces it within the company, it not so much a question of drawing but rather a data modelling and calculation problem. It can be accomplished in a database connected to something like QGIS. The database would normally need to be spatially enabled such as Postgres or Oracle spatial.
The mathematics for this can get complicated especially when multiple runways are involved. There are several companies who can provide the calculations for this. Some as APIs and others as complete suites.
Adding some visuals, this was done in QGIS entirely including the analysis similar to the above workflow and loaded in Google Earth Pro later along the line for 3D visualization as a KML
All the areas were drawn to specification using shapefiles (other formats may also be used like geopackage), the obstacles loaded up as CSV and analysis done spatially. I think the complicated part people have issues with is getting the shortest distance from the obstacle to the surfaces but usually GIS tools have options to get this quickly without manual calculations, it does require a bit of GIS knowledge and that's why many prefer to buy specialized tools that do all the handwork for you but of course it method has its pro and cons.
So just to show it is entirely possible to do it