Following the above tutorial by @User, I find xschem quite useful. Is it possible to write a callback function to be run when users update a schematic symbol parameter or when netlist for simulation is generated. According to my limited understanding, Tcl scripts seems to be supported by xschem. User experience on xschem may be comparable to commercial tools, if possible. One simple example for paramater callback is calculating and showing the real capacitance or resistance from W and L. Or calculate and update needed W or L from the desired capacitance or resistance value.