These three ideas are more theoretical. You could simply replace OSCAD from Plan B with FreeCad, Blender or USD. I have only rudimentarily dealt with the programs. The NURBS support in Freecad and Blender is completely unclear to me. Even googling hardly helps. Also, there is usually only talk of NURBS curves, and to what extent you need special additional software for this is also unclear.
For FreeCad there are e.g. python modules for writing DXF or FCStd. With this it should be possible to generate the corresponding polyhedra.
From the description for Blender i can't figure it out at all. Apparently, the programmatic generation of a file is not exactly easy. It is then always recommended to rather write a python plugin. That's where I see the following problems:
i haven't found any understandable tutorial for writing a blender plugin until now. My impression was that additional functions have to be called all the time in order to satisfy the framework.
i don't want to write a separate plugin for each parameter set. So you would need an additional intermediate format, which is converted into a concrete model in the plugin.
One could (theoretically) also talk about USD (Universal Scene Desription). After all, there are also python modules to generate USD files. USD also seems to know at least NURBS curves, but as far as surfaces are concerned, it becomes more unclear.
If anyone has more detailed information on these topics, I would appreciate a link!