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.