These are different approaches which cannot be combined.
In EagleCAD, you can make circuits without the GUI, just typing commands on the console, you can make circuits with the GUI, and you can also write ULP scripts to parametrize certain actions, like BOM? Labels adjustuments? or even making parametric components, like copper pcb resistors? copper pcb spirals? copper pcb flat motor inductors?, you write the script, job done; and not only you can use the script in graphic mode, but you can also define a button in your 3D mouse to call the right script on demand!
Yesterday I wrote a script to created the stuff I am talking about. And in 1 second it made a copper pcb resistor, a wire of 20000
meters mm of length twisted several times to stay in 20x60mm of area. Its attributes are all parameters filled in a GUI that I wrote inside the script itself.
If you do it by hands, designing that long copper pcb resistor will take more time, and if you do a mistake with some of the parameters, or if you change your mind about its properties (too low resistance? too high resistance? too big area?), you have to delete an go back to the beginning of the whole process.
ULP also allows you to operate with the routing algorithm, and this means you can implement your own routing strategy for certain weird components.
Maya, Blender, (Pro/E) Wildifire do the same but for the mechanical stuff.
I don't know what KiCad offers.
edit:
typo