Bcnc has all that, I think it does everything. What I hadn't realised is that the DXF file doesn't contain any actual cutting information - because it was generated by a program which is essentially an order generator for a commercial CNC company, I had assumed it would contain everything. But it doesn't, it's just a line drawing. I keep using fpd though because it's pretty good for what I want.
So my workflow is now, open the file in bcnc, select all the objects with the same cut either in the GUI or code editor, switch to the CAM tab, set the profile for inside/outside/line/pocket etc, which cutter to use, then set the actual cut parameters like feed rate, number of passes etc, check what it will look like (I get 3x 3d views and 3x 2d views) as you say, go back to the code editor and optimise the cutting sequence and add my tool change and any other bits I don t know about yet.
I was bamboozled at first because I could see how to set the parameters, but not how to apply them. When you know, you know. Not knowing what I should be expecting to happen didn't help.
Then I can switch to the forget-what-its-called tab, set up the machine and actually run the job. Not bad considering I didn't know any of this last week!
So my first trial run was going really well on a piece of scrap acrylic, until the computer went to sleep, had to reconnect, re-home, delete everything it had already done and run the job again. The tool change is something I'm going to need to learn to do properly though. I know what's supposed to happen but it seems a bit of a black art! Anyway I bodged around it, then found just how wrong I'd got the parameters for the cut outs. More farting around resetting, deleting, redoing...
Then I found that my cheapie Woodpecker, while in principle it's a good idea to have a spindle coupler instead of a chuck if you only ever have 1 size of shank, well in practice it's a little large. Engraving it will do, but cutting goes wrong. So I've now got a collet chuck on order from AliExpress.
Well anyway sorry for the long rant, I'm just so pleased I've got this far with it!